EIP-4844: Shard Blob Transactions

Proto-Danksharding

EIP-4844 introduces a new kind of transaction type to ethereum which accepts "blobs" of data to be persisted in the beacon-node for a short period of time. These changes are forwards compatible, not required for EVM execution, and small enough to keep disk use manageable.

Read the EIP Watch the Bankless deep dive

Why?


Rollup Future

Rollups are in the short and medium term, and possibly in the long term, the only trustless scaling solution for Ethereum. Transaction fees on L1 have been very high for months and there is greater urgency in doing anything required to help facilitate an ecosystem-wide move to rollups.

Low Fees Now

Data sharding will take a considerable amount of time to finish implementing and deploying, yet rollups are here now. EIP-4844 can bring rollup fees down by orders of magnitude and enable ethereum to remain competitive without sacrificing decentralization.

Forwards Compatible

Blobs are committed to with KZG: efficient vector commitment, fixed-size proof data, forward-compatible with data-availability-sampling. These commitments are used in the same scaffolding as the "danksharding" proposal.

Beacon Node

Persisted in beacon-node, not in execution engine (e.g. prysm, not in geth).

Manageable Disk Use

Blobs are 4096 field-elements of 32 bytes each, max 16 per block. Max 4096 * 32 * 16 = 2 MiB per block, targeted at 1 MiB.

Short Lived

Blobs are pruned after ~1 month. Available long enough for all actors of a L2 to retrieve it, short enough to keep disk use manageable.

Frequently Asked Questions

Written by Vitalik Buterin

How?


Geth Prototype

A prototype of the modifications that are going to be necessary for go-ethereum (i.e., the execution layer). You can follow along to the progress of that here.

Prysm Prototype

A prototype of the modifications that are going to be necessary for Prysm (i.e., the consensus layer). You can follow along to the progress of that here.

Devnet

To demonstrate the feasability of EIP-4844, a developer only testing network should be run showing interoperability of Geth and Prysm with these modifications.

Testnet

Once the devnet has been shown to work and the contributors have confidence in it, a testnet will be started to show the community how everything works and to allow anyone to be a validator, run a node, etc.

KZG Trusted Setup

Part of EIP-4844 involves using KZG commitments. To generate the seed for these commitments, a browser-based widely distributed ceremony will be run so everyone has a chance to ensure it is generated correctly and securely.

Attack Modelling

To mitigate concerns over DDoS vulnerabilities and potential attack vectors, a significant effort will go into proving various kinds of attacks are impossible even in practice (i.e., on the testnet).

Community Support

EIP-4844 is widely supported by ethereum core developers, optimistic rollup and zk-rollup teams, dapp developers, cross-chain bridge implementers, exchanges, and more.