Skip to content

ethereum/kzg-ceremony-specs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Powers of Tau Specification

These documents comprise a specification for Ethereum's Powers of Tau (PoT) setup for use in KZG commitments in EIP-4844 (Proto-Danksharding) and ultimately Full Danksharding.

The ceremony takes place between participants and the sequencer. Participants are the entities that contribute their secret randomness to the final output $\tau$ s. The role of the sequencer is to act as the common point of interaction for all participants as well as verifying participants' contribution as the ceremony progresses.

Table of contents

10,000 ft Overview

We are performing a ceremony to generate Powers of Tau for KZG proofs on Ethereum. The output of the ceremony consists of 4 (distinct) sets of Powers of Tau each with a different maximum power:

  1. $([\tau_1^0]_1, [\tau_1^1]_1, \dots, [\tau_1^{2^{12}-1}]_1])$, $([\tau_1^0]_2, [\tau_1^1]_2, \dots, [\tau_1^{64}]_2])$
  2. $([\tau_2^0]_1, [\tau_2^1]_1, \dots, [\tau_2^{2^{13}-1}]_1])$, $([\tau_2^0]_2, [\tau_2^1]_2, \dots, [\tau_2^{64}]_2])$
  3. $([\tau_3^0]_1, [\tau_3^1]_1, \dots, [\tau_3^{2^{14}-1}]_1])$, $([\tau_3^0]_2, [\tau_3^1]_2, \dots, [\tau_3^{64}]_2])$
  4. $([\tau_4^0]_1, [\tau_4^1]_1, \dots, [\tau_4^{2^{15}-1}]_1])$, $([\tau_4^0]_2, [\tau_4^1]_2, \dots, [\tau_4^{64}]_2])$

BLS Cryptography

Due to a lack of standardisation for a complete API for BLS curves, we define our own in BLS.md.

Contributions

Due to the simplicity of this PoT setup, the full contribution is sent as a json file between the sequencer & participants. This allows the use of a RESTful API between the two. See contribution documentation for the contribution format requirements.

Initialization

The ceremony is initialized to initialContribution.json.

Releases

No releases published

Packages

No packages published