semaphore-protocol / semaphore

A zero-knowledge protocol for anonymous interactions.
https://semaphore.pse.dev
MIT License
918 stars 204 forks source link

Technical Research - Comparative Analysis of Semaphore vs other privacy approaches #333

Open aguzmant103 opened 1 year ago

aguzmant103 commented 1 year ago

Semaphore is one of the simplest ways to add privacy to applications. What other technologies exist and how do they fit and compare to each other?

For example:

atomniketh commented 1 year ago

I just got approved to be in Aztec's/zkCamp's Noir course cohort. I'm thinking of doing a comparison of how I would use Noir to do what I did with Semaphore in my StealthComms project. I can maybe create a matrix to compare Semaphore vs. Noir/Nargo if that would help.

aguzmant103 commented 1 year ago

Yes!! Super helpful @atomniketh comparing performance on different implementations of Semaphore is great, (languages, proving systems, etc)

I think @vplasencia has done some work with that, unsure if she did Noir though

vplasencia commented 1 year ago

Hey @atomniketh! That would be great. Thank you!

gnart33 commented 1 year ago

Hey @atomniketh I will also be in the coming zkCamp's Noir cohort, happy to help with your idea. @aguzmant103 I did a little writeup about Semaphore here, can also dig in other projects architecture

vplasencia commented 1 year ago

There is a Semaphore implementation in Noir that can be useful for your project: https://github.com/StefanVelkoski/semaphore-noir @atomniketh @trangnv

atomniketh commented 1 year ago

@trangnv Look for me in the ZKCamp circles group. Let's coordinate there!

atomniketh commented 1 year ago
ZK Language Noir Circom Cairo Leo
From Aztec Iden3 Starknet Aleo
Compiles to IR (ACIR) R1CS Sierra (IR) R1CS
Supports Integrated with UltraPlonk, Extendable to Groth16, Halo2 Groth16 Stark, FRI SNARK-based
Used By Verifier can be deployed on EVM compatible chains Tornado Cash, Polygon Hermez, Dark Forest, Semaphore Starknet Aleo
cijimenez commented 2 months ago

hi! @vplasencia @aguzmant103 is this issue still Issues? could I take it? I am part of the PSE 2024 core program

vplasencia commented 2 months ago

Hey @cijimenez 👋

Yes, it's still open. Do you want me to assign this issue to you?

cijimenez commented 2 months ago

Hi @vplasencia Yes, of course! Please assign it to me. I would also like to get more details and understand the specific objective of this issue. Thanks!

vplasencia commented 2 months ago

Hey @cijimenez! Done. Thanks. Feel free to ask any questions you may have.

The main idea of the issue is to do some research on some similar projects working (or that worked) on similar topics to explain the similarities and differences with Semaphore. The issue description has some ideas but feel free to do some research about it and add other projects too.

You can decide on the most effective way to compare them, including which parameters to use for the comparison.

vplasencia commented 1 month ago

Hey @cijimenez! Thank you very much for the great work! Do you need any help to add the document to the website and documentation?