From EIP to Ethereum mainnet: the collective triumph of 4844
This blog post reflects on the journey from EIP-4844's inception to implementation, and shares insights into what this update means for the future of Ethereum.
This week, the Ethereum community will witness a significant milestone with the implementation of EIP-4844 on the Ethereum mainnet, marking the culmination of over two years of intensive research, development, and collaboration. This blog post reflects on the journey from its inception to implementation, and shares insights into what this means for the future of Ethereum.
A Brief History Ethereum Sharding
Before 2018, community members harbored many wild ambitions for sharding. By 2019, the roadmap for Ethereum 2.0 included EWASM-based execution sharding, and a significant pivot occurred at Devcon Osaka, reducing the number of shards from 1024 to 64. This year also saw the beacon-chain design becoming leaner, moving away from proof-of-custody as a central component for sharding.
2020 was marked by the Eth1x core-dev summit in Paris, right before the global pandemic caused widespread chaos. During the pandemic, the Ethereum community focused on developing the beacon-chain and introduced the first designs for "the Merge." Vitalik Buterin's "rollup-centric roadmap" post gained significant traction for scaling solutions, and the year ended with the successful launch of the proof of stake Beacon Chain.
In 2021, with the beacon-chain launched, attention shifted towards danksharding and data-availability sampling with KZG, spearheaded by Proto based on Dankrad Feist's work. Rollups started to significantly impact Layer 1 Ethereum, but the Merge took precedence over phase 1 development. The year also saw the Altair (Consensus Layer) and London (Execution Layer) hardforks, and the Merge design was solidified in October.
The year 2022 was pivotal, as the community focused on danksharding. Vitalik and Dankrad proposed a balanced split between the execution layer and consensus layer for this. At EthDenver, Proto led a hackathon team to draft and implement a proposal for EIP-4844, leading to significant contributions and milestones, including various prototypes. Mofi Taiwo from OP Labs, and Michael De Hoog and Roberto Bayardo from Coinbase contributed significantly to these prototypes. In September 2022, the Ethereum community celebrated the Merge, clearing the way for EIP-4844 to be considered for inclusion in core dev calls to close out the year.
In 2023, efforts concentrated on client interoperability of the EIP 4844 implementation, the KZG ceremony, and extensive testing through devnets, load tests, and shadow forks, preparing for scheduled testnet upgrades.
By 2024, the Ethereum community had rolled out testnets including Goerli, Sepolia, and Holesky, leading up to the Mainnet upgrade to 4844 on March 13, signifying a major milestone in Ethereum's ongoing evolution towards greater scalability and efficiency.
Building the upgrade & navigating challenges
The journey to bring EIP-4844 to the Ethereum mainnet was nothing short of a Herculean task. Spanning over two years, this multi-disciplinary R&D effort aimed to scale Ethereum's throughput to unprecedented levels, tackling numerous challenges along the way. Here are just a few the core devs encountered:
- Design and Prototype Complexity: Spearheaded by researchers, the initial phase involved grappling with the intricate design of EIP-4844, setting the stage for what was to come.
- Multi-Client Interoperability: Implementers faced the daunting task of ensuring seamless operation across different Ethereum clients, addressing the network's inherent complexities.
- Transaction-Pool Design: The Geth team took on the challenge of designing a transaction pool that could withstand DoS and load issues, a critical component for scalability.
- Supporting New Cryptography: The implementation of KZG cryptography necessitated a dedicated team to conduct a special ceremony, ensuring the network's security and integrity.
- Ensuring Network Robustness: From stress-testing for throughput to orchestrating devnets, testnets, and shadowforks, the EF Devops team played a pivotal role in ensuring the network's readiness for EIP-4844.
Reflections and future ambitions in scaling
The Ethereum ecosystem has evolved dramatically in the years since the introduction of EIP-4844. From ambitious sharding proposals and the pivot towards a rollup-centric roadmap, the journey has been marked by significant milestones, including the launch of the proof-of-stake Beacon Chain and the pivotal Merge.
Looking to the future, the vision for full danksharding and beyond holds exciting possibilities. Some of these include planned incremental increases in blobs per block, the exploration of innovative data availability solutions like PeerDAS and full DAS, and parallel R&D efforts on key themes like MEV resistance, Verkle Trees, and network optimization. All of these signal a vibrant roadmap ahead.
The realization of EIP-4844 is a moment of celebration for the Ethereum community. As we reflect on this journey, we recognize the collective effort of core Ethereum developers and researchers. The path ahead is filled with opportunities and challenges, but if the story of EIP-4844 teaches us anything, it's that the Ethereum community is more than capable of turning visionary ideas into reality.
EIP-4844 authors and contributors
The core of the upgrade was meticulously crafted by a team of Ethereum Foundation researchers and developers. Vitalik Buterin (@vbuterin) and Dankrad Feist (@dankrad) were instrumental as core contributors to the full danksharding design, laying the groundwork for the upgrade. Diederik Loerakker (@protolambda) acted as a bridge from research to engineering, drafting the initial specifications and implementing an execution-layer prototype. George Kadianakis (@asn-d6) played a crucial role in stewarding the KZG cryptographic libraries towards adoption by client-implementers and supporting the KZG setup integration. Matt Garnett (@lightclient) and Mofi Taiwo (@Inphi) contributed through execution-layer prototyping, spec review, and cross-L1 interop testing. Finally, Ansgar Dietrichs (@adietrichs) offered valuable insights into fee-market improvements and specification feedback.
Beyond the core authors, the upgrade benefitted from a wide range of external contributions, each bringing a unique perspective and skillset. The Prysm team offered early consensus-layer support while EF Devops helped with network stress-testing and testnet development. Carl Beekhuizen and Trent Van Epps contributed to the KZG Ceremony, while Tim Beiko and Danny Ryan were pivotal in coordinating the development efforts and fostering a productive feedback loop between implementers and researchers. Contributions from Consensys R&D, spearheaded by Anton Nashatyrev, enriched the network modelling and the design of blob gossip. Input from various L1 client developers helped immensely with multi-client production implementation. Last but not least, Roberto Bayardo (@roberto_bayardo) played a significant role in execution-layer prototyping and providing feedback on specifications. This collaborative effort underscores the community’s dedication to improving the Ethereum ecosystem, demonstrating the power of collective action.