Please describe your proposed solution
Introduction
Currently, there are several zk-SNARK schemes available for verifying Zero-Knowledge proofs. The Cardano ecosystem is on a process of developing and integrating these zk-SNARK schemes. One of the most efficient options available today is Groth16. Compared to other schemes like PLONK, Sonic, and Marlin, Groth16 generates small proofs that are both fast and inexpensive to verify. This efficiency makes Groth16 particularly suitable for projects that need to integrate Zero-Knowledge proofs with optimization in mind, this means, considering efficiency constraints such as transaction size, computational budget limitations, or low fees. However, a notable downside of the Groth16 scheme is that it requires a trusted setup to operate securely and reliably. Our proposal will try to ease the effort to integrate Groth16 into the projects by covering some parts of the trusted setup.
What is a trusted setup?
To securely generate proofs using this system, a preliminary step known as a "setup" must be performed. This setup is done through a Multi-Party Computation (MPC) ceremony, which aims to generate two essential cryptographic components: the prover key and the verification key. These keys are critical for ensuring that the proofs created by the protocol are valid and secure.
To complete the trusted setup, multiple parties must participate, each providing a random input in turn. This randomness must remain secret, and once contributed, participants must discard it to avoid compromising the system. This discarded randomness is known as toxic waste. The ceremony's security relies on at least one participant properly disposing of their toxic waste. If all participants collude and retain their inputs, the integrity of the ceremony is compromised, allowing malicious actors to create fraudulent proofs and bypass security measures relying on the Groth-16 scheme. Therefore, a larger number of contributors reduces the risk of collusion, enhancing the setup's trustworthiness.
A trusted setup is accomplished in two phases: The first phase, called Powers of Tau, is a universal setup process that generates reusable parameters for different circuits or applications using zk-SNARKs. Once the Powers of Tau phase is completed, the setup moves to the Circuit-Specific phase. In this phase, the parameters from the Powers of Tau are adapted for a specific circuit or application. The goal is to generate the prover key and verification key.
The proposal
The functioning of zk-SNARK schemes relies on specific elliptic curves, but most existing setups are accomplished for curves not supported by Cardano. Our proposal aims to conduct a Powers of Tau ceremony (Phase 1) specifically for the BLS12-381 curve, which is compatible with Cardano. We plan to engage at least 30 to 40 participants in this Phase 1 ceremony to ensure that projects can more jump directly to the phase 2 of the setup. To achieve this, we will coordinate participants and organize their contributions. The budget will include funding for 40 paid participants to incentivize involvement, while remaining open to voluntary contributions from others. As can be noted, the proposal will just cover the first phase of the ceremony, still projects have to conduct the second phase. This is because the phase 1 is a general phase that can be reused for any ceremony, in the contrary, the phase 2 is circuit-specific, this means that particular circuit must be provided to finally derive the keys.
As mentioned above, still projects have to deal with the phase 2 each time a new application is meant to be implemented. Still there is this difficulty ahead for the projects, to address this, a key aspect of our proposal is to establish a dedicated portal for organizing Phase 2 ceremonies. This portal will serve as a centralized platform where participants can access essential tools and resources necessary for conducting their ceremonies effectively. By streamlining the logistics and providing clear guidance, we aim to reduce the complexity and overhead often associated with these processes. The portal will facilitate communication among participants, allow for the scheduling of ceremonies, and offer support for troubleshooting any issues that may arise. Ultimately, this initiative will significantly ease the burden on projects that need to integrate Groth16, enabling them to focus on their core objectives while ensuring compliance with zk-SNARK requirements.