Ethereum Danksharding
Key Takeways
- Danksharding aims to increase the maximum number of blobs per block from 4 to 64.
- Blob blockspace will be auctioned according to its own fee market.
- Data Availability Sampling (DAS) aims to validate Layer-2 rollup transactions.
- Rollups can store transaction batches as blobs.
1. Overview
The plan to implement Full Danksharding involves using PBS, Crlist, and DAS. EIP 4844 introduces a new transaction type called "blobs," which increases the data and storage requirements for Ethereum blocks. This creates a new fee market for pricing blobs separately from regular transactions. EIP 4844 would also create an additional 512kB or 768kB of data space per block for rollups. Proto-danksharding lays the groundwork for introducing more advanced techniques to reduce blob costs without increasing the computational load on nodes. The ultimate goal of Full Danksharding is to increase the maximum number of blobs per block from 4 to 64, in order to fully realize the vision for blobs.
(Source: Proto-danksharding: What It Is and How It Works | Galaxy)
2. Data Availability
Blobs, an additional temporary storage, can be attached to Ethereum blocks without affecting the existing block space used for regular transactions. They will have their own fee market, which follows the design of EIP 1559. Blob block space will be auctioned off separately.
2.1 Technology
2.1.1 Data Availability Sampling (DAS)
DAS, which ensures that all data grouped by the sequencer is uploaded on-chain, is intended to validate Layer-2 rollup transactions. This is achieved by having selected full nodes sample a portion of data and create data availability proofs. This reduces the computational burden compared to downloading full blob data while theoretically guaranteeing data availability. In Full Danksharding, data sampling helps verify and post sequencer transactions on-chain, making them accessible to all network participants. They can then review these transactions, verify their finalization on a Data Availability (DA) layer like Ethereum, and form new transaction batches.
Although DAS is not included in the initial launch of Danksharding, Ethereum developers plan to increase the volume of data and blobs posted on Ethereum without overloading nodes by using DAS and future updates like history expiry. Dankrad Feist, an Ethereum researcher, suggests that Ethereum may become "a public notice board" rather than a full archive, with the onus of preserving transaction history shifting to regular data users like Layer-2 rollups and infrastructure companies. The introduction of blobs and EIP 4844 provides insight into how future transactions might be stored on Ethereum. Increasing data sampling increases the likelihood that all data is available, ensuring that no crucial data is concealed.
2.1.2 Namespace
Unlike other data availability protocols, Dank Sharding is implemented within Ethereum, which has a native smart contract execution environment. Each Rollup in the Dank Sharding protocol has a set of associated smart contracts, which play a crucial role in the operation of the Rollups. This sophisticated relationship between Dank Sharding, Ethereum, and the related smart contracts distinguishes it from other protocols in the data availability domain.
The dedicated smart contract features of Dank Sharding further set it apart from other protocols in the sphere of data availability. It is integrated directly within the Ethereum network, emphasizing the relevance of Ethereum as the host platform.
2.2 Architecture
(Source: Deep in to EIP4844 - HackMD)
Blob transactions will not be stored indefinitely on Ethereum. Instead, they will be stored on the consensus layer (CL) of Ethereum, the Beacon Chain. After a period of three weeks, they will be dropped from CL nodes.
Proto-danksharding allows a maximum of four blobs per block, with each blob capable of containing up to 128kB of additional data. The maximum limit of 512kB of blob space per block is subject to change based on ongoing testing for EIP 4844.
3. Use Cases
3.1 Rollup
Rollups can store transaction batches as blobs instead of calldata. Each blob allows a single rollup sequencer to confirm a batch of transactions on Ethereum. With Ethereum producing roughly 7,094 blocks per day, and with EIP 4484 allowing a limit of 4 blobs per block, a maximum of 28,376 blobs can now be processed per day.
4. Resources
- EIP-4844: Proto-Danksharding
- EIP-4844: Shard Blob Transactions
- Proto-danksharding: What It Is and How It Works by Christine Kim (Galaxy)
- pm/Breakout-Room/4844-readiness-checklist.md at master · ethereum/pm
- Danksharding and Modular Narrative - Deep into Data Availability by Chris Yicheng (Scroll)
- Deep in to EIP4844 - HackMD by Chris Yicheng (Scroll)