Danksharding and Proto-danksharding Explained
|— The Ethereum network is working towards improving its scalability, as blockchain apps are heavy to run which slows down transaction times.
— Danksharding aims to solve Ethereum’s scalability issue but introducing it will take several upgrades.
— EIP-4844, or proto-danksharding, lays the groundwork for Ethereum’s future by introducing a new type of transaction and a way to store temporary data.
If you know anything about the Ethereum network, you probably know that it’s the hub for decentralized applications (dApps) due to its capability to host smart contracts. Ethereum is still the most popular network for blockchain apps today, and as such this puts the network under huge amounts of pressure. Unfortunately, hosting so many platforms, protocols, apps and tokens slows down its transaction finality and causes exorbitant fees.
To combat this scalability issue, the Ethereum roadmap includes several upgrades. With the Merge, Ethereum became a proof-of-stake chain, greatly reducing its power consumption and opening the door to innovations only possible on PoS networks. But to achieve cheaper and faster transactions, Ethereum still has a way to go.
One plan for the network was to implement sharding, a way to reduce network congestion and fees by splitting the massive Ethereum blockchain into smaller partitions. But the current solution it has found is danksharding: a way to make transactions much quicker and cheaper than they are currently.
However, upgrading the Ethereum network isn’t easy. Its high network activity and the sheer number of apps relying on the network means big updates to the network’s consensus can take months or even years to implement. As such, it needs a custom solution. Enter proto-danksharding: it’s essentially a step between Ethereum as you know it today and its danksharding future.
But before we get into the details, what is danksharding in the first place? Let’s dive in.
What Is Danksharding?
Danksharding introduces a way to communicate with existing Ethereum layer two solutions, which is much easier to implement than sharding the whole Ethereum network. It also introduces a way to process more data per block, allowing for more complex transactions without slowing down the network or raising its gas fees.
Essentially, it’s all about making blockchain rollups more efficient.
To understand how it works, let’s first dive into how blockchain rollups interact with the Ethereum blockchain currently. Today, rollups batch and process Ethereum transactions on their Layer 2 chain, then transmit a “validity proof” on the Ethereum main chain. While this method does save costs, over 90% of rollup transaction costs still go directly to the Ethereum mainnet for posting that proof.
Danksharding will allow the Ethereum network to process these bundled transactions from layer two rollups without storing all of their data immutably. This essentially means the Ethereum mainnet is less burdened by data in the long term.
What Is Proto-danksharding (EIP-4844)?
Proto-danksharding is a proposal, which when implemented, would provide the foundations to introduce danksharding to the Ethereum network. The concept was proposed in Ethereum Improvement Proposal 4844 (EIP-4844), and named after Ethereum researchers Dankrad Feist and Proto Lambda. Soon, EIP-4844 is due to be implemented as part of Ethereum’s Dencun Upgrade scheduled for March 13th, 2024.
How Does Proto-danksharding Work?
In preparation for danksharding, proto-danksharding introduces a new transaction type called “blob-carrying transactions” and its associated data type — “blobs”. Essentially, these two features allow the Ethereum network to process data from blockchain rollups more effectively. Let’s see how they work:
What Are Blobs (Binary Large Objects)?
To understand their significance in crypto though, it’s important to know that Ethereum currently stores all of its data on every node in the network—and this data lasts forever. It does this using its persistent memory store, calldata, however, this method of storing data is heavy on the system, and it’s also very expensive.
Blobs, on the other hand, are cheaper to maintain since they have an expiry date of 4096 epochs, (approximately 18 days). This drastically reduces their storage cost. Each blob can store up to 128 kb of data, and each block can contain up to 16 data blobs. This is a lot of data storage available for more temporary means. In the long run, it means the Ethereum network is storing less data per block.
What Are Blob-Carrying Transactions?
Blob-carrying transactions are a new type of transaction on the Ethereum network designed specifically for handling blobs. Essentially, they carry a validity proof which allows the Ethereum chain to verify their authenticity without reading the blob itself.
To do this, it uses a mechanism named a KZG commitment scheme. Using Zero-Knowledge proofs, the mechanism guarantees the EVM can view a commitment to a blob, but not the blob data itself. Blob-carrying transactions have their own mempool separate from the EVM. This keeps data safe while optimizing block space.
And of course, as a new type of transaction, there’s a new fee mechanism to match. Derived from EIP-1559, the pricing structure for blob-carrying transactions is dynamic; based on supply and demand. Typically, more than three blobs per transaction cause higher fees, varying by approximately 12.5% from block to block.
Pros of Danksharding
Reducing Transaction (Gas) Fees
The first benefit of danksharding is reduced transaction fees. To explain, high gas fees on the Ethereum network are primarily caused by network congestion. This can occur when there are huge numbers of people accessing blockchain apps and platforms on the Ethereum network. And, as you know, Ethereum is the home of the majority of dApps, meaning network congestion is a frequent issue users face. By allowing the network to process rollups more easily, danksharding will help Ethereum avoid congestion. This will improve gas fees on the wider Ethereum network—not just using a layer two chain.
Another benefit of danksharding is that it allows Ethereum to process transactions much faster than was previously possible. By introducing a way to store data temporarily, it helps the network’s nodes. Previously, each node would store an entire copy of the blockchain’s history which is a heavy burden. With danksharding, the nodes store and process much less data, allowing them to work more efficiently. This means that your transactions become much faster.
Cons of Danksharding
While danksharding may be the answer to Ethereum’s scalability concerns, there are some concerns about its security.
While this method is much easier to implement on the network than the previous plan, sharding, Danksharding involves validating blob-carrying transactions off-chain. This is a security risk, as less popular rollups may become targets for bad actors. To explain, the smaller and less experienced the chain, the easier it is to attack. This could mean that blob-carrying transactions from malicious sources could end up on the Ethereum mainnet. While rollups have security measures to defend against this, they are not as robust as the Ethereum mainnet.
The Future of Proto-Danksharding
As the largest smart contract blockchain, Ethereum has faced significant challenges in scaling its infrastructure to meet the growing demand. However, ongoing scaling efforts such as sharding and the Ethereum Dencun upgrade represent promising steps toward improving the network’s capacity and performance.
The Ethereum Dencun Upgrade, which includes proto-danksharding, went live on the Goerli testnet on Jan 17th, 2024. The final test on Holesky testnet concluded successfully in Feb 2024, and in theory, it will go live at on March 13th.
However, remember: it might be a while before the Ethereum mainnet integrates danksharding itself. The future of the Ethereum chain likely lies in blockchain rollups, and danksharding is just one way it is accommodating that potential.