ECIP 1074: Tanchun EVM and Protocol Upgrades Source

AuthorWei Tang
Discussions-Tohttps://github.com/ethereumclassic/ECIPs/issues/81
StatusWithdrawn
TypeMeta
Created2019-11-14

Simple Summary

Enable the outstanding Ethereum Foundation Istanbul network protocol upgrades on the Ethereum Classic network in a hard-fork code-named Tanchun to enable maximum compatibility across these networks.

In particular, enables account versioning EIP-1702 with forward-compatible EVM changes.

Abstract

Add support for a subset of protocol-impacting changes introduced in the Ethereum Foundation (ETH) network via the Istanbul hardforks.

This document proposes the following blocks at which to implement these changes in the Classic networks:

  • TBD on Mordor Classic PoW-testnet (Feb 5th, 2020)
  • TBD on Kotti Classic PoA-testnet (Feb 12th, 2020)
  • TBD on Ethereum Classic PoW-mainnet (March 25th, 2020)

For more information on the opcodes and their respective EIPs and implementations, please see the Specification section of this document.

Motivation

To enhance the Ethereum Virtual Machine’s (EVM) capabilities, various opcodes shall be added to the Ethereum Classic networks, all of which have been in use on the Ethereum Foundation networks since end of 2019.

This hard fork first enables the Kunming hard fork specification, and then enables all Istanbul features on top of the forward-compatible EVM.

Specification

Enable ECIP-1040. Freeze features on version 0. Define a new account version 1, with the following additional EIPs enabled:

  • 39-UNGAS: Remove all observable behavior of gas cost in EVM and change out-of-gas exception to trap the whole transaction.
  • 40-UNUSED: Disable deployment of unused opcodes.
  • EIP-152: Add Blake2 compression function F precompile
  • EIP-1108: Reduce alt_bn128 precompile gas costs
  • EIP-1344: Add ChainID opcode
  • EIP-1884: Repricing for trie-size-dependent opcodes
  • EIP-2028: Calldata gas cost reduction
  • EIP-2200: Rebalance net-metered SSTORE gas cost with consideration of SLOAD gas cost change

Implementation

Adoption of the content of this ECIP requires a hard fork as it introduces changes that are not backward compatible.

The following clients with Ethereum Classic support implement the Istanbul features and ECIP-1040 / EIP-1702 currently:

  • Parity Ethereum
  • Multi-Geth

The following clients implement Istanbul features but does not yet support ECIP-1040 / EIP-1702:

  • Hyperledger Besu

No clients currently have implemented 39-UNGAS and 40-UNUSED yet.

This work is licensed under Apache License, Version 2.0.