Ethereum Classic Model Decentralized ECIP Site

In this article I describe an idea for a general model for ETC development teams to have as a sample to create their team ECIP sites. Also, independent non-developer teams or entities can host such sites so that more places can serve as aggregators and repositories for the decentralized ECIP system.

This model is based on Wei Tang’s ecips.that.world site, the 24-ECIPURI specificationZachary Belford and Shane Jonas’ StarIP Standard, the ECIP-1000 process by Wei Tang which is based on Luke Dashjr’s BIP process, and a pending archiving proposal by Tomasz Zdybał.

The General Lifecycle of an ECIP

The ECIP lifecycle
The ECIP lifecycle.

As it can be seen above an ECIP generally goes through four stages in the decentralized ECIP process:

1. Numbering

To minimize conflict between team ECIPs, a deterministic numbering system that hashes their preambles’ metadata is created so that each ECIP can be unique.

2. URI

To facilitate search and discovery, every ECIP is designated a specific URI in the format ecips.teamdomain.tld/ecip-proposalnumber or github.com/teamname/ecips/ecip-proposalnumber. Also, known.json and specs.json files are created and hosted to facilitate their aggregation.

3. Process

Just as the old ECIP process, all teams follow the presentation, rationale, status and discussion process to propose and accept or reject changes to the ETC consensus rules.

4. Archiving

In the new decentralized ECIP process all ECIPs are stored in each teams repositories after acceptance and merging. However, to guarantee their continued existence, authenticity and availability, in case teams migrate, quit, or delete ECIPs for any reason, a general ecosystem archiving system is needed. This archiving system will be proposed in the near future.

Model Site Structure

Components of the model site for hosting and aggregating decentralized ECIPs.
Components of the model site for hosting and aggregating decentralized ECIPs.

As seen above, the model site has three sections represented by the columns:

Home

It is the home of an ETC development team ECIPs or an independent ECIP aggregator. As in all improvement proposal sites in crypto (BIP, EIP, old ECIP, etc.), the home describes the process and shows the steps to submit, discuss, approve or reject ECIPs.

Local Team’s ECIPs 

This section hosts the local team’s ECIPs, has a page for each one, and indicates where the discussion for each ECIP takes place.

All Aggregated ECIPs From all Other Teams

This section aggregates and shows all ECIPs that form, together with the  Yellow Paper, the basis for all consensus rules in the ETC protocol. Each aggregated ECIP title and description points to the original ECIP referenced, which may be hosted locally or in a remote team’s website. Independent of where the ECIPs are located, they all have discussion pages or sections that may be hosted on Github, for example.

To facilitate aggregation, each ETC development team’s site also contains a known.json file directory of “known” ECIP directories and a specs.json file directory with all the ECIPs and their critical data.

At then end of the lifecycle of all ECIPs that are accepted and merged (and perhaps rejected, withdrawn and deferred, as well) they need to be archived in the “archiving” step at the bottom of the diagram to assure their immutability, authenticity and long term integrity and availability. These archives can be hosted by all ETC development teams and other entities.

As it can be seen in the diagram above, all teams, and everybody else for that matter, can participate, discuss, create pull requests, issues, fork and merge any other team’s ECIPs.

To see an example, the model site structure above is based on Wei Tang’s ECIP site at That.World: https://ecips.that.world/


The model decentralized ECIP site above is hereby presented to the ETC ecosystem and is open for discussion.

This and other topics about the decentralized ECIP process can be located at:

• StarIP: https://github.com/BelfordZ/starIPs/issues

• 24-ECIPURI: https://github.com/ethoxy/specs/issues/4

• Process   ECIP-1000: https://github.com/ethereumclassic/ECIPs/blob/master/ECIPs/ECIP-1000.mediawiki

• Discord #ecips channel: https://discord.gg/h8X9gB


Code Is Law

Author: Donald McIntyre

Read about me here.