--- eip: 1679 title: "Hardfork Meta: Istanbul" author: Alex Beregszaszi (@axic), Afri Schoedon (@5chdn) discussions-to: https://ethereum-magicians.org/t/hardfork-meta-istanbul-discussion/3207 type: Meta status: Draft created: 2019-01-04 requires: 1716 --- ## Abstract This meta-EIP specifies the changes included in the Ethereum hardfork named Istanbul. ## Specification - Codename: Istanbul - Activation: TBD ### Included EIPs - TBD ### Accepted EIPs - [EIP-152](https://github.com/ethereum/EIPs/pull/2129): Add Blake2 compression function `F` precompile - [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108): Reduce alt_bn128 precompile gas costs - [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344): Add ChainID opcode - [EIP-2028](https://eips.ethereum.org/EIPS/eip-2028): Calldata gas cost reduction ### Tentatively Accepted EIPs - [EIP-1057](https://eips.ethereum.org/EIPS/eip-1057): ProgPoW, a Programmatic Proof-of-Work - There is a [pending audit](https://medium.com/ethereum-cat-herders/progpow-audit-goals-expectations-75bb902a1f01), above and beyond standard security considerations, that should be evaluated prior to inclusion. - [EIP-1702](https://eips.ethereum.org/EIPS/eip-1702): Generalized account versioning scheme - [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Repricing for trie-size-dependent opcodes - [EIP-1962](https://eips.ethereum.org/EIPS/eip-1962): EC arithmetic and pairings with runtime definitions - replaces EIP-1829 - [EIP-2200](https://github.com/ethereum/EIPs/pull/2200): Rebalance net-metered SSTORE gas cost with consideration of SLOAD gas cost change ### Rejected/Withdrawn EIPs - [EIP-615](https://eips.ethereum.org/EIPS/eip-615): Subroutines and Static Jumps for the EVM - *Withdrawn* - [EIP-1109](https://eips.ethereum.org/EIPS/eip-1109): PRECOMPILEDCALL opcode (Remove CALL costs for precompiled contracts) - requirement of EIP-1962 - [EIP-1283](https://eips.ethereum.org/EIPS/eip-1283): Net gas metering for SSTORE without dirty maps - replaced by EIP-2200 - [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559): Fee market change for ETH 1.0 chain - [EIP-1706](https://eips.ethereum.org/EIPS/eip-1706): Disable SSTORE with gasleft lower than call stipend - replaced by EIP-2200 - [EIP-1959](https://eips.ethereum.org/EIPS/eip-1959): New Opcode to check if a chainID is part of the history of chainIDs - [EIP-1829](http://eips.ethereum.org/EIPS/eip-1829): Precompile for Elliptic Curve Linear Combinations - replaced by EIP-1962 - [EIP-1930](https://eips.ethereum.org/EIPS/eip-1930): CALLs with strict gas semantic. Revert if not enough gas available. - [EIP-1965](https://eips.ethereum.org/EIPS/eip-1965): Method to check if a chainID is valid at a specific block Number - [EIP-2014](https://eips.ethereum.org/EIPS/eip-2014): Extended State Oracle - *Withdrawn* - [EIP-2025](https://eips.ethereum.org/EIPS/eip-2025): Funding Eth1.x with Developer Block Rewards - *Withdrawn* - [EIP-2026](https://eips.ethereum.org/EIPS/eip-2026): State Rent H - Fixed Prepayment for accounts - [EIP-2027](https://eips.ethereum.org/EIPS/eip-2027): State Rent C - Net contract size accounting - [EIP-2029](https://eips.ethereum.org/EIPS/eip-2029): State Rent A - State counters contract - requirement of EIP-2031 - [EIP-2031](https://eips.ethereum.org/EIPS/eip-2031): State Rent B - Net transaction counter - [EIP-2035](https://eips.ethereum.org/EIPS/eip-2035): Stateless Clients - Repricing SLOAD and SSTORE to pay for block proofs ### Proposed EIPs - [EIP-663](https://eips.ethereum.org/EIPS/eip-663): Unlimited SWAP and DUP instructions - [EIP-1352](https://eips.ethereum.org/EIPS/eip-1352): Specify restricted address range for precompiles/system contracts - [EIP-1380](https://eips.ethereum.org/EIPS/eip-1380): Reduced gas cost for call to self - [EIP-1803](https://eips.ethereum.org/EIPS/eip-1803): Rename opcodes for clarity - [EIP-1985](https://eips.ethereum.org/EIPS/eip-1985): Sane limits for certain EVM parameters - [EIP-2045](https://eips.ethereum.org/EIPS/eip-2045): Particle gas costs for EVM opcodes - [EIP-2046](https://eips.ethereum.org/EIPS/eip-2046): Reduced gas cost for static calls made to precompiles ## Timeline * 2019-05-17 (Fri) hard deadline to accept proposals for "Istanbul" * 2019-07-19 (Fri) soft deadline for major client implementations * 2019-09-04 (Wed) projected date for testnet network upgrade (Ropsten, Görli, or ad-hoc testnet) * 2019-10-16 (Wed) projected date for mainnet upgrade ("Istanbul") ## References - [Core Dev call notes](https://github.com/ethereum/pm/issues/66#issuecomment-450840440) where timeline was proposed and accepted ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).