Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# EVM Public Powers-Of-Tau Ceremony
![logo](pot.jpeg)
Trusted setup ceremonies generate trustworthy cryptographic keys for securing crypto wallets, blockchain protocols and zero-knowledge proof systems. The ceremony is frequently the root of trust for a given protocol's security, and they are therefore extremely important to get right. Existing strategies involve Multi-Party Computation or a centralized server. These have problems in the form of censorship, verifiablity, and auditability. This repo lays out a strategy for using a public (EVM-based) blockchain for orchestrating the ceremony for the BN254 curve.
Trusted setup ceremonies generate trustworthy cryptographic keys for securing crypto wallets, blockchain protocols and zero-knowledge proof systems. The ceremony is frequently the root of trust for a given protocol's security, and they are therefore extremely important to get right. Existing strategies involve Multi-Party Computation or a centralized server. These have problems in the form of censorship, verifiability, and auditability. This repo lays out a strategy for using a public (EVM-based) blockchain for orchestrating the ceremony for the BN254 curve.

The core smart contract can be found in `contracts/KZG.sol`. After deploying this contract, anyone can call `kzg.potUpdate()` with a set of update parameters. The validity of their parameters will be verified on-chain and the call will be reverted in the case of poor parameters. Given the powers-of-tau ceremony requires a 1-of-n honest party trust assumption, if any user honestly performs the ceremony (generating their randomness, submitting and update, and destroying their randomness without leakage), we can be sure that the resulting parameters are secure for usage in other cryptographic systems.

Expand Down