Last updated 9 months ago
The creation of Zero-Knowledge applications is still a hard process with high technical barriers. This prevents the development of innovative and disruptive dapps in Cardano.
This is the total amount allocated to Incorporating Plonk into AK-381 Zero-Knowledge Library.
Integrating the PLONK scheme into the ak-381 zero-knowledge library, represents a significant advancement in the development process for zk-dapps.
No dependencies
This will be a software libre project.
¿What is Zero-Knowledge cryptography?
Zero-Knowledge technology allows one party to prove the truth of a statement to another party without revealing any additional information. In blockchain, this technology enables new applications that weren't possible before, specifically the creation of solutions that improve the scalability and privacy of blockchain networks. For this reason, this cryptography will propel blockchain into a new revolution.
¿What is ak-381 library?
ak-381 is a library featuring functions and utilities for building Zero-Knowledge applications. Written in Aiken, this library aims to provide various types of verifier functions and Zero-Knowledge proof utilities. It also includes tools for achieving interoperability between popular front-end libraries like circomjs and snarkjs with the Plutus virtual machine.
The proposal
Currently, the ak-381 library only supports the Groth-16 scheme. While this scheme is one of the most efficient within the zk-SNARKs family, each time a new application is designed, a multi-party ceremony must be initiated to derive the proof and verification keys of the scheme. The need to perform this ceremony every time a new application is designed delays and impacts the developer experience when designing applications with this cryptography.
However, there are other zk-SNARK schemes such as PLONK that do not require this ceremony to obtain the keys. Thus, the goal of the proposal is to incorporate this scheme into the ak-381 library. This enhancement would enable easier and faster development of Zero-Knowledge applications. Firstly, there will be an investigation into the elliptic curve mathematics necessary to implement PLONK. Once this research phase is completed, a prototype will be created and tested to ensure its safety for use. Finally, libraries will be generated that can be integrated into the front-end to generate proofs based on the PLONK scheme in an accessible and developer-friendly manner.
The successful implementation of this proposal will open doors for developers to create new applications using this technology. By incorporating the PLONK scheme, technical barriers that may exist when developing such applications will be eliminated.
Our team was formed by winning the Zero-Knowledge track of the Cardano Emurgo Build 2023 Hackaton. As a result of very intensive work we were able to:
Our team has a strong background in software development for the Cardano ecosystem and Mathematics research. (See section on ‘Project Team’ below.)
Researching the mathematical foundations of the PLONK scheme.
Acceptance criteria
This will imply doing a document that explains how the PLONK scheme works, giving the major guidelines about how to implement such scheme. The document must be written in a clear and coherent manner.
Implementing in Aiken the PLONK verification function.
Acceptance criteria
This imply coding a verification function that can take a PLONK generated proof, and check correctly wether that proof is true or false given the public values and keys.
Test the verification function and implement utilities to generate PLONK proof in the front-end.
Acceptance criteria
This will imply to succesfully:
Create divulgation articles and wrap-up the investigation and implementation in a final report.
Acceptance criteria
This imply to succesfuly:
The main expense of the project is the development hours. In that sense is important to note: