Ethereum Classic Improvement Proposals
Summary
This document is a summary of the Ethereum Classic Improvement Proposal (ECIP) process. To view the full description of the ECIP process please read ECIP-1000 which is the formal document generally acknowledged by the Ethereum Classic (ETC) ecosystem, by rough consensus, as the most suitable system to propose new standard changes to the ETC protocol, informational documents, or ECIP process suggestions.
Getting Started
After reading ECIP-1000, fork the repository and add your ECIP to it, using the provided ECIP markdown template. Submit by creating a Pull Request to the Ethereum Classic ECIPs repository.
Types of Participants
As you will see by reading this summary and the other documents suggested above, there are several parties that participate in the life cycle of an ECIP:
- ECIP Author: This is you! The author is the person interested in improving ETC by making a new ECIP. Therefore, responsible for learning how the process works, so he or she can effectively propose protocol changes, informational or procedural improvements. The author is also responsible for following up on the ECIP life cycle throughout all the status steps, from 'draft' to 'active' as described below, so the proposal becomes a reality. If not, it is possible that the ECIP will be eventually rejected.
- Editors: Editors are developers, mainly ETC volunteers, members of the Ethereum Classic Github Organization whose responsibilities include, but are not limited to, assigning numbers to ECIPs, merging them, listing them in the ECIP directory, checking if they are ready, sound and complete, if the status steps are followed, and to check their motivation, accuracy and proper licensing terms.
- Developer Teams: ETC has several developer companies and volunteer developers who work on different node clients. Because these developers are dedicated to maintaining the core protocol of Ethereum Classic, they are categorized as "core developers" or "core developer teams". Core developers are in charge of making new proposals or reviewing and accepting or rejecting proposals from other developers or teams. When they accepts new changes, they merge them into the respective clients they maintain for the ETC network.
- Implementors: Once an ECIP is accepted and merged, the last step is for miners, mining pools, wallet operators, exchanges, and other full node operators to implement the changes by installing or upgrading their nodes to integrate the new changes. These operating network participants are called "implementors".
- Users: Users or end users may be regular consumers, businesses, governments, non-economic node operators, investors, or other kinds of users who see when the implementors upgraded their systems and adopt the new rules for sending transactions and managing smart contracts or using applications on top of ETC. Discussion Participants: According the ECIP process, when moving ECIPs forward, authors will open for discussion their proposals. These discussions are located in public forums, Github or developer calls. Discussion participants may be core or volunteer Ethereum Classic client developers, any developers on Github willing to contribute their well reasoned opinions, and other interested stakeholders or participants in the ETC ecosystems.
Contributing Steps
- Review ECIP-1000.
- Fork the repository by clicking "Fork" in the top right.
- Add your ECIP to your fork of the repository. There is a ECIP markdown template.
- Submit a Pull Request to Ethereum Classic's ECIPs repository.
ECIPs Website: https://ecips.ethereumclassic.org/
Accepted ECIPs
The following features were approved and integrated into the Ethereum Classic protocol.
ECIP # | Title | Authors |
---|---|---|
1010 | Delay Difficulty Bomb Explosion | Igor Artamonov |
1015 | Long-term gas cost changes for IO-heavy operations to mitigate transaction spam attacks | Cody W Burns |
1017 | Monetary Policy and Final Modification to the Ethereum Classic Emission Schedule | Matthew Mazur |
1039 | Monetary policy rounding specification | Isaac Ardis |
1041 | Remove Difficulty Bomb | Igor Artamonov |
1048 | Clique proof-of-authority consensus protocol | Péter Szilágyi |
1050 | Status Codes | Brooklyn Zelenka, Boris Mann |
1054 | Atlantis EVM and Protocol Upgrades | Isaac Ardis |
1056 | Agharta EVM and Protocol Upgrades | Isaac Ardis, Wei Tang |
1088 | Phoenix EVM and Protocol Upgrades | Raw Pong Ghmoa |
1099 | Calibrate Epoch Duration | Luke Williams |