This document is meant to capture various tasks that need to be completed before EIP-4844 is ready to be scheduled for mainnet deployement. Github handles for owners of various tasks are indicated between parentheses beside the task. If are working on something not listed here, please open a PR against this file to indicate it.
Client | Status | Link |
---|---|---|
go-ethereum | WIP Prototype | Link |
Nethermind | Issue Opened | Link |
Erigon | N/A | |
Besu | N/A |
Client | Status | Link |
---|---|---|
Prysm | WIP prototype & production implementations | devnet prototype, prysm production |
Teku | Issue Opened | Link |
Lighthouse | WIP implementation | Link |
Lodestar | N/A | |
Nimbus | N/A |
- Fee Market design (@adietrichs)
- [Fixed in PR#5707] The current fee market for blob tracks the long-run average of blobs, which is different from EIP-1559 that tracks the short-term gas usage. This has implications on the most optimal way for blobs to be sent, i.e. whether there are many short bursts of blobs or a constant "stream" of them. See here for more context.
- A minimum gas price for blobs needs to be determined, see PR#5862
- WIP: Exposing the Modulus in precompile
- See this comment
- WIP: KZG Ceremony (@tvanepps & @CarlBeek)
- EIP-4844 requires a Powers of Tau ceremony to provide its cryptographic foundation. Resources relevant to the ceremony are available here
- Blob Retention Period
- [Resolved by PR#3047] The longer blobs are stored, the higher the storage cost imposed on network nodes. The retention period needs to be set taking into account blob size [blocker], node sync time, and optimistic rollup fraud proof windows.
- KZG support in Library
- Networking Overhead Analysis
- As per the current spec, blobs can be up to 2MB in size. This adds to the bandwidth requirements of the CL gossip network. Analysis about whether this value acceptable given current bandwidth and hardware constraints is missing. Discussed in Breakout Room #4.
- WIP Proposed experiment (@djrtwo, @terencechain)
- Results from this can inform both the blob size and blob retention period.
- Gossiping of blob transactions (@MariusVanDerWijden)
- [Resolved by introducing
eth/68
] Large blob transactions are expensive to gossip over the network. Solution: enable node to announce & request specific transactions rather than gossip them by default.
- [Resolved by introducing
- Sync Strategy (@djrtwo, @terencechain)
- WIP: Blob Sidecar Beacon API (@mdehoog)
- WIP: Engine API support
- Simple JSON test vectors (example from early merge devnets)
- Node performance monitoring (@booklearner)
- Transaction fuzzing (@MariusVanDerWijden)
- Differential fuzzing
- consensus-specs tests
- See the
eip4844
folder
- See the
- State/blockchain tests
- Block Header changes
- Transaction format
-
DATAHASH
opcode - Point evaluation precompile
- Hive tests
- Docker resource constraints
- CL mocker update
- Transaction Pool
- Spam transactions
- Invalid transactions
- Fee market
- Network impact of large blobs (Prysm looking into it, but other NOs welcome to join)