“Code is law” is the principle that smart contracts should execute exactly as written, without external override. On Ethereum Classic it is an operational commitment: the network does not intervene in contract execution, whatever the outcome.
What the Principle Means
When a user deploys a smart contract to a blockchain, they publish a set of rules that the network enforces automatically. Every node executes every transaction against the contract's bytecode. The result is deterministic: given the same input and state, every node produces the same output.
“Code is law” means that this deterministic execution is the final authority. No committee, foundation, or majority vote can alter the result after the fact. The contract's code defines what is permitted, and the blockchain enforces those rules without exception.
Why Immutability Matters
A blockchain's value proposition rests on a specific guarantee: once a transaction is confirmed and buried under enough subsequent blocks, it stays as recorded, and no authority can order it reversed or altered. This guarantee is what distinguishes a blockchain from a conventional database.
If a blockchain's history can be rewritten by social consensus, even with good intentions, then the guarantee is conditional. Users must trust that the social layer will not intervene in their transactions. At that point, the system offers no meaningful advantage over a traditional institution that processes transactions subject to human judgment.
Immutability removes the need to trust a governing body. Users do not need to weigh anyone's intentions, competence or politics; they only need to read the contract's code.
The Crypto-Decentralist Position
A Crypto-Decentralist Manifesto, written by Bit Novosti in July 2016 and hosted on ethereumclassic.org, argues that blockchains can scale cooperation to a global level only if they keep three characteristics:
- Openness: The rules are open for anyone to see, and anyone can use the network, run their own client or contribute to its security without asking permission.
- Neutrality: The rules are exactly the same for every participant, whoever they are and whatever they intend.
- Immutability: The blockchain preserves one version of history, which no political or business interest can change.
The manifesto calls decentralization the feature everything else depends on: any part of a blockchain that comes under centralized control becomes a way to violate one or more of the three.
Practical Implications
On Ethereum Classic, “code is law” has concrete operational consequences:
- No bailouts: If a contract is exploited, the chain does not roll back to return funds. The exploit is part of the permanent record.
- No rollbacks: Confirmed transactions are final, regardless of their size or the parties involved.
- No privileged accounts: No address has special status. There is no admin key that can freeze assets or modify contract state outside of the contract's own rules.
- No irregular state changes: Protocol upgrades modify the rules going forward. They do not retroactively alter past state.
Why This Matters for Applications
Decentralized finance, supply chain verification, identity systems and every other application that relies on trustless execution need a predictable environment. Developers need assurance that the rules their contracts enforce today will still be enforced tomorrow.
Users need assurance that depositing assets into a contract means the contract's rules, and only those rules, govern what happens to those assets. If a third party can override contract execution, the “decentralized” label is misleading.
Addressing the Counterargument
The most common objection is: “What about bugs? What if a contract has a vulnerability?”
Ethereum Classic's answer is that bugs are a matter of contract quality rather than chain policy. The response to a buggy contract is better auditing, formal verification, insurance and careful development, not a chain-level rollback. Once a blockchain establishes that history can be rewritten to fix mistakes, there is no principled boundary for when that power should or should not be used.
Ethereum Classic's position is that keeping immutability, contract bugs and all, costs less than abandoning it.