EnglishEnglish中文中文اَلْعَرَبِيَّةُاَلْعَرَبِيَّةُDeutschDeutschEspañolEspañolΕλληνικάΕλληνικάFrançaisFrançaisעִבְרִיתעִבְרִיתहिन्दीहिन्दीHrvatskiHrvatskiItalianoItaliano日本語日本語한국어한국어MalayMalayNederlandsNederlandsPortuguêsPortuguêsрусскийрусскийภาษาไทยภาษาไทยTürkTürkTiếng ViệtTiếng Việt粵語粵語
Learn
FAQs
Frequently asked questions by various stakeholders
Why Classic?
Start here to get the lowdown on Ethereum Classic's reason for being and unique value proposition
Knowledge
Further reading on the foundations that underpin ETC
Videos
A collection of videos and podcasts to keep you informed on ETC concepts and happenings
Support ETC by helping to translate this website!
Ethereum Classic Blog

How to Contribute to ETC: The Improvement Proposal Process (ECIP)

Donald McIntyre
Education, Guides, Series

You can listen to or watch this video here:


This is the first part of a series that will explain how to contribute to Ethereum Classic in a variety of ways.

The videos and posts in the series will contain the title “How to Contribute to ETC:” with the following topic extensions:

  1. The Improvement Proposal Process (ECIP)
  2. The Community Website
  3. Community Tweets
  4. Community Volunteering
  5. Mining
  6. Operating a Node
  7. Donating Money
  8. Building a Dapp

What Is the ECIP Process?

The ECIP Process
The ECIP Process

Usually, internet protocols have improvement proposal processes for engineers and computer scientists to suggest changes, upgrades, or fixes.

In cryptocurrencies, the method is practically the same. Projects like Bitcoin have the “Bitcoin Improvement Proposal” process (BIP), Ethereum has the “Ethereum Improvement Proposal” process (EIP), and Ethereum Classic has the “Ethereum Classic Improvement Proposal” process (ECIP).

In this video we will explain the different parts of the ECIP process including who can contribute and how it works.

Who Can Contribute to the ECIP Process?

In the world there are approximately 30 million software developers, and the majority use the software development and versioning control platform called GitHub. So, in theory, all GitHub users are allowed to contribute to the ECIP process.

However, the reality is that there are specialized software engineers and computer scientists who have historically contributed the most to projects like Ethereum Classic.

To be sure, you don’t have to strictly be a software engineer or computer scientist to contribute to a blockchain project. If it is a good idea, it is a good idea. There are several instances in which non-technical participants have also proposed improvements to systems as Ethereum Classic.

Warning: The Permissionless Paradox in Ethereum Classic

Not every idea is accepted
Not every idea is accepted

Nevertheless, contribution does not mean approval or adoption.

An ECIP may be submitted to the process and there is a good chance it will be rejected if it is not aligned with the philosophy and principles of Ethereum Classic.

There are even instances in the industry where proposals have been formally approved, but never adopted by actual blockchain network operators. These instances sometimes led to network splits or forks.

ETC in particular has a strict philosophy of permissionless access to the operating network, but that does not mean that there is permissionless access to propose any kind of changes. This apparent contradiction is called the permissionless paradox.

The ECIP Website

ECIP website.
ECIP website.

The best way to start to understand the ECIP process is to go to the Ethereum Classic ECIP website.

There, all the historic proposals are organized and categorized so you can study and analyze them.

The documents include the debates that have taken place in each instance, so this gives a glimpse of what kind of preparation and thoroughness ECIP proposers must have when introducing new ideas.

The ECIP GitHub Repository

ECIP GitHub repository.
ECIP GitHub repository.

Once, you are familiar with the historical ECIPs, then you may head to the ECIP repository on GitHub where all the action takes place.

The repository is located at github.com/ethereumclassic/ECIPs and there you will find several resources including:

  • The specs folder with all the ECIPs of Ethereum Classic.
  • A README file that you may follow to initiate a proposal.
  • ECIP-1000 with the rules of the process.
  • ECIP-X as a template to write your first ECIP.

ECIP Rules

All the rules of the ECIP process are explained in one ECIP numbered 1000. You will find it as ECIP-1000.

It is important to read the rules as any deviations or mistakes may cause your proposal to be dead on arrival.

