In the fast-changing world of blockchain technology, Ethereum stands out as a leader in innovation, always pushing the limits of what's possible. But, like any other journey, it comes with challenges. One big hurdle is scalability, which limits how many decentralized applications (dApps) and users Ethereum can support. This not only slows down transactions but also makes them more expensive, making it tough for Ethereum to become widely adopted.

Now, let's talk about "danksharding." It might sound funny, but it's an important concept in the blockchain ecosystem. Picture a busy city with just one road. No matter how good the cars are, there will be traffic jams. Danksharding suggests turning that one road into a network of highways, each handling transactions at the same time, which would boost Ethereum’s capacity and reduce congestion.

Introducing proto-danksharding, explained in Ethereum Improvement Proposal 4844 (EIP-4844). Think of it as laying the foundation for these highways, making sure they smoothly integrate into the city. EIP-4844 aims to tackle Ethereum's scalability issues by introducing "blobs" i.e chunks of data processed more efficiently than before. This proposal introduces a new transaction type featuring a "blob" data field, allowing for opaque byte strings with a capacity of about 125 KB.

This isn't just fixing a problem; it's revolutionizing the system, letting Ethereum scale in ways we once thought were impossible.

This article breaks down proto-danksharding (EIP-4844), making them easy to understand. From the basics to what it means for Ethereum's future, we'll cover everything about this important upgrade. Whether you're a blockchain fan keeping up with the latest or a developer wanting to work on Ethereum, knowing proto-Danksharding is key. Let's explore this proposal together, navigating through the details of a game-changing idea for blockchain scalability.

What is EIP-4844?

EIP-4844, casually called proto-danksharding, is a significant step in dealing with Ethereum's challenges of scalability and expensive transaction fees. It’s more of a first step towards a bigger solution of sharding, with the goal of setting the foundation for a more scalable and efficient Ethereum network.

Proto-Danksharding brings together two ideas: "Proto-," meaning the starting or first phase, and "Danksharding," an advanced way of sharding in the Ethereum system, named after two researchers who proposed the idea: Protolambda and Dankrad Feist. Sharding is a technique in blockchain that breaks the database into smaller, quicker, and easier-to-handle parts known as shards. However, unlike regular sharding that divides the blockchain state, Danksharding concentrates on splitting and improving the data availability layer.

Currently, rollups face cost limitations for user transactions due to posting in CALLDATA, an expensive and permanent on-chain process. Proto-Danksharding solves this by introducing data blobs attached to blocks. These blobs, inaccessible to the EVM, are automatically deleted after 1-3 months, allowing rollups to send data more affordably and offer users cheaper transactions.

Concept of "Blobs"

The core components of proto-danksharding include:

  • Blob-carrying transactions: These are a new type of transaction capable of carrying large data blobs (binary large objects).

  • Data blobs: These blobs are sizable chunks of data that can be attached to Ethereum blocks without being executed by the Ethereum Virtual Machine (EVM), hence not affecting the blockchain's state directly.

  • KZG commitments: KZG commitments, named after their creators Kate, Zaverucha, and Goldberg, are a cryptographic technique used to create compact representations (commitments) of data blobs. These commitments allow anyone to verify the existence of a specific piece of data within the blob without revealing the entire blob.

KZG commitments, used in EIP-4844, play an important role in ensuring data availability. They allow verification of whether specific data exists within a blob, without revealing or needing to download the entire data. This contributes to maintaining the security and integrity of the blockchain while enabling efficient inclusion of large data blobs.

Blobs play a central role in proto-danksharding. They are essentially large packets of data that can be included in Ethereum blocks. These blobs are meant to carry significant amounts of data at a lower cost compared to storing data directly on the Ethereum blockchain. By doing so, they significantly reduce the gas fees associated with transactions that require large data payloads, such as those used by Layer 2 scaling solutions.

A Blob’s Lifecycle

The lifecycle of a blob transaction begins with its creation and submission to the network. Validators then process these transactions, verifying the availability of the data blobs without executing them in the EVM. Blobs are included in the blockchain for a predetermined period before being removed, ensuring they do not permanently bloat the blockchain's size.

How Blobs are Integrated into Ethereum Blocks

Integrating blobs into Ethereum blocks involves several technical steps:

  • Creation: When a transaction intends to include a large amount of data, this data is packaged into a blob.

  • Submission: The blob-carrying transaction is submitted to the Ethereum network. Along with the usual transaction data, it includes a reference to the blob of data.

  • Verification: To ensure the availability of the data within the blob, KZG commitments are used. Other mechanisms contribute to maintaining data integrity.

  • Inclusion: Once verified, the blob is included in an Ethereum block. However, it's stored separately from the traditional block space used by standard transactions. This segregation is important for maintaining the efficiency and performance of the network.

  • Retrieval: When the data within a blob is needed (for example, by a rollup protocol), it can be efficiently retrieved and verified using the KZG commitments, ensuring that the data has not been tampered with.

This mechanism of integrating blobs into Ethereum blocks is a cornerstone of proto-danksharding, enabling the network to scale by handling more data in a cost-effective and efficient manner. It represents a significant step towards solving Ethereum's scalability challenges, setting the stage for the eventual implementation of full Danksharding.

