Skip to content

Instantly share code, notes, and snippets.

@huitseeker
Last active December 12, 2023 17:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save huitseeker/104926ddb2c190f77b3b9bb0258624db to your computer and use it in GitHub Desktop.
Save huitseeker/104926ddb2c190f77b3b9bb0258624db to your computer and use it in GitHub Desktop.
Proposal to Initiate "Algebra Improvement Proposals"

Dear Zcash Team,

First and foremost, we would like to extend our heartfelt gratitude to you for your unmatched contributions to the field of cryptographic software. Tools like ff, group, bellman, pasta_curves, halo2, and the myriad others have been invaluable assets to the community at large.

Recognizing the demanding year the Zcash team has faced, especially with the protocol upgrades necessitated by sandblasting attacks, we understand that broader cryptographic library maintenance might not have been the primary focus. To that end, we would like to offer our assistance and propose a collaborative initiative to aid in this endeavor.

Introducing Algebra Improvement Proposals (AIPs)

Drawing from the successful model of Zcash's ZIPs (Zcash Improvement Proposals), we propose the creation of a dedicated repository for submitting and discussing Algebra Improvement Proposals (AIPs). Focused strictly on general-purpose cryptographic software, these AIPs aim to:

  • Propose new features, extensions, or modifications to existing cryptographic tools and provide their rationale.
  • Detail the implementation specifics of the proposed changes.
  • Facilitate community discussions, ensuring a broad range of perspectives are considered.
  • Document design decisions and their underlying reasoning.

Workflow for AIPs:

  • Submission & Discussion: Anyone from the community can draft an AIP. By decentralizing work and fostering a collaborative atmosphere, we hope to replicate the spirit and effectiveness of the ZIP process.

  • Building Consensus: AIP authors are entrusted with the task of building consensus within the community. This involves acknowledging and addressing diverse viewpoints, much like the ZIP process.

  • Implementation & Peer Review: Once an AIP gains community support, a lead implementer and a lead reviewer—preferably from different community entities—will spearhead the realization of the proposal. Their collaborative efforts, recorded on GitHub, will ensure alignment with the AIP and uphold the software's standards.

  • Final Zcash Team Review: We invite the Zcash team to conduct a concluding review. Given the foundation of a well-vetted AIP and the additional layer of community-led review, we anticipate this phase to be efficient and straightforward.

By introducing the AIP process, we aim to achieve a symbiotic collaboration that leverages community expertise while easing the maintenance burden on the Zcash team. We believe this initiative will accelerate advancements in cryptographic software while maintaining the quality standards that the Zcash team is known for.

Your feedback is paramount, and we look forward to hearing your thoughts on this proposal. Together, we hope to strengthen our collective mission to push the boundaries of cryptographic software.

Warm regards,

-- The ZCash community


Please support the present proposal, by adding a comment from your Github account:

[A statement that you find this approach to be a meaningful improvement over the extant, and a mention of which specific Zcash-dependent project(s) this would help with] [Your Name/Organization]

@huitseeker
Copy link
Author

huitseeker commented Sep 26, 2023

I believe this proposal would tremendously help manage the "ZCash interface" of many of our projects at Lurk Lab, including:

  • bellpepper, a project which we hope would end up mending the bellman / bellperson divide,
  • arecibo, our incubation fork of nova (to which we backport our contributions) -- which has a rather tight integration with both pasta curves and the zkcrypto/{ff, group} traits, see e.g. microsoft/Nova#198

(among others, including neptune and lurk ...)

-- François Garillot, head of engineering at Lurk Lab.

@mratsim
Copy link

mratsim commented Sep 26, 2023

This proposal would be helpful for Taiko Labs' work on a zkEVM:

and dependencies:

-- Mamy André-Ratsimbazafy, zkEngineering lead at Taiko Lab.

@CPerezz
Copy link

CPerezz commented Sep 27, 2023

Disclaimer: This is my opinion only, and I don't speak in the name of PSE as an organization. But rather as a developer that has heavily contributed to a lot of it's repositories.

This proposal would be really helpful for PSE to work on many of our projects (like ZKEVM for example)

And a lot of libraries on which it depends (an many more projects in PSE) but that suffer from that:

It would also solve vendoring issues that we would like to avoid such as:

CPerezz, Cryptographic Engineer at PSE

@cryptonemo
Copy link

cryptonemo commented Sep 27, 2023

This proposal would likely benefit the Filecoin Project, most notably around the following repos:

Nemo, FilCrypto lead at Protocol Labs.

@adr1anh
Copy link

adr1anh commented Sep 28, 2023

I believe this proposal would help unify community efforts aiming to improve halo2. In particular, it would facilitate collaboration around implementations of new proving primitives like folding, aggregation, and lookup arguments.

— Adrian Hamelink, independent

@leonardoalt
Copy link

This proposal would be helpful for powdr and the users of its halo2 backend integration which also relies on other halo2 related repos already mentioned above (i.e. PSE's).

-- Leo Alt, powdr labs

@therealyingtong
Copy link

AIPs sound like a promising way to engage with community proposals more systematically. This format could be especially helpful for discussing breaking changes that cannot be introduced via feature flags.

-- Ying Tong, halo2 community manager

@str4d
Copy link

str4d commented Dec 12, 2023

This is now live at https://github.com/zkcrypto/rfcs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment