Please describe your proposed solution
¿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.