How is Blob Data Verified?

Blob data verification focuses on ensuring the data exists and hasn't been tampered with, rather than directly verifying its accuracy.

  • When a data blob is created, a KZG commitment is generated for it. This commitment is much smaller than the actual data, making it efficient to store and transmit.

  • Anyone can then use the KZG commitment and a specific piece of data to verify its existence within the blob. This verification involves checking if the commitment "matches" the data using a mathematical process based on polynomial commitment schemes, enabling efficient verification of large data sets.

  • The verification process using KZG commitments involves evaluating the commitment at a particular point and comparing this evaluation with the provided proof. If the proof correctly corresponds to the data at that point, it indicates that the data is indeed part of the blob and hasn't been altered.

  • If someone suspects data tampering within a blob, they can submit fraud proof. This involves providing the actual data along with evidence of its manipulation.

  • Validating nodes on the network, then verifying the fraud proof, and, if confirmed, taking corrective actions to ensure the integrity of the data.

In essence, verifying a blob simply requires checking that the blob is available—that it can be downloaded from the network. The introduction of blobs is a game-changer for applications requiring high throughput. They allow for a more efficient use of block space, enabling the Ethereum network to handle more transactions per second (TPS), thereby increasing its throughput.

Differences Between Blockspace and Blobspace

Benefits of EIP-4844

1. Scalability: Improving Transaction Processing Capacity

  • Increased Throughput: By introducing data blobs that can be added to blocks, EIP-4844 allows the Ethereum network to handle a much larger volume of transactions without a corresponding increase in block size or validation time. This is similar to increasing the lanes on a highway, allowing more traffic to flow smoothly without bottlenecks.

  • Data Availability Layer: EIP-4844 enhances the blockchain's data availability layer, enabling more efficient data storage and retrieval, which is critical for maintaining the network's security and decentralization while improving scalability.

  • Future-Proofing Ethereum: As the demand for Ethereum's network continues to grow with the adoption of dApps, DeFi, NFTs, and more, EIP-4844 lays the groundwork for future scalability improvements, ensuring Ethereum can continue to serve as a robust platform for decentralized applications.

2. Reduction in Gas Fees

  • Lower Transaction Costs: By allowing large amounts of data to be included in transactions at a lower cost, EIP-4844 directly impacts the gas fees users pay for transactions. This is particularly beneficial for transactions that require significant data throughput, which would otherwise be prohibitively expensive.

  • Economic Efficiency: The introduction of blobs optimizes the way data is stored and processed on the Ethereum network, translating into economic benefits for users and developers. Lower transaction fees make Ethereum more accessible and attractive for a broader range of applications and use cases.

3. Support for Layer 2 Solutions

  • Optimized Layer 2 Operations: EIP-4844 is especially significant for Layer 2 scaling solutions like rollups, which rely on posting transaction data back to the Ethereum mainnet. By reducing the cost and increasing the efficiency of these operations, EIP-4844 enhances the overall performance of Layer 2 solutions.

  • Increased Adoption of Layer 2 Solutions: With lower costs and improved efficiency, EIP-4844 is expected to drive further adoption of Layer 2 solutions. This, in turn, alleviates congestion on the main Ethereum network and paves the way for a more scalable and diverse ecosystem of decentralized applications.

  • Interoperability and Innovation: By providing a more efficient framework for data handling and transactions, EIP-4844 encourages innovation and development of new protocols and applications. It also enhances interoperability among Layer 2 solutions, fostering a more integrated and efficient Ethereum ecosystem.

EIP-4844 successful implementation will not only improve the user experience by making transactions faster and cheaper but also bolster the development and adoption of decentralized applications, securing Ethereum's position as a leading platform for blockchain innovation.

EIP-4844 Implementation and Current Status

The implementation of EIP-4844 involves several key stages:

Testnets

Several testnet deployments are currently available for developers to test and experiment with EIP-4844 functionalities. Testing helps identify and address potential bugs or issues before deployment on the mainnet.

Audits

Security audits are conducted by independent security experts to assess the code for potential vulnerabilities. This process is important to ensure the security of the protocol before deployment.

Mainnet Launch

The expected launch date for the mainnet deployment is still uncertain and depends on the completion of testing, audits, and community considerations. This is a complex process requiring careful planning and coordination.

Current Progress

KZG ceremony

No official date has been announced for the KZG ceremony. However, recent developer discussions suggest it might occur sometime in Q2 2024 (April-June). This ceremony is necessary for generating cryptographic parameters used in KZG commitments.

Testnet results

Developers are actively testing EIP-4844 on different testnets. While specific results haven't been widely shared yet, updates are expected to be provided through official channels like Ethereum blog posts and developer forums in the coming months.

The full implementation of EIP-4844 is still in progress, and it's crucial to follow official channels for the latest updates and information.

Conclusion

The implementation of EIP-4844 and the roadmap towards full Danksharding reflect Ethereum's commitment to innovation and improvement.

These developments not only aim to address the current limitations of the blockchain but also open up a myriad of possibilities for new applications and use cases that could redefine how we interact with digital and financial systems. As Ethereum continues to evolve, it remains a central figure in the broader blockchain ecosystem, pushing the boundaries of what decentralized networks can achieve.