Understanding Proto-Danksharding's Importance

Understanding Proto-Danksharding's Importance

Everybody here is likely familiar with the blockchain trilemma. We have the three factors - decentralization, security, and speed - and we have to pick two. Keeping security as something non-negotiable, we seem to be forced to pick between decentralization and speed. This is solved by Sharding.

Sharding

Anyone can run their own node to validate the transactions in a blockchain(a.k.a. decentralisation) but processing a ton of transactions, fast requires massive hardware which is pretty expensive, thereby ending up to have to compromise on speed or decentralisation.

Sharding is an end-all solution which essentially divides the blockchain into mini shards(pieces) which can all run in parallel, therefore processing significantly more transactions than before.

But this can get super complex, with the additional complexity of making sure no bugs are introduced at the protocol level, because of how much value is locked on the network, further delays things.

Letting go of Sharding = Hello Rollups 👋

Rollups(classified as Layer 2 Blockchains) are build on top on Ethereum(Layer 1 Mainnet). The core idea is that users conduct their transactions on the rollup and batch them into a single Layer 1 Mainnet transaction - therefore, rolling them up- and post the batch to a smart contract deployed on L1 mainnet. Rollup examples: Optimism, Arbitrum, zkSync, Starknet, Polygon, Mantle, the list goes on and on.

Advantage: Ethereum's mainnet validators do not have to bother with computing and verifying every single transaction, but they can still secure them by enforcing the validity of the batch given to them by the rollup.

To Scale Rollups: Danksharding

Danksharding got rid of the concept of each shard being it's own mini-blockchain on the network, and instead came up with the idea for blobs that can be constructed in a specific manner such that even though we have blocks full of large blobs of data, each individual node only needs to do a small amount of work to make sure all the data is available.

This is done by Data Availability(DA) which ensures that the data is there if you ever need it, without actually needing to download and verify it in it's entirety even when you don't need it. Read more on DA here: Celestia, Avail, EigenDA

Disadvantage: Fairly complicated, and will still take some time to actually implement.

Say YES to Proto-Danksharding (EIP-4844)

Proto-Danksharding is a simplification of danksharding, basically. It introduces a new transaction type on Ethereum - the blob-carrying transactions. This upgrade introduces a new way to store data called "blobs." These are essentially small chunks of data that are not directly included in the main Ethereum blockchain but shared on the consensus layer (Beacon Chain). Blobs must be limited in size and number for the time, and are proposed to be automatically pruned from the blockchain after approximately 18 days. This approach significantly improves data availability and reduces costs for Layer 2 solutions, representing a substantial advancement in Ethereum’s scalability and efficiency.

Read more on Ethereum Improvement Proposal 4844

Read more on Blobspace 101