Ethereum Improvement Proposals (EIPs)
Introduction to EIPs
An EIP is a design document used to describe proposals, define new features or processes for Ethereum, and propose improvements. Proposal initiators submit EIPs to the Ethereum community, providing clear technical specifications and rationale, engaging in discussions, documenting different opinions or suggestions. Only after consensus is reached, the proposal content is approved.
EIPs are mainly categorized into three types:
Standard Track EIP
These describe significant changes to Ethereum’s implementation, such as modifying network protocols, block or transaction verification mechanisms, or application standards. Standard Track EIPs must include:
- Design document
- Implementation
- Updates to the formal specification, divided into four types:
- Core: Involves changes to the consensus layer, like adding new OPcodes, EIP1559 fee adjustments, The Merge. These EIPs require agreement from all clients before scheduling network upgrades.
- Networking: Focuses on improvements to devp2p, Light Ethereum Subprotocol, whisper, and swarm network protocol specifications.
- Interface: Enhancements to client API/RPC specifications and standards, language-level standards, EVM instruction improvements, and contract ABI definitions.
- ERC: Standards and specifications at the application layer, like contract standards, library or package formats, wallet formats.
Meta EIP (Process EIP)
Process-oriented EIPs describe improvements to Ethereum processes beyond the protocol itself mentioned in Standard Track EIPs. These require community consensus and are crucial for developers and users.
Information EIP
Informational EIPs focus on design themes for Ethereum and provide general guidelines or information to the community without proposing new features. These do not require community consensus; developers and users may not need to adhere strictly to Informational EIPs.
The Importance of EIP
- EIP plays a crucial role in documenting changes on Ethereum, serving as the method for proposing, debating, and adopting modifications within the Ethereum community.
- Each network upgrade on Ethereum includes a series of EIPs that must be implemented by clients on the Ethereum blockchain network. This ensures consensus among clients on the mainnet.
- Apart from providing improved technical specifications, EIPs also serve as units for Ethereum governance. Anyone can initiate an EIP proposal, which is then debated by relevant stakeholders in the Ethereum community to decide whether to adopt the proposal as a standard or include it in the next network upgrade.
Prominent Case - EIP1559
EIP1559 is one of the most significant EIPs for Ethereum in recent years, altering the way transaction fees are collected on Ethereum. EIP1559 was included in the Ethereum London Upgrade in September 2021.
Issues Addressed by EIP1559
- Transaction Fee Competition:
- When the number of pending transactions in Ethereum exceeds the blockchain’s processing limit, block validators prioritize transactions with higher fees for inclusion, letting market pricing mechanisms determine “whose transactions get processed first.”
- Users aim for quick processing while minimizing fees, leading to the need to “predict” blockchain congestion to squeeze transactions into the next block with minimal fees.
- However, high transaction demand can drive fees up until many users can no longer afford them, resulting in validators profiting from these excess fees, which is not an optimal distribution of benefits.
- Lack of Block Resource Flexibility:
- Transaction demand on the blockchain fluctuates significantly, especially during events like ICOs or NFT sales, causing fees to skyrocket unexpectedly. For users unwilling to pay such high fees, this situation essentially paralyzes the blockchain network temporarily. Therefore, there is a need to address peak resource scheduling issues on the blockchain.
Final Solution of EIP1559
After extensive community discussions, the final solution adopted for EIP1559 is an automated fee adjustment system based on demand. The fee comprises a base fee plus a tip. The block size limit is doubled, allowing miners to fill entire blocks. However, the block’s fullness determines the base fee for the next block, with a ±12.5% fee adjustment range per block. The core concept of EIP1559 is to eliminate the need for users to monitor the Mempool actively. Instead, users can adjust fees based on the previous block’s fees, significantly increasing the likelihood of transaction execution in the next block. For example:
- If the base fee is initially 20 Gwei and the current block is half full at 15M gas, the base fee for the next block remains at 20 Gwei.
- If the current block is empty, the base fee for the next block decreases to 17.5 Gwei.
- If the current block is full at 30M gas, the base fee for the next block increases to 22.5 Gwei.
Ethereum Request for Comments (ERCs)
Introduction to ERCs
ERC belongs to the Standard Track EIP category, focusing on improvements to application layer standards and specifications, such as new token interfaces and proxy patterns. Strictly speaking, ERC is a type of EIP that does not require changes to the consensus layer. Therefore, once a good standard is agreed upon, implementation can begin.
Common ERCs include:
- ERC-20: Defines a standard interface for “Fungible Tokens,” used for governance tokens, collateral tokens, virtual currencies, etc.
- ERC-721: Defines a standard interface for “Non-Fungible Tokens,” used for copyright or usage rights of creative works.
- ERC-1155: Defines a standard interface for “Fungible & Non-Fungible Tokens” simultaneously.