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: implement liam-eagen-msm gadget in halo2 #28

Open
ssjeon-p opened this issue Dec 2, 2023 · 6 comments
Open

Proposal: implement liam-eagen-msm gadget in halo2 #28

ssjeon-p opened this issue Dec 2, 2023 · 6 comments
Assignees
Labels
Application Proposal Proposal submitted by applicants Grant Work in Progress Passed review and work in progress

Comments

@ssjeon-p
Copy link

ssjeon-p commented Dec 2, 2023

General Grant Proposal

  • Project: implement liam-eagen-msm gadget in halo2 #27

Project Overview 📄

Overview

Liam Eagen's paper suggested a protocol to prove a point on an elliptic curve is the multi-scalar multiplication of some points. We want to implement this on halo2.

Project Details

Applying the protocol on a zk-SNARK will improve performance compared to directly proving the multiplication. The main idea of reducing proof size is to express the information of points on an element in the function field of the elliptic curve. The performance of this will depend on which proof system we use. To optimize, we want to first study about how zk-proof systems work, especially focusing on halo2 using KZG and IPA. We will summarize proof systems and materials in Liam Eagen's paper, and post it.

Next, we will implement the protocol using halo2, and compare the performance. The protocol can make the information of points or scalars zero-knowledge, or both. Every three versions can be optimized using the techniques described in the paper. The final output will be

  • Implementation of the protocol using halo2.
  • Summary about materials in elliptic curve inner product protocol.

Team 👥

Team members

  • Names of team members: Seongsu Jeon
  • Email: [email protected]
  • Telegram handle: @ssjeonp
  • Discord handle: ssjeon

Team Website

Team's experience

PSE summer contribution 2023, learning about zkp and halo2.
Ph.D major in number theory and algebraic geometry (ongoing)

Team Code Repos

Development Roadmap 🔩

Overview

  • Total Estimated Duration: 8 weeks
  • Full-time equivalent (FTE): 0.5
  • Expected Start Date: Dec 18th 2023
  • Expected End Date: Feb 11th 2024

Milestone 1

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated delivery date: Dec 31st 2023

Deliverables and Specifications

We want to study carefully about Liam Eagen's paper and some proof systems. We will focus on how the halo2 works and want to explore ways to optimize the ecip protocol if possible. The summary of what we studied will be posted on blog. After milestone 1, we will make concrete milestones such as functions we need or optimizations, for implementing the protocol at milestones 2 and 3.

Milestone 2

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated delivery date: Jan 14th 2024

Deliverables and Specifications

We will first implement the simplest version of the ecip protocol. This doesn't require a zero-knowledge setting. But, this needs some general functions and algorithms, for example calculating function field elements of an elliptic curve using incremental construction or Mumford representation. We will deliver test functions to check these.

Milestone 3

  • Estimated Duration: 4 weeks
  • FTE: 0.5
  • Estimated delivery date: Feb 11th 2024

Deliverables and Specifications

Now, we plan to make the protocol zero knowledge in scalars and points, and both. Each version needs some improvements using techniques in the paper. Plus, using elliptic curves with complex multiplication structure will reduce proof size so we want to explore this. After implementing every version of the protocol, we want to compare how this protocol improves performance compared to simply calculating multi-scalar multiplications on a circuit.

@NOOMA-42 NOOMA-42 added the Application Proposal Proposal submitted by applicants label Dec 2, 2023
@NOOMA-42
Copy link
Collaborator

NOOMA-42 commented Dec 3, 2023

  • Estimated delivery date: Jan 11st 2024

Hi @ssjeon-p
should milestone 3 Estimated delivery date be Feb 11st 2024?

@ssjeon-p
Copy link
Author

ssjeon-p commented Dec 4, 2023

  • Estimated delivery date: Jan 11st 2024

Hi @ssjeon-p should milestone 3 Estimated delivery date be Feb 11st 2024?

Yes, that is a typo.
Thank you.

@DoHoonKim8
Copy link
Member

Overall seems good to me for now. I think we should develop the concrete plan for implementation in milestone 2, 3 which seems in-depth understanding of ecip protocol should be advanced in milestone 1. I think we can get things moving first.

@NOOMA-42
Copy link
Collaborator

Overall seems good to me for now. I think we should develop the concrete plan for implementation in milestone 2, 3 which seems in-depth understanding of ecip protocol should be advanced in milestone 1. I think we can get things moving first.

@ssjeon-p could you modify proposal according to dohoon's suggestion?

@ssjeon-p
Copy link
Author

Overall seems good to me for now. I think we should develop the concrete plan for implementation in milestone 2, 3 which seems in-depth understanding of ecip protocol should be advanced in milestone 1. I think we can get things moving first.

@ssjeon-p could you modify proposal according to dohoon's suggestion?

I modified the proposal at milestone 1.

@DoHoonKim8
Copy link
Member

Seems good! Let's move forward :)

@NOOMA-42 NOOMA-42 added Proposal Pending Proposal has been submitted by other applicants. You can compete within deadline and removed Proposal Pending Proposal has been submitted by other applicants. You can compete within deadline labels Mar 1, 2024
@NOOMA-42 NOOMA-42 added the Grant Work in Progress Passed review and work in progress label Apr 18, 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

3 participants