Dencun Upgrade
Ethereum Dencun Upgrade, also known as Cancun-Deneb, is a significant hard fork on Ethereum's network to address some of the key challenges Ethereum faces, particularly in terms of scalability, efficiency, and security. It is also known as the Cancun-Deneb upgrade.[21]
Overview
The Dencun(Cancun-Deneb) Upgrade is a significant hard fork upgrade for Ethereum aiming to reduce transaction costs on auxiliary layer-2 networks by introducing a dedicated space for data storage called data blobs. The upgrade is a milestone in Ethereum's development and will improve its scalability, security, and performance of the Ethereum blockchain through a series of Ethereum improvement proposals (EIPs).[25]
- EIP-1153: Transient Storage opcodes
- EIP-4788: Beacon block root in the EVM
- EIP-4844: Shard Blob Transactions
- EIP-5656: MCOPY - Memory copying instruction
- EIP-6780: SELFDESTRUCT only in the same transaction
- EIP-7044: Perpetually Valid Signed Voluntary Exits
- EIP-7045: Increase max attestation inclusion slot
- EIP-7514: Add Max Epoch Churn Limit
- EIP-7516: BLOBBASEFEE instruction
Dencun marks the beginning of Ethereum’s Surge phase in its roadmap. During this phase, Ethereum aims to achieve mass adoption while maintaining decentralization. Layer-two solutions like rollups will play a crucial role in achieving scalability without compromising security.
The name “Dencun” is a blend of two simultaneous upgrades happening on both sides of the Ethereum blockchain:
- Cancun: This upgrade focuses on the execution layer, where all protocol rules reside.
- Deneb: The consensus layer, which validates blocks.
Major goals of Dencun Upgrade
- Increase transaction throughput: Dencun aims to address Ethereum's current scalability limitations, which have led to high gas fees and network congestion. It aims to increase the total number of computations the network can handle, making it more competitive with faster blockchains.
- Reduce gas fees: By increasing transaction throughput, Dencun hopes to alleviate network congestion, leading to lower gas fees for users.
- Lay the groundwork for full sharding: Dencun includes proto-danksharding, a crucial step towards full sharding. Sharding involves splitting the blockchain into smaller, more manageable pieces, further improving scalability.
The Dencun Upgrade is scheduled for March 13, 2024. [4]
With the Cancun-Deneb Upgrade, there is a clear focus on improving Ethereum scalability through the creation of “data blobs”: a new transaction type intended to scale data availability for Layer 2 (L2) rollups.[19][20]
Ethereum Roadmap
Stage | Name | Goal |
---|---|---|
I | The Merge | Move to proof-of-stake (PoS) consensus |
II | The Surge | Rollup-centric scaling to 100,000+ transactions per second |
III | The Scourge | Avoid centralization and other protocol risks from maximal extractable value (MEV) |
IV | The Verge | Verifying blocks to become “super easy” |
V | The Purge | Simplify the protocol and reduce the costs of running network nodes |
VI | The Splurge | “Fix everything else” |
Ethereum Network
The Ethereum network is divided into two main layers: the Execution Layer and the Consensus Layer and the Dencun upgrade will include a series of improvements to both the execution layer (Cancun) and the consensus layer (Deneb) of the Ethereum network.
The Dencun Upgrade is part of Ethereum's ongoing evolution, building upon the successes of previous upgrades like the Shanghai upgrade.[22]
Execution Layer
The execution layer of Ethereum is the pre-Merge Ethereum mainnet. It is also known as Eth1, and is responsible for processing and executing smart contracts and transactions on the chain. The execution layer is a major component of OP Stack, where it is referred to as the EVM (Ethereum Virtual Machine). Some examples of execution layer clients include:
- Geth : A stable and reliable multithreaded execution client that can take advantage of your entire CPU
- Nethermind : An Ethereum execution layer client built on .NET.core that is suitable for regular users and enterprise-grade dApps [2]
Execution layer hard forks are named after the cities that have previously hosted Devcon: Berlin -> London ->Shanghai -> Cancun -> Prague -> Osaka -> Bogotá.
EIP-5656 and EIP-6780 are Cancun-specific (execution layer) Upgrades.[1]
Consensus Layer
Consensus layer is responsible for the agreement on the state of the network among all nodes. It ensures that all transactions and smart contracts are validated and agreed upon via Proof of Stake (PoS). Ethereum's Consensus Layer (Eth2) is a series of upgrades to Ethereum's blockchain. The goal of the upgrades is to improve the blockchain's speed and capacity, reduce transaction costs, and increase security. It ensures everyone is on the same page about which transactions occurred, when they happened, and in what order. The consensus layer also provides a number of crucial services to the network including Timekeeping, Generating randomness, Staking operations, Governance mechanisms. [1]
In September 2022, Ethereum successfully changed its consensus mechanism by its transition away from proof of work(PoW) to proof of stake(PoS). This transition was known as the merge.[3]
Each consensus layer upgrade is given the name of a star, with the names chosen in alphabetical order based on the first letter: Altair -> Bellatrix -> Capella -> Deneb -> Electra -> (F)unknown.[1]
EIPs integrated into the Dencun Upgrade
EIP-1153: Transient Storage opcodes
EIP-1153 introduces transient storage opcodes, which aim to improve efficiency and reduce costs associated with storage operations during smart contract execution. EIP-1153 presents a significant advancement in optimizing transaction execution on the Ethereum blockchain. EIP-1153 addresses gas inefficiencies, enhancing smart contract performance. [9][6][10][18]
EIP-4788: Beacon block root in the EVM
EIP-4788 proposes to expose the beacon chain block root in the Ethereum Virtual Machine (EVM). The Beacon chain block root is a type of accumulator used to prove arbitrary consensus states. By exposing the Beacon chain block root in the Ethereum Virtual Machine, it allows for access to the Ethereum consensus layer with minimized trust. This improvement protocol also facilitates the development of use cases such as Staking pools and smart contract bridges, enhancing their trust assumptions.
EIP-4788 eliminates the need for trusted oracle solutions in gaining information about Ethereum's consensus state. Liquid staking pools, such as Lido and Rocket Pool, and re-staking applications like EigenLayer, stand to benefit.[5][6][7][17]
EIP-4844: Shard Blob Transactions
EIP-4844, also known as Proto-Danksharding, is a recent proposal that aims to scale Ethereum’s L2 structure, allowing rollups to take advantage of a new fee market for embedded data. This improvement proposal is presented as a stopgap solution to scale Ethereum through rollups while sharding, Ethereum’s layer 1 scaling strategy, gets implemented.
The changes in EIP-4844 would be compatible with the upcoming sharding solution, allowing for a seamless sharding implementation when it’s ready.[8][6][19]
EIP-5656: MCOPY - Memory copying instruction
EIP-5656 is a proactive implementation of a new opcode that promises greater efficiency in how data may be moved in the EVM. Specifically, EIP-5656 introduces a new EVM instruction known as MCOPY.
MCOPY is designed to optimize the performance of memory copying within the EVM, offering a more efficient method for constructing data structures. It works by taking two memory pointers as input and copying the data from the source pointer to the destination pointer. The size of the data to be copied is specified by a third input parameter.
It is more efficient than the current method of memory copying in the EVM, which involves using a loop to copy the data one byte at a time. MCOPY is able to copy the data in bulk, which is much faster. It also has the advantage of being more concise than the current method of memory copying. MCOPY makes it easier to write and read smart contracts.[1][15]
EIP-6780: SELFDESTRUCT only in same transaction
EIP-6780 is designed to disempower the SELFDESTRUCT opcode while causing minimal disruption to smart contracts currently utilizing it. This proposal modifies the functionality of the SELFDESTRUCT opcode in preparation for the Verkle Tree architecture to be used in future Ethereum applications.
Currently, Ethereum applications use the Merkle Tree architecture, and the SELFDESTRUCT opcode can be used to make significant changes to account states, such as deleting code and storage. However, when the Verkle Tree architecture is used in future Ethereum applications, it will not be easy to modify or delete accounts because Verkle Tree architecture stores each account in a different account key that is not connected to the root account.
Therefore, EIP-6780 proposes a modification to the functionality of the SELFDESTRUCT opcode. According to EIP-6780, the modified SELFDESTRUCT opcode will no longer have the ability to change or delete accounts when used, and will only be used to transfer ETH to the caller, except in the case where SELFDESTRUCT is called in the same transaction created by a smart contract.[1][14]
EIP-7044: Perpetually Valid Signed Voluntary Exits
EIP-7044 addresses a significant limitation in the existing Ethereum network related to the validity period of signed voluntary exits. Currently, these exits are only valid for the next two network upgrades, which imposes complex challenges, particularly in scenarios where staking operators differ from fund owners.
This proposal seeks to motivate the adoption of "perpetual validity" for signed voluntary exits on the Capella blockchain, ensuring that they remain valid indefinitely, regardless of any future upgrades.
The primary objectives of this proposal are to simplify the design of staking operations and enhance the user experience. This streamlines operations, ensures Consensus Layer compatibility, and mandates transitioning pre-signed exits to the Capella fork domain. The proposal simplifies staking.[11][16]
EIP-7045: Increase max attestation inclusion slot
EIP-7045 introduces a critical change in the Ethereum network by extending the maximum inclusion slot for attestations. This proposal seeks to enhance the security and efficiency of Ethereum's consensus mechanism. Currently, attestations have a limited window for inclusion, but EIP-7045 widens that window, enabling attestations to be valid until the end of the next epoch.
This shift is rooted in the evolving understanding of LMD-GHOST security proofs and the need for a new confirmation rule. By allowing attestations to remain valid for an extended period, Ethereum can improve its security while also enhancing its performance, particularly in confirming blocks in a more timely manner.[13][16]
EIP-7514: Add Max Epoch Churn Limit
EIP-7514 aims to cap the epoch churn rate in Ethereum's Beacon Chain to control the validator growth rate, shifting it from exponential to linear. This measure is in response to concerns about the scalability of Ethereum clients managing a large validator set, potential centralization risks due to the dominance of liquid staking platforms like Lido, and the financial burdens on solo stakers.
EIP-7514 aims to introduce a short-term solution capping the validator churn rate to give Ethereum's developers and stakeholders more time to work on long-term strategies.[12][18]
EIP-7516: BLOBBASEFEE instruction
EIP-7516 introduces the BLOBBASEFEE opcode in Ethereum, which allows smart contracts to access the current base fee for data blobs on-chain directly. This helps rollup contracts to manage and predict their data blob costs more effectively.
The BLOBBASEFEE instruction returns the value of the blob base-fee of the current block it is executing in. It is identical to the BASEFEE opcode as defined in EIP-3198 except that it returns the blob base-fee as per EIP-4844.[23][24]