ECIP-1000 is also a sort of code of ethics that you must follow, and includes sections as:

  • The steps to follow
  • ECIP format and structure
  • ECIP types
  • ECIP status progression
  • How ECIPs must be licensed

ECIP Editors

ECIP editor list.
ECIP editor list.

Another part of the ECIP process, that is also explained in ECIP-1000, is the editing process.

When you enter an ECIP, it will be read and commented by the current designated editors who are volunteers in charge of making sure that the ECIP rules are followed, that the proposals are well formatted, and that the proposers and ideas are not spammers or bogus.

Unlike the public community of ETC, and blockchains in general, the ECIP process and debate must be conducted in a respectful and professional manner, and ideas must be thoroughly articulated with solid arguments, assumptions, and specific proofs when necessary.

ECIP Types

The ECIPs entered into the process will be organized in three large categories:

  • Standard track: These ECIPs are proposals to change or upgrade the protocol of the ETC network. They may be further sub-categorized by core changes, network changes, interface modifications, or as ETC best practice proposals.
  • Meta ECIPs: These proposals describe a process of how the ETC ecosystem should go about with a particular way of making changes or implementing ECIPs.
  • Informational ECIPs: These ECIPs are not usually concrete change proposals but provide commentary and analysis of design issues, warnings, or other important topics.

ECIP Status and Stages

ECIP status stages.
ECIP status stages.

As mentioned before, Ethereum Classic is a very principled and strict network and ecosystem when it comes to guaranteeing true decentralization and permissionlessness.

This means ECIPs may be eventually approved, rejected, or deferred if they need further work or analysis.

To have clarity of the status of an ECIP, editors and proposers must mark them with specific status labels so they can be easily tracked. These status labels are:

  • Draft: When it’s a new ECIP
  • Last Call: When an ECIP has general consensus
  • Accepted: When it was approved
  • Final: The ECIP has been integrated and tested in the software clients
  • Active: The ECIP has been implemented in the operating network
  • Rejected: It was turned down
  • Withdrawn: The author took it out of the process
  • Deferred: It needs more work or time
  • Replaced: When an old feature was changed for a new one

The ECIP Template

ECIP template.
ECIP template.

To make your life easier to write your first ECIP, there is an ECIP template called ECIP-X in the Ethereum Classic ECIP repository on GitHub with a markdown model of how to write an ECIP.

In it, it has the basic sections your ECIP must include, which are defined in ECIP-1000. These are:

  • Abstract
  • Motivation
  • Specification
  • Rationale
  • Implementation
  • Copyright/Licensing

You Are Welcome to Contribute!

We hope that this explanation has clarified any doubts you may have had about how to contribute to the ETC protocol as a developer, engineer, computer scientist, or non-technical person through the ECIP process.

You are welcome to contribute to Ethereum Classic.

Good ideas are always welcome!


Thank you for reading this article!

To learn more about ETC please go to: https://ethereumclassic.org

This page exists thanks in part to the following contributors:


DonaldMcIntyre
DonaldMcIntyre
  • EnglishEnglish
  • 中文中文
  • اَلْعَرَبِيَّةُاَلْعَرَبِيَّةُ
  • DeutschDeutsch
  • EspañolEspañol
  • ΕλληνικάΕλληνικά
  • FrançaisFrançais
  • עִבְרִיתעִבְרִית
  • हिन्दीहिन्दी
  • HrvatskiHrvatski
  • ItalianoItaliano
  • 日本語日本語
  • 한국어한국어
  • MalayMalay
  • NederlandsNederlands
  • PortuguêsPortuguês
  • русскийрусский
  • ภาษาไทยภาษาไทย
  • TürkTürk
  • Tiếng ViệtTiếng Việt
  • 粵語粵語
Add ETC to MetaMask
The ETC community is active on Discord
Discord
Discord
ETC Coop Discord
ETC Coop Discord
eth_classic Twitter
eth_classic Twitter
ETC_Network Twitter
ETC_Network Twitter
Github
Github
ETC Labs Github
ETC Labs Github
Reddit
Reddit
This site is powered by Netlify

Learn

  • FAQs
  • Why Classic?
  • Knowledge
  • Videos

Made with <3 for the Original Ethereum Vision