acceleration-program
acceleration-program copied to clipboard
Proposal: Porting Over zk-kit circuits from Circom to Noir - 2
Project: Porting Over zk-kit circuits from Circom to Noir - 2
**GitHub Issue: ** https://github.com/privacy-scaling-explorations/acceleration-program/issues/48
Project Overview:
Overview This project aims to port circomlib circuits from Circom to Noir for integrating with the zk-kit circuit repository for Noir. The circuits include:
- ECDH (Elliptic Curve Diffie-Hellman)
- ElGamal
- Incremental Merkle Tree
Project Details:
- Complete the Circuits (Write, Optimize, and Test)
- Complete Ancillary Tasks: Documentation, Blog
- Optimize circuits by leveraging unconstrained functions wherever possible.
Team 👥:
- Yash Bharti
- Email: [email protected]
- Telegram: yboy22
- Discord: yash_bit_25859
- Website: alturl.com/hzawt
- Twitter: Yash Bharti
Team's Experience:
- Proficient in Noir and Circom
- Written code in Halo2 for IVC (folding schemes): Plonkish Pull Request
- Developed Smart Contracts
- Background: NYU CS (Undergrad), University of Cambridge (Offer for MPhil Engineering - CBL Lab), Research at NYU (DeepRL, NLU), Harvard (Cognitive Science). Please request CV for more details.
Development Roadmap 🔩:
Overview:
- Total Estimated Duration: 1 month
- Total Estimated Working Hours: 120 hrs
- Full-time equivalent (FTE): 0.75
- Expected Start Date: July 18th, 2024
- Expected End Date: August 14th, 2024
Milestone 1: Port Circuits
- Estimated Duration: 8 days
- FTE: 0.75
- Estimated Delivery Date: July 26th, 2024
- Estimated Working Hours: 48 hrs
Milestone 2: Add Tests
- Estimated Duration: 5 days
- FTE: 0.75
- Estimated Delivery Date: July 31st, 2024
- Estimated Working Hours: 30 hrs
Milestone 3: Optimize Constraints + Documentation
- Estimated Duration: 7 days
- FTE: 0.75
- Estimated Delivery Date: August 9th, 2024
- Estimated Working Hours: 42 hrs
Referenced from GitHub Issue #47
Proposal by: RajeshRk18
Hey @YashBit. Since poseidon-cipher should have already been implemented by the Noir team, I'd suggest replacing it with ElGamal.
ECDH and Incremental Merkle tree should be fine!
Current Circom implementations for reference:
- https://github.com/privacy-scaling-explorations/zk-kit.circom/tree/main/packages/ecdh
- https://github.com/privacy-scaling-explorations/zk-kit.circom/tree/main/packages/binary-merkle-root
As you can see the incremental Merkle tree is a binary one, and it should allow you to pass any depth (I guess that can be done on Noir as well).
You should be able to update the issue description too right? If so, feel free to update it. the old versions are still visible and public.
- Does 85 hours in 1 month correspond to 0.25 FTE?
- Are you sure that 1 month is enough?
- I don't see anything related to docs or blog posts in the milestones. I don't think a blog post is worth it, but it makes sense to mention documentation, maybe in milestone 2.
Also, we should update the dates.