task text
### Description
Semaphore is a zero-knowledge protocol
that allows users to prove membership in a group without revealing their identity.
This enables anonymous messaging, voting, and other privacy-preserving applications.
In this task, we aim to evaluate whether replacing the current zero-knowledge proof system makes sense.
To begin, we will focus on two areas of research:
-
Compare the light-poseidon library
with our current Poseidon hash implementation
- Verify whether the parameters used are the same
- Prepare performance benchmarks
-
Evaluate the efficiency of the lean-imt Merkle tree
versus our current Merkle tree implementation
- Focus on tree initialization, leaf insertion, proof generation, and proof verification
-
Compare the zero-knowledge proof systems themselves
- Once we understand the relative performance of Poseidon and Merkle tree implementations,
evaluate the zk-proof construction step
- Assess the performance and complexity of generating and verifying proofs
using the current system versus potential alternatives
For context, see our previous investigation into Semaphore usage in Zerokit:
Semaphore README in Zerokit branch
Deliverables
Submit either a pull request or a comment on this issue
in the Zerokit repository that includes:
- Benchmark results for both the Poseidon hash and the Merkle tree implementations
- A summary of findings, including whether it makes sense to proceed
with evaluating alternative zk-proof systems based on the current efficiency data
Benchmark report can be found as a comment in issue #17
benchmarks can be found at #305 (cargo bench --bench poseidon_benchmark) and #308 (cargo bench --bench imt_benchy)
Roadmap Reference
task text
### DescriptionSemaphore is a zero-knowledge protocol
that allows users to prove membership in a group without revealing their identity.
This enables anonymous messaging, voting, and other privacy-preserving applications.
In this task, we aim to evaluate whether replacing the current zero-knowledge proof system makes sense.
To begin, we will focus on two areas of research:
Compare the light-poseidon library
with our current Poseidon hash implementation
Evaluate the efficiency of the lean-imt Merkle tree
versus our current Merkle tree implementation
Compare the zero-knowledge proof systems themselves
evaluate the zk-proof construction step
using the current system versus potential alternatives
For context, see our previous investigation into Semaphore usage in Zerokit:
Semaphore README in Zerokit branch
Deliverables
Submit either a pull request or a comment on this issue
in the Zerokit repository that includes:
with evaluating alternative zk-proof systems based on the current efficiency data
Benchmark report can be found as a comment in issue #17
benchmarks can be found at #305 (
cargo bench --bench poseidon_benchmark) and #308 (cargo bench --bench imt_benchy)