ethereumproject / ECIPs

The Ethereum Classic Improvement Proposal
55 stars 47 forks source link

Ethereum Classic Protocol Repository #46

Closed sorpaas closed 7 years ago

sorpaas commented 7 years ago
    EIP: ?
    Title: Ethereum Classic Protocol Repository
    Author: Wei Tang <hi@that.world>
    Discussions-To: hi@that.world
    Status: Draft
    Type: Process
    Created: 2017-04-28

Abstract

This ECIP proposes "Ethereum Classic Protocol Repository (ECPR)", consisting of documents of the Ethereum Classic protocol specifications. It also proposes to fork Ethereum's yellow paper as ECPR-0.

Motivation and Rationale

Currently most of Ethereum Classic protocol implementors follows the specification of Ethereum yellow paper. While the yellow paper is clean and explains in detail of how the protocol works, it only documents the current newest protocol version. However, as the Ethereum/Ethereum Classic blockchain contains all the history since it has started, the current protocol version usually only apply from a certain block number, with older ones still using the older specification.

Hence, I purpose we create a Ethereum Classic Protocol Repository that consists of all the documents of the currently applied protocol specifications.

Specification

Firstly, Ethereum's yellow paper is forked as ECPR-0. All currently applied ECIPs or EIPs of the protocol design should also be forked and take subsequent numbers (ECPR-1, ECPR-2, ...). This might consists of hard forks of the gas cost changes, etc. All documents MUST specify that from which block number it starts to apply.

Modifications to ECPRs should be done through ECIPs. ECIPs, when related to protocol design changes, should also contain a document of either modifications to ECPRs, or a new document of an ECPR.

Implementation

We can simply create a new repository ethereumproject/ECPRs for holding those protocol specification documentations.

ghost commented 7 years ago

What about bitcoin, what happens there?

elaineo commented 7 years ago

@dulanov bitcoin-core is the reference implementation. Changes documented in BIPs, but the code is the protocol specification.

sorpaas commented 7 years ago

Closed via pull request #47