Beginner's Guide to Danksharding and Proto-danksharding

Blog_Sharding.png

The Ethereum network is the go-to for decentralized applications (dApps) because of its smart contract capabilities. It remains the most popular network for blockchain apps, but this comes at a cost. The network is under immense pressure due to the sheer number of platforms, protocols, apps, and tokens it hosts, leading to slow transaction processing times and high fees.


To address the scalability problem, Ethereum's development plan proposed several improvements. The Merge has transformed Ethereum into a proof-of-stake network, significantly decreasing its energy usage and enabling PoS networks to introduce innovative features. However, Ethereum still has some work to do to make transactions more affordable and efficient.

Sharding as a solution

A potential solution for reducing network congestion and fees on the Ethereum blockchain is to implement sharding, which involves partitioning the blockchain into smaller sections. However, an alternative solution, danksharding, has been identified to make transactions faster and more affordable.

Implementing upgrades to the Ethereum network is challenging due to its high network activity and the numerous apps that depend on it. As a result, significant updates to the network's consensus can take several months or years, to complete. So, a customized solution is required. Proto-dank sharding is the solution that bridges the gap between the current Ethereum network and its future danksharding iteration. 
But first, let's explore what danksharding means.

What is Danksharding?


Danksharding presents a method of communicating with existing Ethereum layer two solutions that is much simpler to implement than sharding the entire Ethereum network. It also allows for processing more data per block, enabling more intricate transactions without compromising the network's speed or increasing gas fees.


The goal here is to increase the efficiency of blockchain rollups. To understand how this is achieved, let's discuss how blockchain rollups interact with the Ethereum blockchain. 

Currently, the rollup batch processes Ethereum transactions on their Layer-2 chain and then sends a "validity proof" to the Ethereum main chain. While this approach does reduce costs, over 90% of rollup transaction costs are still directed towards the Ethereum mainnet for posting that proof.
 

With danksharding, the Ethereum network can handle bundled transactions from layer two rollups without immutably storing all their data. This reduces the data burden on the Ethereum mainnet in the long run.

What Is Proto-danksharding (EIP-4844)?


Proto-danksharding is a proposal that aims to introduce danksharding to the Ethereum network. It was proposed in Ethereum Improvement Proposal 4844 and named after Ethereum researchers Dankrad Feist and Proto Lambda. It was set to be implemented as part of Ethereum's Dencun Upgrade that occurred on March 13th, 2024.

How Does Proto-danksharding Work?

While preparing for danksharding, proto-danksharding introduced a new transaction type called "blob-carrying transactions" and its associated data type "blobs." These features allow the Ethereum network to process data from blockchain rollups more efficiently.  Let's take a closer look at how it works.

What are Blobs (Binary Large Objects)

Blobs are a standard temporary data storage. They are relatively new to the Ethereum network but can be found across programming languages such as Javascript and Python.

Currently, Ethereum stores all its data on each node in the network, which lasts indefinitely. This is made possible through calldata a persistent memory store. However, this method is resource-intensive and comes with a high cost.

In comparison, blobs are more cost-effective to maintain because they have an expiration date of 4096 epochs, roughly 18 days. This significantly lowers their storage expenses. A single blob can hold up to 128 kb of data, and each block can carry up to 16 data blobs. This provides ample storage space for more short-term purposes. Overall, it implies that the Ethereum network stores less data per block over time.

What are blob-carrying transactions?


Blob-carrying transactions are designed to handle blobs and carry validity proof that the Ethereum chain can use to verify their authenticity without actually reading the blob itself.


Using a KZG commitment scheme mechanism, the EVM can observe a commitment to a blob without access to the actual blob data through Zero-Knowledge proofs. Transactions that carry blobs have their mempool separate from the EVM, ensuring data safety while maximizing block space.

As a new type of transaction, Blob-carrying transactions have a new fee mechanism. The pricing structure for blob-carrying transactions is dynamic and based on supply and demand. More than three blobs per transaction typically cause higher fees, varying by approximately 12.5% from block to block.

What are the benefits of danksharding?

  • Reducing gas fees
    One of the advantages of danksharding is that it reduces transaction fees. This is because high gas fees on the Ethereum network are mainly caused by network congestion. Network congestion can occur when many users access blockchain apps and platforms on the Ethereum network simultaneously. 

    As you may know, Ethereum is home to most dApps, making network congestion a common problem for users. Danksharding will assist Ethereum in avoiding congestion by making it easier for the network to process rollups. This will positively impact gas fees across the broader Ethereum network, not just on an L2 chain.

     

  • Faster transactions
    Danksharding enables Ethereum to process transactions faster. It temporarily stores data, which benefits the network's nodes. Before danksharding, each node had to store the entire copy of the blockchain's history, which was a cumbersome task. 

    But with danksharding, nodes store and process less data, which enables them to work more efficiently. As a result, transactions become much faster, which is beneficial.

What are the cons of danksharding?

  • Security issues
    Although danksharding has been proposed as a solution to Ethereum's scalability issues, some have raised concerns about its security.

    The Danksharding method is a simpler implementation on the network than sharding, as it involves validating blob-carrying transactions off-chain. However, it poses a security risk, as malicious actors may target less popular rollups due to the smaller and less experienced chain being easier to attack. 

    Therefore, malicious blob-carrying transactions could end up on the Ethereum mainnet. Although rollups have security measures to defend against this, they are not as robust as the Ethereum mainnet.

What's next for Proto-danksharding in Ethereum?

Ethereum blockchain has encountered obstacles in scaling its infrastructure to keep up with the increasing demand. However, continuous efforts to scale — sharding and the Ethereum Dencun upgrade — have indicated optimistic progress in enhancing the network's capacity and performance. The Ethereum Dencun Upgrade went live on March 13th. We expect the Ethereum network to explore various solutions to accommodate its potential growth. Danksharding is just one of several solutions.