Deep Dive into Danksharding and Proto-danksharding
The what's and what nots of danksharding: sharding, DAS, blobs, proposer/builder separation, proto-danksharding, benefits of danksharding.
Guess what came to mind when I first saw these terms. No, you guessed wrong…NOTHING came to mind, because I was completely clueless. But research is what I do when I’m clueless so best believe that this article is about to kill your curiosity about danksharding and proto-danksharding.
These two terms are interconnected but we can’t talk about them without taking a look at what sharding is.
WHAT IS SHARDING?
Sharding is the splitting up of a blockchain network into smaller units known as shards or shard chains. Each shard has its own data and is independent of each other. These shards can process and validate their own transactions, thereby giving the main blockchain the space to handle more transactions than it normally would. The shards communicate with each other and are all connected to the main blockchain network. Each shard submits its own record of transactions to the main chain.
Okay, maybe we need to begin from where it all started.
HOW IT ALL STARTED:
When the blockchain technology came into existence, it came with the promise of saving us from slow transactions, i.e, introducing scalability. Scalability is a blockchain’s ability to carry out a very large number of transactions per second. It is very essential for blockchains to be scalable because as the web3 industry continues to expand, mass adoption is expected and it is necessary that blockchains are capable of handling many transactions to accommodate mass users.
As important as scalability is, it is easily traded off when blockchains are being built. Most blockchains compromise scalability in order to fully achieve decentralization and security. That is why you’d see a blockchain like Ethereum handling only 15 transactions per second. Scalability was traded off to make the network more decentralized and secured. However, with the knowledge that scalability is needed for mass adoption to take place, developers had to start thinking of ways to make these already built blockchains capable of processing large numbers of transactions, AKA blockchain scaling solutions.
One of the scaling solutions that developers came up with is SHARDING. They believe that multiple shards processing multiple transactions will increase the total number of transactions that the main blockchain can handle because there will be more space for that.
Sharding was originally proposed as a scaling solution for the Ethereum blockchain soon after it went live. But even after years of being proposed, it still remains a theory as it is yet to be implemented on the Ethereum network. It was anticipated to go live post Merge, however, there was a change of plan in Ethereum’s roadmap. Sharding is no longer a part of it. Rather Ethereum is working on a different scaling solution known as “danksharding”.
Before we go further, let’s break down these two terms as they’ll be needed in explaining danksharding.
Data Availability Sampling (DAS): this is a model whereby nodes of a blockchain sample small, random portions of a block multiple times to confirm the availability of the data needed for validation of transactions. This means that the nodes won’t need to download the entire blocks in order to access the data as this takes time and reduces the blockchain’s ability to process transactions faster. DAS is a way that the network checks to ensure that data is available without making the nodes do too much work.
Think about it this way. A survey student needs to collect data about a certain species, say a particular plant. The plant is found literally everywhere on the farm which he decides to use for this study. Instead of sampling every single one of them, he rather samples them randomly across various locations on the farm. This way, he can still confirm the availability of the data (or more specifically, in this case, the feature of the plant) without needing to check every single plant.
Blobs (Binary Large Objects): blobs, just like blocks, are places where transaction data are stored on the blockchain. In other words, they are memory spaces for storing data. However, they are larger in size compared to blocks and they do not store data forever. In essence, blobs are used to store large amounts of data but only for a short period of time (one to three months).
WHAT IS DANKSHARDING?
Danksharding is a concept proposed by Ethereum researcher, Dankrad Feist in 2022.
Danksharding is a method of sharding which uses data availability sampling to check for availability of data across blobs. That is, Ethereum nodes will sample random transaction data but not those in blocks rather those in blobs. Hence, the not-to-common nickname, data sharding. Unlike the traditional sharding which aims to provide more space for the network to process transactions; danksharding aims to provide more space for blobs of data.
How does it work? Typically, rollups are known to process transactions off the blockchain, compress them and send them to the main blockchain. This reduces the workload off the main network and provides more space for it to process other transactions. But, in danksharding, rollups will use blobs to process & store data, then compress them and send them to the Ethereum mainnet. This is why some refer to danksharding as rollup sharding.
Danksharding is expected to increase the data availability rate of Ethereum from its current 70 KB/S to 1.3 MB/S. It is also anticipated to increase Ethereum throughput to 100,000 tps. Whether this is possible or not remains a theory because this so-called “scalability killer” is yet to be deployed.
HOW PROPOSER-BUILDER SEPARATION IS REQUIRED FOR DANKSHARDING
For danksharding to be on the right path, proposer-builder separation (PBS) is needed.
What is Block Building? This is the act of constructing blocks. Block builders stack transactions to be added to blocks and then submit these transactions to block proposers for them to select.
What is Block Proposing? This is the act of selecting which transactions will be added to the block. So here’s the process: builders bundle transactions to be added to the block, then submit them to the proposers who, after selection, submit back to the builders to construct the blocks.
This autonomy gives the proposers (validators) unfair control over which transactions get included in a block (Miner/Maximal Extraction Value, MEV). Proposers can use this to their advantage by first selecting their own transactions or those of people they know to be added in the block, thereby leaving other transactions pending for hours.
In danksharding, the proposer role and that of the builder will be separated. There will be only one proposer choosing the transactions to go into the block which is in contrast to what sharding was supposed to look like. With danksharding, the proposer will not be able to see the contents of the transactions which the builders submit. This will eliminate the biased mode of selecting which transactions go into the block.
In reality, it will take some years for full danksharding to go live and several upgrades are needed to get there. One of these upgrades is proto-danksharding.
WHAT IS PROTO-DANKSHARDING (EIP-4844)?
In February 2022, Vitalik Buterin, along with six other contributors created EIP-4844 also known as shard blob transactions. EIP-4844 was to implement proto-danksharding.
The prefix, “proto” is derived from one of the contributors and an Ethereum researcher who introduced blobs, Proto Lambda.
The EIP-4844 proposal introduces a new transaction format which uses blobs called blob-carrying transactions. These blob-carrying transactions are just like regular transactions, however, they differ because blobs are attached to them. Rollups will use this blob-carrying transactions format. Recall that blob data is stored only for a short period of time, so this temporary storage will cause the reduction in gas fees in rollups.
Proto-danksharding is the first step to actualizing danksharding. A reduction in gas fee is expected when proto-danksharding is finally implemented and a more significant reduction is expected after danksharding. Proto-danksharding is anticipated to go live later this year.
BENEFITS OF DANKSHARDING AND PROTO-DANKSHARDING
Proto-danksharding and subsequently, danksharding are expected to improve Ethereum’s scalability. Full danksharding is expected to increase transaction speed by more than 1000x.
Neither proto-danksharding nor danksharding will reduce gas fees in the main Ethereum network but they will make Ethereum layer 2s gas fees much cheaper.
Danksharding will enhance security.
*** *** ***
There you have it. The what’s and what nots of danksharding. Like I mentioned earlier, I hope this article did justice to your curious mind. That’s it for now, till my next article my fellow web3 enthusiasts. GM!
love this. splendid!