All the talk in the Ethereum community these days is about the merge. It's the most anticipated protocol upgrade and will be a critical event in crypto history. Nevertheless, core developers are already planning for the next big thing, and this time will be all about scalability.
image taken from Vitalik's blogpost about sharding
The Ethereum roadmap has featured sharding as a scalability improvement for quite some time now, and the time for it to make it into the core protocol is getting close. Since the Ethereum developers first covered the actual implementation of sharding, it has changed a lot, though. The current one is called danksharding (dank from its proposer dankrad), designed to reduce its complexity.
Nevertheless, it'll still require lots of work, and that's where EIP-4844 or, more commonly known, proto-danksharding (proto from its proposer, protolamda) comes in.
Proto-danksharding will pave the way to danksharding implementation and increase layer-2 scalability, especially for rollups.
Rollups and Their Data
Rollups work by executing transactions off-chain, relieving the base layer from this computation. However, they still need to post transaction data on-chain. This is precisely the main bottleneck keeping the fees high for the end-user because permanently storing data on Ethereum is quite expensive.
Rollups currently use calldata to post their data on-chain, which costs a lot of gas, and that's why transaction fees on rollups are still not cheap.
Meet the Blobs
Proto-danksharding will introduce a new transaction type: blob-carrying transaction.
A binary large object (blob) is a big piece of data that is cheaper to publish and store on-chain than calldata. By using blob-carrying transactions, rollups can upload all their data to Ethereum, paying less and ultimately charging lower fees to users.
How are Blobs Cheaper than Calldata?
Currently, every transaction fee on Ethereum is priced according to the gas price market in auction-style: who bids more gets their transaction included in a block first. After proto-danksharding, blob-carrying transactions won't participate in the same fee market as other transactions. Instead, a multidimensional fee market is implemented, and the gas used to pay for blob transactions will have separate pricing from the gas used to pay for standard transactions.
Won't This Increase Ethereum's Blockchain Size?
Yes and no, actually.
After EIP-4844 average block size grows from 84KB to 1MB (more than a 10x increase), but there is a catch: the data in the blocks will be stored only for 30 days by the nodes. The goal of publishing this data on Ethereum is not to have it permanently available on the blockchain but to guarantee that it has been known for a sufficient amount of time for external entities (such as block explorer, full storage nodes, rollup sequencers) to ensure its validity.
How Much Will Fees Drop on Layer 2?
After implementing EIP-4844 and after rollups upgrade to support the new parameters, we could see a 10-100x decrease in transaction fees in both optimistic and ZK-rollups. A massive scalability improvement is needed to make these platforms usable for everyday users.
Paving the Way for Danksharding
The implementation of Danksharding is based on EIP-4844. This sharding will only affect the new blob-carrying transactions and their fee market. Ultimately, it's like the Ethereum core devs are providing us with a foretaste of what is later to come.