Skip to content

A privacy gadget for creating anonymous proof of membership on Ethereum.

License

Notifications You must be signed in to change notification settings

0xorbus/semaphore

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semaphore

A privacy gadget for creating anonymous proof of membership on Ethereum.

Github license GitHub Workflow docs GitHub Workflow test Coveralls Linter eslint Code style prettier

Semaphore is a zero-knowledge gadget which allows Ethereum users to prove their membership of a set without revealing their original identity. At the same time, it allows users to signal their endorsement of an arbitrary string. It is designed to be a simple and generic privacy layer for Ethereum DApps. Use cases include private voting, whistleblowing, mixers, and anonymous authentication.

The core of the Semaphore protocol is in the circuit logic. However Semaphore also provides Solidity contracts and JavaScript libraries (i.e. @zk-kit/identity and @zk-kit/protocols) to make the steps for offchain proof creation and onchain verification easier. To learn more about Semaphore visit https://semaphore.appliedzkp.org.

⚠️ Semaphore V2 has not yet been audited. Please do not use it in production. You can find Semaphore V1 on version/1.0.0.

Deployed verifiers

The following is a list of our deployed onchain verifiers. Each Verifier.sol contract can be used with a binary tree of a certain depth. If depth = 20 the tree can have maximum 2^20 leaves (a group of 1048576 members).

Depth Kovan Arbitrum One
20 0x066c...9c4C

About

A privacy gadget for creating anonymous proof of membership on Ethereum.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Solidity 56.2%
  • TypeScript 43.7%
  • Shell 0.1%