Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: A SNARK to prove X prime numbers exist below Y #51

Open
lognorman20 opened this issue May 17, 2024 · 6 comments
Open

Proposal: A SNARK to prove X prime numbers exist below Y #51

lognorman20 opened this issue May 17, 2024 · 6 comments
Assignees
Labels
Application Proposal Proposal submitted by applicants Grant Work in Progress Passed review and work in progress

Comments

@lognorman20
Copy link

lognorman20 commented May 17, 2024

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 threshold Y. 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

  • An overview of the technology stack to be used

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.

  • Documentation of core components, protocols, architecture etc. to be deployed

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

  • PoC/MVP or other relevant prior work or research on the topic

Wikipedia primality testing
Miller-Rabin primality test
Sieve algorithm in O(n) time

Team 👥

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 🔩

Overview

  • Total Estimated Duration: 1 month
  • Total Estimated Working Hours: 72.4 hrs
  • Full-time equivalent (FTE): 1.5
  • Expected Start Date: 8/1/24
  • Expected End Date: 8/24/24

Milestone 1: Implement POC Prime Checking SNARK

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 8/8/24

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

  • Estimated Duration: 1 week
  • FTE: 0.75
  • Estimated Delivery Date: 8/17/24

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 that X prime numbers exist below Y.
  2. Code documentation.

Milestone 3: Article

  • Estimated Duration: 3 days
  • FTE: 0.1
  • Estimated Delivery Date: 8/20/24

Write an article/tutorial detailing the development process and theoretical knowledge required for the project.

Deliverables and Specifications

  1. Article
@NOOMA-42 NOOMA-42 added the Application Proposal Proposal submitted by applicants label May 20, 2024
@NOOMA-42
Copy link
Collaborator

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?

@lognorman20
Copy link
Author

lognorman20 commented May 21, 2024

@NOOMA-42 Yes, my apologies. I'd also like to add a team member: https://github.com/Subhasish-Behera

@NOOMA-42
Copy link
Collaborator

Hi @lognorman20 @DoHoonKim8 will review this proposal

@lognorman20
Copy link
Author

@NOOMA-42 got it, thanks for your assistance!

@Kim8584

This comment was marked as off-topic.

@lognorman20
Copy link
Author

lognorman20 commented May 24, 2024

how does one join you guys

Please DM me on Discord to discuss @Kim8584

@NOOMA-42 NOOMA-42 added the Grant Work in Progress Passed review and work in progress label Jul 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Application Proposal Proposal submitted by applicants Grant Work in Progress Passed review and work in progress
Projects
None yet
Development

No branches or pull requests

4 participants