Ethereum Classic activated the Phoenix network upgrade at block 10,500,839 on June 1, 2020, completing Istanbul EVM equivalence. Phoenix was specified in ECIP-1088, replacing the earlier failed Aztlan proposal.
Included EIPs
- EIP-152 — Blake2b Compression Function F: Added a precompile at address 0x09 for Blake2b compression. Enables efficient verification of Zcash block headers and Equihash proofs, supporting cross-chain interoperability.
- EIP-1108 — Reduce alt_bn128 Gas Costs: Dramatically reduced elliptic curve precompile costs. ECADD: 500 → 150 gas. ECMUL: 40,000 → 6,000 gas. Made zk-SNARK verification economically practical on-chain.
- EIP-1344 — ChainID Opcode: Returns the EIP-155 chain ID (61 for ETC) via a new opcode. Enables contracts to verify their execution chain at runtime, critical for cross-chain replay protection in multi-chain dApps.
- EIP-1884 — Trie-Size-Dependent Opcode Repricing: Increased gas costs for state-access opcodes to reflect growing state trie size. SLOAD: 200 → 800 gas. BALANCE, EXT*: 400 → 700 gas. Mitigates DoS vectors from cheap state reads.
- EIP-2028 — Calldata Gas Cost Reduction: Reduced non-zero calldata cost from 68 → 16 gas per byte. Significantly benefits data-heavy operations including multi-sig wallets, Layer 2 batch submissions, and large function calls.
- EIP-2200 — SSTORE Net Gas Metering: Rebalanced SSTORE costs to account for the EIP-1884 SLOAD increase. Ensures multiple writes to the same storage slot in one transaction are not unfairly penalized.
Background: Aztlan Crisis
Phoenix replaced the earlier Aztlan proposal (ECIP-1061), which included EIP-2200 but omitted EIP-1884. Since EIP-2200's gas calculations depend on EIP-1884's SLOAD pricing, this produced a consensus bug on the Mordor testnet. ECIP-1078 also proved insufficient. The community rebuilt the upgrade from scratch as ECIP-1088 with the complete Istanbul EIP set.
Client Requirements
- Core-Geth v1.11.16 or later
- Hyperledger Besu with ETC Phoenix support