Ethereum's Dencun upgrade is also known as Cancun-Deneb upgrade. This article will comprehensively introduce the Cancun Upgrade to MEXCers by addressing three important areas: the fundamentals of scalability, the content of the Cancun Upgrade, and the impact of the Cancun Upgrade.
In 2014, Vitalik Buterin, the founder of Ethereum, published the Ethereum Whitepaper titled "A Next-Generation Smart Contracts and Decentralized Application Platform," ushering in a new era of "smart contracts" in blockchain technology. Countless digital pioneers created decentralized applications on the Ethereum blockchain, and novel concepts such as DeFi, NFTs, and GameFi emerged, leading to a boom in the blockchain ecosystem.
However, as more and more applications were developed, performance issues with Ethereum started to surface, such as blockchain congestion, high gas fees, and low transactions per second (TPS). In comparison to the well-known centralized financial service system VISA, which can process 50,000 transactions per second, Ethereum, the "world computer," could only handle 30-40 transactions per second, which was clearly insufficient. To meet the growing demand for user interaction and improve transaction speed, scalability became the only choice for Ethereum.
Ethereum scalability solutions can be divided into two main categories: on-chain scalability and off-chain scalability. On-chain scalability refers to improving the performance of the Ethereum blockchain itself, including: 1) increasing the block size, 2) implementing sharding, and 3) changing the consensus mechanism (note: Ethereum 2.0 has completed the transition from a proof-of-work (PoW) to a proof-of-stake (PoS) consensus mechanism). Off-chain scalability refers to implementing scalability solutions separately from the Ethereum Layer 1 network without changing the Ethereum protocol. Common off-chain scalability solutions include sidechains and Layer 2.
Different scalability solutions employ different methods to increase the number of transactions processed per second and improve the speed of each transaction in Ethereum. Here, we will only introduce concepts related to the Cancun Upgrade: sharding and Layer 2 Rollup solution. For information on other scalability methods, please refer to MEXC Learn's articles on scalability.
The Layer 2 Rollup solution currently consists of two types: Optimistic Rollups and ZK Rollups (Zero-Knowledge Proof Rollup). The core idea behind Layer 2 is to process transactions off-chain while still relying on the Ethereum network, without directly improving Ethereum's performance. Alternatively, sharding is a scalability solution implemented at the Ethereum Layer 1 level. The Cancun Upgrade can be seen as a precursor to Ethereum's sharding solution (Proto-danksharding).
According to the Ethereum community ethereum-magicians, the upcoming Dencun upgrade is expected to commence on March 13, 2024. The confirmed Ethereum Improvement Proposals (EIPs) for implementation include EIP-4844, EIP-6780, EIP-1153, and EIP-6475. EIP-4844 plays a pivotal role in the Dencun upgrade and is also Ethereum's proto-danksharding proposal.
The goal of EIP-4844 is to enable off-chain data storage and retrieval through Ethereum nodes to meet the data and storage needs of blockchain applications. Prior to the Cancun Upgrade, Rollup data was stored in Ethereum's Calldata, which incurred high storage costs due to the expensive resources of Ethereum. EIP-4844 introduces a new transaction type called Blob Transactions, which act as an additional external database. After the Cancun Upgrade, Rollup data can be uploaded to Ethereum in Blob format. Blob storage costs are significantly lower, allowing Rollup to achieve higher TPS and lower resource costs. Moreover, Blob is a temporary data package that is cleared every 30 days, reducing the burden on nodes.
EIP-1153 is the second significant proposal in the Cancun Upgrade. It introduces a transient storage opcode, which allows protocols to perform temporary storage and saves Ethereum network gas fees. EIP-6780 proposes modifications to the SELFDESTRUCT opcode to prepare for future application of Merkle trees. By utilizing Merkle trees, Ethereum will greatly improve its storage efficiency. EIP-6475 is a complementary proposal to EIP-4844. It introduces the SSZ-encoded transaction type, offering better readability and compact serialization.
In the current Ethereum blockchain, nodes store all state information (computations, storage, etc.), which greatly limits Ethereum's scalability. The basic idea of sharding is to divide the nodes in the Ethereum network into several independent shards, where each shard processes a smaller set of transactions and stores a portion of the network state. With multiple shards processing transactions in tandem, the theoretical throughput of the entire Ethereum network will exponentially increase.
In the Ethereum roadmap, the process of implementing sharding is divided into three steps: Proto-danksharding (EIP-4844), Proposal-Builders Separation (PBS), and Complete Sharding (Danksharding). The Cancun Upgrade is an important first step towards Ethereum sharding.
As mentioned earlier, the Cancun Upgrade introduces a new transaction type called Blob Transactions, where the additional data of a Blob expands to 16MB-32MB. This significantly increases Ethereum's data throughput, reduces data storage costs, and enhances data availability. Improved data throughput means that blocks can accommodate more transactions, thereby increasing transaction speed and reducing network gas fees, which benefits Optimistic Rollups and ZK Rollups.
Previously, Rollup applications faced limitations due to Ethereum's lower TPS and high gas fees. With the implementation of the Cancun Upgrade, the on-chain futures DEX, options, and other applications in the Rollup track will benefit from increased scalability and improved performance.
4.1 Transient Storage Opcodes:
These refer to the introduction of two new opcodes - TSTORE and TLOAD, which provide transient storage that is cleared upon completion of the transaction.
4.2 Merkle Trees:
Merkle trees are an efficient and secure way of organizing data, which quickly verify the existence of specific transactions.
4.3 Zero-Knowledge Proofs:
Zero-knowledge proofs enable users to prove that they possess certain knowledge or ownership of specific data without revealing sensitive information, such as wallet private keys.
4.4 SSZ-encoded Transaction Schema:
SSZ (Simple Serialize) is a transaction serialization method used on the Beacon Chain.