privacy-scaling-explorations / acceleration-program

Accelerate Early Stage Programmable Cryptography Talents
100 stars 7 forks source link

Self Proposed Open Task: Implement a polynomial repo integrating Icicle and sppark #32

Open cyl19970726 opened 10 months ago

cyl19970726 commented 10 months ago

[!IMPORTANT] A proposal will go through a review process by a PSE to ensure the quality of the task and alignment with the acceleration program mission. Please be patient and wait for the review to complete.

Open Task RFP for Langlands

Executive Summary

Project Details

Qualifications

Administrative Details

Additional Information

NOOMA-42 commented 10 months ago

Thanks for raising this proposal, would you be able to leave how long your open task could last in Estimated Project Duration?

cyl19970726 commented 10 months ago

Thanks for raising this proposal, would you be able to leave how long your open task could last in Estimated Project Duration?

Thanks for your advice, have updated the 'Estimated Project Duration'.

NOOMA-42 commented 9 months ago

Would you be interested in integrate this hardware acceleration to halo2? There's only PCS is generic in halo2, and not MSM, FFT. Sometimes this is integrated with PCS. It'll be nice to have PCS trait which is easier for hardware acceleration.

Thanks for raising this proposal, would you be able to leave how long your open task could last in Estimated Project Duration?

Thanks for your advice, have updated the 'Estimated Project Duration'.

cyl19970726 commented 9 months ago

For MSM, I plan to add a tait Commit and change the trait Params from pub trait Params<'params, C: CurveAffine>: Sized + Clone to pub trait Params<'params, C: CurveAffine, CS: Commit>: Sized + Clone, Then restrict the commit_langage() function to use Commit:commit(). And do the same modification for ParamsProver trait. In this way, different MSM algorithms can be called by the entire proof system as long as they implement the Commit trait. We can also easily integrate different GPU and CPU versions of MSM algorithms.

cyl19970726 commented 9 months ago

This does not involve a lot of code, so it will be completed by February 15th, including abstracting the Commit Trait and integrating the MSM algorithm of Iccle and Sppark.

NOOMA-42 commented 9 months ago

it would be more usable/referable to base the interface on https://github.com/privacy-scaling-explorations/halo2curves/pull/107 to see if there was a way to integrate these two libraries into this new interface, and then in the process if there were any suggestions for feedback to the PR. If there are any suggestions, you can feed back to this PR.

The final product could be:

  1. based on icicle/sppark and then implement the MsmAccel trait
  2. integrate MsmAccel into a library (e.g. halo2, their own kzg lib) and show how to switch between different implementations.

Later, they will also integrate MsmAccel into halo2, so if they can try to integrate halo2, it will be helpful, but I don't feel that we have to choose halo2, the focus is still on the first point.

This does not involve a lot of code, so it will be completed by February 15th, including abstracting the Commit Trait and integrating the MSM algorithm of Iccle and Sppark.

cyl19970726 commented 9 months ago

It would be more usable/referable to base the interface on privacy-scaling-explorations/halo2curves#107 to see if there was a way to integrate these two libraries into this new interface, and then in the process if there were any suggestions for feedback to the PR. If there are any suggestions, you can feed back to this PR.

The final product could be:

  1. based on icicle/sppark and then implement the MsmAccel trait
  2. integrate MsmAccel into a library (e.g. halo2, their own kzg lib) and show how to switch between different implementations.

Later, they will also integrate MsmAccel into halo2, so if they can try to integrate halo2, it will be helpful, but I don't feel that we have to choose halo2, the focus is still on the first point.

This does not involve a lot of code, so it will be completed by February 15th, including abstracting the Commit Trait and integrating the MSM algorithm of Iccle and Sppark.

I think this is more meaningful than my original Idea. I initially set up three milestones:

  1. integrate icicle(implement the MsmAccel trait for icicle-msm)(1 week)
  2. integrate sppark(implement the MsmAccel trait for sppark-msm) (1 week)
  3. integrate MsmAccel trait into Halo2 (1 week)
NOOMA-42 commented 9 months ago

LGTM, please kindly send out your proposal if you'd like to work on this

Vap0RSh4wN commented 8 months ago

Hello! As the current time has been in round2, I would like to ask you whether this task is still open now? And where has it gone? I am very interested, please feel free to contact me at vaporshawnn@gmail.com!

NOOMA-42 commented 8 months ago

Thanks for your interest, but right now it's been worked on

Hello! As the current time has been in round2, I would like to ask you whether this task is still open now? And where has it gone? I am very interested, please feel free to contact me at vaporshawnn@gmail.com!