This is the Ethereum Classic Improvement Proposals project in That World and Ethoxy. Please feel free to contribute new specifications.

We collect specifications for APIs, file formats, protocols, processes and compositions of them. We welcome and encourage Ethereum-compatible blockchain developers to contribute specifications for wider community to review.

Goals

  • Shared innovation: it wastes review efforts to duplicate specifications between EIPs and ECIPs. Sharing innovations across teams and blockchains can be more effective.
  • Focus on standardization: Sepcifications should be less political. Arguments won't be on whether a certain technology should happen, but how it would happen.

Process

We currently use an informal IETF-like process, following RFC 2026. Every specification has its maturity level:

  • A new specification is sent in a pull request. The editor checks and helps the author to move the specification into an acceptable quality. After that, the specification is merged in Raw maturity level. In this process, the specification gets its RFC number in the format of $number-$feature.
  • When at least one implementation is done for a particular specification, it is moved to Draft maturity level.
  • When significant implementations and successful operational experiences have been obtained, the specification is moved to Stable maturity level.
  • Specifications can be moved to Deprecated, Retired or Deleted status based on various conditions.

The current editor is Wei Tang <hi@that.world>.

Technically this process also support non-standards track, but currently we assume all submitted specifications are on the standards track.

Core

  1. 22-EVMJETS

    Jets in Ethereum Virtual Machine

    Jets are optimization marks. Using jets, users can place optmization marks in an EVM program. An EVM interpreter will then verify the optimization mark claim, and if the verification passes, execute a native code version of the program that is equivalent to the original program.

  2. 25-DIOP

    Disallow Deployment of Unused Opcodes

    This proposal disallows deployment of unused opcodes, to avoid unintended behaviors.

  3. 26-VER

    Use Version Byte Prefix for Contract Account Versioning

    Provide an alternative scheme for account versioning with the least amount of changes required.

Informational

  1. 24-ECIPURI

    URI Marker for Federated Ethereum Classic Improvement Proposals

    This specification proposes a solution for a decentralized Ethereum Classic Improvement Proposal via federation, while preserving the current proposal structures and allowing easy aggregator setup.

Interface

  1. 16-EVMJSON

    Ethereum Virtual Machine JSON-RPC

    This specification describes the JSON-RPC API that should be provided by an EVM implementation.

  2. 19-EVMFILE

    Filesystem Library on Ethereum Virtual Machine

    This RFC provides a filesystem specification that can be built on top of the Ethereum Virtual Machine.

  3. 21-LEASM

    Low-level Ethereum Virtual Machine Assembly

    This RFC aims to provide an assembly language that closely assembles EVM opcodes.

  4. 23-RLPMEDIA

    Recursive Length Prefix Media Type

    Defining a media type for Recursive Length Prefix (RLP) to allow a RESTful HTTP server to return raw RLP information directly.

Other ECIP Repositories

The ECIP process is decentralized, meaning this is only one of the ECIP repositories in the wild. Currently, other known ECIP repositories include:

Below is our best attempt to aggregate all current ECIPs in those locations.

  1. ECIP-1000

    ECIP Process

  2. ECIP-1010

    Delay Difficulty Bomb Explosion

  3. ECIP-1013

    ETC On-Chain Cryptographic Signing and Authentication Protocol

  4. ECIP-1015

    Long-term gas cost changes for IO-heavy operations to mitigate transaction spam attacks

  5. ECIP-1016

    ETC Improvement Proposal Management

  6. ECIP-1017

    Monetary Policy and Final Modification to the Ethereum Classic Emission Schedule

  7. ECIP-1018

    Monetary Policy and Final Modification to the Ethereum Classic Emission Schedule

  8. ECIP-1019

    Monetary Policy and Final Modification to the Ethereum Classic Emission Schedule

  9. ECIP-1021

    Token standard

  10. ECIP-1022

    Generalized Version Bits Voting for Consensus Soft and Hard Forks

  11. ECIP-1023

    Combined CarbonVote and MinerVote for Consensus Soft and Hard Forks

  12. ECIP-1024

    A CarbonVote and MinerVote Contract for Consensus Soft and Hard Forks

  13. ECIP-1025

    Precompiled Contracts for zkSNARK Verification

  14. ECIP-1026

    Modexp Precompiled Contract

  15. ECIP-1027

    Scaling ETC with Sidechains

  16. ECIP-1028

    Private Sidechain checkpoints

  17. ECIP-1029

    Include Uncles in Total Difficulty Calculation

  18. ECIP-1030

    Defining the SYSTEM Transaction

  19. ECIP-1031

    Recursive Length Prefix Media Type

  20. ECIP-1032

    Readable Address and Transaction Hash

  21. ECIP-1033

    Mnemonic code for public address

  22. ECIP-1034

    Message Signing and Verification in JSON RPC

  23. ECIP-1035

    Ethereum Classic Privacy Enhanced Stealth Address Schema

  24. ECIP-1036

    Fallback Complete Difficulty Bomb Diffusion

  25. ECIP-1037

    Simple Interactive URI Scheme

  26. ECIP-1038

    Jets in Ethereum Virtual Machine

  27. ECIP-1039

    Monetary policy rounding specification

  28. ECIP-1040

    Maintain Existing Account Compatibility While Hard Forking

  29. ECIP-1041

    Remove Difficulty Bomb

  30. ECIP-1042

    GASPAY opcode

  31. ECIP-1043

    Fixed DAG limit restriction

  32. ECIP-1044

    Formalize IPFS hash into ECNS (Ethereum Classic Name Service resolver)

  33. ECIP-1045

    Support for ETH Byzantium & Constantinople EVM and Protocol Upgrades

  34. ECIP-1046

    Precompiled contract for verification of Merkle Inclusion Proofs

  35. ECIP-1047

    Reduce Gas Limit to 1 Million

  36. ECIP-1048

    Clique proof-of-authority consensus protocol

  37. ECIP-1049

    Change the ETC Proof of Work Algorithm to Keccak256

  38. ECIP-1050

    Status Codes

  39. ECIP-1051

    Ethereum Classic Treasury system

  40. ECIP-1052

    Smart-contract Security Auditing core

  41. ECLIP#2

    Byzantium EVM upgrades (and Tx Receipt status)

  42. ECLIP#3

    OpenRPC