HarryR / ethsnarks

A toolkit for viable zk-SNARKS on Ethereum, Web, Mobile and Desktop
GNU Lesser General Public License v3.0
240 stars 57 forks source link

New component ideas - how can zkSNARKs benefit projects and companies? #11

Open HarryR opened 5 years ago

HarryR commented 5 years ago

We are searching for ideas where a black box of anonymity could fundamentally improve an industry or enable an entirely new one. If you have any insight we would love a coherent description of how zkSNARKS, or anonymity in general, could be combined with the blockchain.

For example, zkSNARKS could be used for:

But, are we thinking 'inside the box' here?

gitcoinbot commented 5 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 25.0 DAI (25.0 USD @ $1.0/DAI) attached to it.

vs77bb commented 5 years ago

Note: This is a cooperative bounty. The first four meaningful ideas / contributions, as determined by @HarryR, will be paid out 25 DAI each for ideas which help conceptualize how ZK-Snarks will be used in real dApps, projects, and companies.

pinkiebell commented 5 years ago

@HarryR A public verifiable supply chain. With information or conditions which must be me private to the public but verifiable to the public and the on-chain contract. If you get the gist of the idea and like it, contact me at sprua [at] pm.me . I have that in my pipeline and searching for support 👍

drewstone commented 5 years ago

Anonymous credential issuance along the lines of https://github.com/asonnino/coconut. The paper of their protocol is https://arxiv.org/pdf/1802.07344.pdf.

I'm thinking also of potential uses of incorporating group signature schemes and cryptoeconomics to a point where bad behavior can be exposed by the group leader. Here's an interesting paper I found that uses LowMC as the cipher: https://eprint.iacr.org/2018/261.pdf (maybe it can be adapted with MiMC).

gitcoinbot commented 5 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 11 months, 2 weeks from now. Please review their action plans below:

  1. pinkiebell has been approved to start work.

    Already posted a comment on the issue. Ha!

Learn more on the Gitcoin Issue Details page.

  1. bartleyg has applied to start work _(Funders only: approve worker | reject worker)_.

    I'll give you several use cases for ZkSNARKs in one scenario alone and you can take your pick of what makes sense.

Say Bob goes to the doctor and is prescribed a medication that he needs. The doctor writes a prescription for Bob in a ZkSNARK-like contract system. The prescription can be represented as a token that has specific properties. The prescription is authenticated by the specific doctor for the specific patient Bob to fill a quantity and dose of a drug for a designated period. Prescriptions are non-transferrable so Bob cannot transfer the prescription to his friend Alice to fill for herself. However the prescription is transferrable between pharmacies and doctors.

Bob is given the prescription by the doctor and he wants his prescription filled at some discount online drugstore because they deliver fast and are more affordable than his local pharmacy. Bob transfers the prescription to the online store. This particular prescription, however, is a controlled substance and requires verification of Bob's identity. Bob submits his ZkSNARK-style identity token to the ZkSNARK-style online pharmacy contract which authenticates that he is the correct Bob that matches the one on the prescription token.

Cindy works at the discount online pharmacy and likes to look up people's facebook profile when people like Bob order prescriptions because she is weird and has nothing better to do. But because Bob used his ZkSNARK-style identity token, she doesn't even know Bob's name but can still verify him against the prescription's control.

But Cindy needs to know how much to charge Bob for the prescription, so Bob submits his ZkSNARK-style health insurance token, which keeps Bob's information private but has properties for this category of prescription that lets Cindy know how much to charge Bob to fulfill the prescription and ship the medication to him.

There are plenty more examples in the medical industry alone with HIPAA and treatments where privacy, authentication, accuracy, and billing are all paramount.

Learn more on the Gitcoin Issue Details page.

bartleyg commented 5 years ago

See my ideas in the gitcoinbot submission above. Thanks

HarryR commented 5 years ago

Hi @bartleyg @pinkiebell @drewstone

You need to create an issue for each of these, so discussion and implementation details etc. can happen for each one individually, after that I'm happy to approve them.

These are good ideas though, and I'm eager to see how we can make zkSNARKS work for a wider range of use case.

Please create issues with the following format:

Issue Template

Thanks - @HarryR

HarryR commented 5 years ago

@vs77bb can you confirm bartleyg for #30 please?

I will reach out to @pinkiebell via e-mail for some more details.

gitcoinbot commented 5 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 25.0 DAI (25.0 USD @ $1.0/DAI) has been submitted by:

  1. @bartleyg

@vs77bb please take a look at the submitted work:


bartleyg commented 5 years ago

@vs77bb when can I expect payout for this bounty? Thanks

vs77bb commented 5 years ago

@bartleyg Just paid out, great submission!

gitcoinbot commented 5 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 25.0 DAI (25.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @bartleyg.