Ethereum’s Dencun upgrade: the next major step in scalability
Ethereum developers are planning the next major upgrade to the blockchain, called “Dencun,” which will involve two simultaneous upgrades known as “Cancun” and “Deneb.”
Ethereum’s developers are testing out other proposals that could make it into the next hard fork. They aim to push Dancun live in the second half of 2023, marking a significant milestone in the evolution of the Ethereum blockchain. The Dancun upgrade is expected to bring about improvements in terms of scalability, efficiency, and security, making the Ethereum network more robust and capable of handling higher transaction volumes.
The primary objective of the upgrade is to increase space for data, known as “blobs,” in order to scale the blockchain and reduce fees for layer-2 rollups. The upgrade will also include other technical upgrades, but the full scope is yet to be determined. The developers are testing out other proposals before finalizing what will make it into the next hard fork, and they aim to push Dencun live in the second half of 2023.
This upgrade will include Ethereum improvement proposal (EIP) 4844, or Proto-Danksharding, as well as EIPs 6780, 6475, and 1153.
Danksharding is a new sharding design proposed for Ethereum (ETH) that simplifies previous designs. It provides more space for blobs of data for layer-2 rollup protocols that support high-throughput transactions. The merged fee market is the main innovation introduced by Danksharding, where there is only one proposer that chooses all transactions and data that go into the slot.
Proto-danksharding is a proposal to implement most of the logic and “scaffolding” for Danksharding, including a new transaction type called a blob-carrying transaction. Blob data is not accessible to EVM execution but can be much cheaper than similar amounts of calldata. The available documentation claims that the difference between the average load and worst-case load justifies adding 1 MB of data to blocks that everyone has to download but not to make calldata 10x cheaper.
This would result in around 2.5 TB of growth per year, which is higher than Ethereum requires today. Implementing history expiry through EIP-4444 or the consensus layer could help limit the amount of data that needs to be stored, the report highlighted that keeping all historical data forever is not the goal of the protocol.
Ethereum Improvement Proposal 4844 introduces the concept of “blobs”, which are vectors of 4096 field elements that represent a polynomial over a finite field. Two precompiles, the blob verification precompile, and the point evaluation precompile, are introduced in proto-danksharding to verify the validity of the blobs. The blob verification precompile is intended to be used by optimistic rollups, while the point evaluation precompile is intended to be used by ZK rollups. Both precompiles are designed to improve the efficiency of the verification process in rollup protocols.
Ethereum Improvement Proposal (EIP) 6780 suggests a change to the functionality of the SELFDESTRUCT opcode to prepare for the implementation of Verkle trees. The proposed change would limit SELFDESTRUCT to only transferring all ether in the account to the caller, except when called in the same transaction as a contract creation, in which case the storage keys and account would still be deleted.
EIP-6475 proposes the addition of a new Simple Serialize (SSZ) type to represent Optional[T] values, providing better readability and more compact serialization. The proposed type, Optional[T], defines a value of SSZ type T or the absence of a value.
EIP-1153 proposes the addition of two new opcodes, TLOAD and TSTORE, to allow manipulation of transient storage that behaves like storage but is discarded after every transaction. This introduces a gas-efficient solution to inter-frame communication and reduces the need for storage updates, which can be costly. The new opcodes are more efficient than SLOAD and SSTORE as the original value is not loaded from storage, and no refunds are required. Possible use cases include reentrancy locks, fee-on-transfer contracts, and proxy call metadata. The proposal is currently being peer-reviewed.
Eager but cautious
While the upgrade is eagerly anticipated, the developers caution that there could be potential drawbacks or unforeseen consequences. For instance, the implementation of larger blocks could lead to increased disk space requirements, potentially leading to issues for nodes with limited storage capacity. Moreover, high levels of historical data storage could lead to data availability verification issues and forgetfulness.
Overall, the Dancun upgrade represents a significant step forward in the development of the Ethereum blockchain. As the Ethereum community awaits the rollout of Dancun, developers continue to test and refine the proposed changes, ensuring that the upgrade will deliver the promised improvements without compromising the stability and security of the network.