2019-01-04 14:35:03 +00:00
|
|
|
---
|
2019-01-04 14:36:08 +00:00
|
|
|
eip: 1679
|
2019-01-04 14:35:03 +00:00
|
|
|
title: "Hardfork Meta: Istanbul"
|
2019-01-04 14:58:08 +00:00
|
|
|
author: Alex Beregszaszi (@axic), Afri Schoedon (@5chdn)
|
2019-04-26 15:15:15 +00:00
|
|
|
discussions-to: https://ethereum-magicians.org/t/hardfork-meta-istanbul-discussion/3207
|
2019-01-04 14:35:03 +00:00
|
|
|
type: Meta
|
|
|
|
status: Draft
|
|
|
|
created: 2019-01-04
|
2019-03-01 11:37:00 +00:00
|
|
|
requires: 1716
|
2019-01-04 14:35:03 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
## Abstract
|
|
|
|
|
|
|
|
This meta-EIP specifies the changes included in the Ethereum hardfork named Istanbul.
|
|
|
|
|
|
|
|
## Specification
|
|
|
|
|
|
|
|
- Codename: Istanbul
|
|
|
|
- Activation: TBD
|
2019-04-23 13:46:18 +00:00
|
|
|
|
|
|
|
### Included EIPs
|
|
|
|
|
|
|
|
- TBD
|
|
|
|
|
|
|
|
### Accepted EIPs
|
|
|
|
|
2019-07-26 15:49:03 +00:00
|
|
|
- [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
|
2019-06-27 12:54:44 +00:00
|
|
|
|
2019-07-26 15:49:03 +00:00
|
|
|
### Tentatively Accepted EIPs
|
2019-08-15 20:19:34 +00:00
|
|
|
#### Istanbul 1
|
|
|
|
- [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Repricing for trie-size-dependent opcodes
|
|
|
|
- [EIP-2200](https://github.com/ethereum/EIPs/pull/2200): Rebalance net-metered SSTORE gas cost with consideration of SLOAD gas cost change
|
2019-04-23 13:46:18 +00:00
|
|
|
|
2019-08-15 20:19:34 +00:00
|
|
|
#### Istanbul 2
|
|
|
|
- [EIP-663](https://eips.ethereum.org/EIPS/eip-663): Unlimited SWAP and DUP instructions
|
2019-04-30 08:45:06 +00:00
|
|
|
- [EIP-1057](https://eips.ethereum.org/EIPS/eip-1057): ProgPoW, a Programmatic
|
2019-04-29 15:38:22 +00:00
|
|
|
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.
|
2019-08-15 20:19:34 +00:00
|
|
|
- [EIP-1380](https://eips.ethereum.org/EIPS/eip-1380): Reduced gas cost for call to self
|
2019-07-26 15:49:03 +00:00
|
|
|
- [EIP-1702](https://eips.ethereum.org/EIPS/eip-1702): Generalized account versioning scheme
|
|
|
|
- [EIP-1962](https://eips.ethereum.org/EIPS/eip-1962): EC arithmetic and pairings with runtime definitions
|
|
|
|
- replaces EIP-1829
|
2019-08-15 20:19:34 +00:00
|
|
|
- [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
|
|
|
|
|
2019-07-26 15:49:03 +00:00
|
|
|
|
|
|
|
### Rejected/Withdrawn EIPs
|
|
|
|
|
|
|
|
- [EIP-615](https://eips.ethereum.org/EIPS/eip-615): Subroutines and Static Jumps for the EVM - *Withdrawn*
|
2019-05-24 10:27:09 +00:00
|
|
|
- [EIP-1109](https://eips.ethereum.org/EIPS/eip-1109): PRECOMPILEDCALL opcode (Remove CALL costs for precompiled contracts)
|
|
|
|
- requirement of EIP-1962
|
2019-05-13 08:16:17 +00:00
|
|
|
- [EIP-1283](https://eips.ethereum.org/EIPS/eip-1283): Net gas metering for SSTORE without dirty maps
|
2019-07-26 15:49:03 +00:00
|
|
|
- replaced by EIP-2200
|
2019-08-15 20:19:34 +00:00
|
|
|
- [EIP-1352](https://eips.ethereum.org/EIPS/eip-1352): Specify restricted address range for precompiles/system contracts
|
2019-05-17 15:07:47 +00:00
|
|
|
- [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559): Fee market change for ETH 1.0 chain
|
2019-05-13 08:16:17 +00:00
|
|
|
- [EIP-1706](https://eips.ethereum.org/EIPS/eip-1706): Disable SSTORE with gasleft lower than call stipend
|
2019-07-26 15:49:03 +00:00
|
|
|
- replaced by EIP-2200
|
2019-05-23 22:38:29 +00:00
|
|
|
- [EIP-1959](https://eips.ethereum.org/EIPS/eip-1959): New Opcode to check if a chainID is part of the history of chainIDs
|
2019-08-15 20:19:34 +00:00
|
|
|
- [EIP-1803](https://eips.ethereum.org/EIPS/eip-1803): Rename opcodes for clarity
|
2019-07-26 15:49:03 +00:00
|
|
|
- [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*
|
2019-05-24 10:27:09 +00:00
|
|
|
- [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
|
2019-07-26 15:49:03 +00:00
|
|
|
|
|
|
|
### Proposed EIPs
|
|
|
|
|
2019-04-23 13:46:18 +00:00
|
|
|
|
|
|
|
## Timeline
|
|
|
|
|
|
|
|
* 2019-05-17 (Fri) hard deadline to accept proposals for "Istanbul"
|
|
|
|
* 2019-07-19 (Fri) soft deadline for major client implementations
|
2019-07-26 15:49:03 +00:00
|
|
|
* 2019-09-04 (Wed) projected date for testnet network upgrade (Ropsten, Görli, or ad-hoc testnet)
|
2019-04-23 13:46:18 +00:00
|
|
|
* 2019-10-16 (Wed) projected date for mainnet upgrade ("Istanbul")
|
2019-01-04 14:35:03 +00:00
|
|
|
|
2019-03-01 11:37:00 +00:00
|
|
|
## References
|
|
|
|
|
2019-04-23 13:46:18 +00:00
|
|
|
- [Core Dev call notes](https://github.com/ethereum/pm/issues/66#issuecomment-450840440) where timeline was proposed and accepted
|
2019-03-01 11:37:00 +00:00
|
|
|
|
2019-01-04 14:35:03 +00:00
|
|
|
## Copyright
|
|
|
|
|
|
|
|
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|