ECIP 1110: Deactivate MESS (Modified Exponential Subjective Scoring) Source

TypeStandards Track


Turn off the artificial finality mechanism ECBP-1100’s MESS (Modified Exponential Scoring) in Core-Geth for Ethereum Classic.


MESS was designed from the start as a temporary, peripheral patch on the incumbent GHOST-based chain arbitration algorithm.

It was intended to mitigate the risk imparted to the chain by an adjacent chain – the Ethereum mainnet – which, while using its original PoW algorithm, dwarfed ETC’s hashrate and thus established the vulnerable position MESS hoped to safeguard. ETH moved from PoW to PoS in September 2022. Its exit from the PoW economy has left ETC as the largest apparent sink of compatible hashrate (limited by DAG and the hash type demand). With this clear reduction in apparent risk to the network, the need for MESS is diminished.

The costs of persisting any kind of subjective chain arbitration on the network are not zero. Network risk to sophisticated bifurcation attacks; an expected low-probability exposure to catastrophic failure. Code overhead during upstream codebase merges; developer chore cost.


MESS will be deactivated by default at block 19,250,000. This is concurrent with ECIP-1109’s Spiral Hardfork.

An override flag for this decision will be provided to configure ongoing operation --override.ecbp1100-deactivate=<number>.

Users will be encouraged to upgrade to Core-Geth v1.12.17, or to deactivate MESS manually, which can be done with all versions of core-geth implementing MESS using the flag value: --ecbp1100=99999999999 or equivalent.

Mordor (ETC PoW Testnet)

MESS will be deactivated at block 10,400,000.


While limited data circumscribes our understanding of hashrate supply, an apparent migration of an original roughly 1000 TH/s economy to currently about 20% of that, it seems reasonable to conclude that the costs of MESS now outweigh the risks it was designed to mitigate, since ETC’s current hashrate accounts for around 85% of the apparent hashrate supply.


As far as I understand, the Core-Geth client is the only client to have implemented ECBP-1100, making it the only client that needs to implement deactivation.