privacy-scaling-explorations / acceleration-program

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

Proposal: Simple (educational) python lookup argument implementation #25

Closed WangJ509 closed 4 months ago

WangJ509 commented 1 year ago

General Grant Proposal

Project Overview :page_facing_up:

Overview

simple (educational) python lookup argument implementation

Project Details

Team :busts_in_silhouette:

Team members

Team's experience

Yu-Ming Hsu

Jing-Jie Wang

Paul Yu

Team Code Repos

Development Roadmap :nut_and_bolt:

Overview

Terminology

Milestone 1: cq, plookup, Caulk+, Baloo (Univariate Commitment)

Milestone 2 multilinear KZG or Hyrax (Multivariate Commitment)

Milestone 3 Lasso, Logup + GKR

Deliverables and Specifications

0a. Codebase Specification

We aim to implement baseline protocol according to paper and will not implement extra optimization over it. Take cq for example, our code covers FK algorithm for faster amortized kzg proof but won't implement optimized multiscalar multiplication (msm) because we purely rely on pyecc lib unless key components are needed.

We plan to review these 2 codebase and see which multivariavte commitment scheme is easier to implement in Python

0b. Documentation

We will provide a markdown file explaining the detail implementation of each protocol and util function, for example, why radix 4 fft. If there're already good resources out there. We'll reference it in write up and summarize how we utilize them.

0c. Testing Guide

similar to plonkathon, cover unit test for each components, let's say fft, we unit test fft overall rather than subfunction of it. dummy_test, basic testcase

Additional Information :heavy_plus_sign:

DoHoonKim8 commented 1 year ago

Overall seems good, I have a one suggestion and one question:

How do you think?

WangJ509 commented 1 year ago

Hi @DoHoonKim8, we have updated our proposal.

DoHoonKim8 commented 1 year ago

LGTM. Thanks for reflecting the comment. 🙂