Open lognorman20 opened 6 months ago
Your Total Estimated Working Hours
looks inconsistent with the sum of all milestones. I calculated and got the hours totaling to 82.4 hrs. Would you correct?
@NOOMA-42 Yes, my apologies. I'd also like to add a team member: https://github.com/Subhasish-Behera
Hi @lognorman20 @DoHoonKim8 will review this proposal
@NOOMA-42 got it, thanks for your assistance!
how does one join you guys
how does one join you guys
Please DM me on Discord to discuss @Kim8584
Proposal: A SNARK to prove X prime numbers exist below Y
Project Overview
Overview
This project aims to produce a SNARK using IVC to prove that
X
prime numbers exist below a thresholdY
. The end result is an implementation of a folding scheme on a circuit to generate a SNARK to prove the previous statement. The project will contain a codebase with documentation and an accompanying blog post.Project Details
The main exploration will be of the different folding schemes applied on top of Circom, Lurk, or Arkworks. A potential exploration of circuits written using Halo2 can also be explored as an extension of this project.
Circom - circuit development language Nova-Scotia - Circom folding middleware for Nova Sonobe - Multiple folding schemes for Arkworks/Circom circuits Lurk - zkDSL using Nova IVC as a backend Protogalaxy - Folding scheme for arithmetic circuits Protostar - Folding scheme for circuits written with Halo2 API
Wikipedia primality testing Miller-Rabin primality test Sieve algorithm in O(n) time
Team :busts_in_silhouette:
Team members
Team members
Team Website
Team's experience
Logan Norman I am a third year university student studying computer science. Some previous projects I've worked on are
I have been studying ZKP through various means such as the ZKP MOOC, the Moon Math Manual, attending PSE Learn & Share lectures, reading fundamental papers, and more. I hope to use this project as a learning opportunity.
Subhasish Behera I am an Open Source developer interested in programmable cryptography and zero knowledge. I am currently in my final year of bachelor's majoring in computer science. I have learnt my basics about zero knowledge, its related maths and technologies from courses of https://github.com/ZK-University/ZKU. I am comfortable with writing circuits in Circom. I have studied IVC and the projects implementing it in preparation for this use case.
Development Roadmap :nut_and_bolt:
Overview
Milestone 1: Implement POC Prime Checking SNARK
To get started on the project, we propose an implementation of a SNARK that checks whether or not a number is prime. This starting point will allow us to continue developing the project in a more familiar manner. An exploration of various tech stacks (Circom, Nova-Scotia, Sonobe, etc.) will be explored and narrowed down in this phase.
Deliverables and Specifications
1) A SNARK that, given a number
n
, generates a proof stating whether or not the number is prime. 2) Code documentation.Milestone 2: Threshold Primality Testing
After the previous implementation of a SNARK to prove if a number is prime, this milestone aims to extend that work to find all prime numbers under a given threshold
n
.Deliverables and Specifications
1) A SNARK that, given a number
Y
, proves thatX
prime numbers exist belowY
. 2) Code documentation.Milestone 3: Article
Write an article/tutorial detailing the development process and theoretical knowledge required for the project.
Deliverables and Specifications
1) Article