AztecProtocol / dev-rel

All of Aztec's workshops, resources, tutorials, ideas, and useful tools
44 stars 18 forks source link

Adding circuits to zk-kit #202

Open signorecello opened 6 months ago

signorecello commented 6 months ago

Follow-up on the action points coming out of the Semaphore >< Noir meeting (@zac-williamson , @Savio-Sou , @signorecello , Vivian, Andy, Cedoor, Giacomo).

We want to add circuits to zk-kit. Most of them are probably one-liners as these primitives are already available in the noir stdlib

### Tasks, ranked 1-5 in time needed
- [x] Merkle Tree Membership - 1 (available in stdlib)
- [x] Poseidon Merkle Tree Membership - 2 (copying stdlib + changing hash function)
- [x] sparse merkle tree
- [ ] ECDH shared key derivation - ?? (needs spiking)
- [ ] Float operations - ?? (this is just the stdlib...)
- [ ] Pre-image knowledge proof - 1 (just hashes)
- [ ] ECDSA signature verification - 1 (available in stdlib)
- [ ] RSA signature verification - 4 (needs some spiking, talk with michael + theo)
- [ ] ecrecover - 2 (we can even ask Colin to do it)
- [ ] others?
Savio-Sou commented 6 months ago

Starting with existing circuits that overlap with what they already have in Circom sounds like a good first step.

For the ones that are not currently in zk-kit or require further engineering / grants, we could create Issues in the zk-kit repo and evaluate how we want to approach them as we go.

Key is to refrain from PRing a bunch of things in that no one is willing to maintain.

critesjosh commented 5 months ago

moving to the backlog since Ze Pedro got some stuff merged in and other things are higher priority