Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Zero Knowledge Proof Semaphore contract #111

Open
iam-dev opened this issue Jun 10, 2022 · 0 comments
Open

Adding Zero Knowledge Proof Semaphore contract #111

iam-dev opened this issue Jun 10, 2022 · 0 comments

Comments

@iam-dev
Copy link

iam-dev commented Jun 10, 2022

What is Semaphore:
The privacy in Semaphore is created by introducing a larger set of identities called “identity commitments,” which are hashes of a secret string, and comparable to a traditional public key. This set is represented as a Merkle tree in order to allow anyone in the set to efficiently prove membership. However, because this Merkle proof would leak an individual member’s identity, the proof needs to be verified in zero knowledge. This zero knowledge proof (ZKP) can then be transmitted to prove membership without leaking the identity, and be verified by anyone.

Semaphore fundamentally has two main parts to it: a set of identities and a mechanism to prove membership. Users can create a zero knowledge proof that simultaneously proves three important claims:

Membership “I am a member of the set.”
One-shot “I have not made a claim before in this context.”
Signal “I want to say this ....”

Semaphore docs
Example code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant