• Home
  • イーサリアムハードフォーク:イスタンブール

イーサリアムハードフォーク:イスタンブール

イーサリアムネットワークのハードフォーク計画、イスタンブール(EIP16792019/10/16 ⇒ コア開発者会議で11月へ延期)について調査する。イスタンブールは、「セレニティ」(イーサリアム2.0)に向けた最終アップグレードの第一段階に位置づけられている。(2019/10/02 現在)

要約

イスタンブールでは、次のようなアップグレードが提供される。

・オペコードのコストを計算コストに合わせ、DoS攻撃からの回復力を向上させる。
・SNARKとSTARKに基づくレイヤー2ソリューションのパフォーマンスを向上させる。
・EthereumとZcashを相互運用できるようにする。
・コントラクトにより創造的な機能を導入できるようにする。

具体的には以下のEIPが含まれる。

EIP152(EVMへのBLAKE2b Fプリコンパイルの追加)
EIP1108(プリコンパイルGASコストの削減)
EIP1334(EVMにチェーンIDを返すオペコード-ChainIDの追加)
EIP1884(トライサイズに依存するオペコードの価格変更)
EIP2028(トランザクションデータGASのコスト削減)
EIP2200(EVMのSLOAD命令のGASコスト変更に伴うSSTORE命令のGASコストの再調整)

これまでの状況

No. 日付 名前
0 2015/07/30 Frontier
1 2015/09/07 Frontier Thawing
2 2016/03/14 Homestead
3 2016/07/20 DAO Fork
4 2016/10/18 Tangerine Whistle
5 2016/11/22 Spurious Dragon
6 2017/10/16 Byzantium
7 2019/02/28 Constantinople
8 2019/11 予定 Istanbul(イスタンブール)
9 未定 Berlin (Devcon location)
10 未定 London
11 未定 Shanghai

検討されたEIP

検討のために提案されたEIPのリスト

さまざまなフォーラムでの議論後、サポート、明確さ、実装、テストの組み合わせに基づいて、非公式/暫定的グループに分類された。

・可能性がある:12(152,1108,1380,1702,1706,1803,1848,1884,1930,1962,2028,2200)
・可能である:8(615,663,1109,2046,1283,1344,1965,2045)
・可能性が低い:10(1057,1352,1559,2014,2025,2026,2027,2029,2031,2035)
・可能性が無い:8(689,1707,1712,1829,1891,1959,1985,2024)

6 EIPs 受諾済み (イスタンブールに含める)

EIP152
Add Blake2 compression function F precompile
EIP1108
Reduce alt_bn128 precompile gas costs
EIP1344
Add ChainID opcode
EIP1884
Repricing for trie-size-dependent opcodes
EIP2028
Calldata gas cost reduction
EIP2200
Rebalance net-metered SSTORE gas cost with consideration of SLOAD gas cost change

8 EIPs 暫定受諾 (ベルリンではなくイスタンブールに含める)

EIP663
Unlimited SWAP and DUP instructions
EIP1057
ProgPoW, a Programmatic Proof-of-Work
EIP1380
Reduced gas cost for call to self
EIP1702
Generalized account versioning scheme
EIP1962
EC arithmetic and pairings with runtime definitions replaces EIP1829
EIP1985
Sane limits for certain EVM parameters
EIP2045
Particle gas costs for EVM opcodes
EIP2046
Reduced gas cost for static calls made to precompiles

23 EIPs 拒否/撤回 (イスタンブールに含まれない)

EIP615
Subroutines and Static Jumps for the EVM – Withdrawn
EIP1109
PRECOMPILEDCALL opcode (Remove CALL costs for precompiled contracts) requirement of EIP1962
EIP1283
Net gas metering for SSTORE without dirty maps replaced by EIP2200
EIP1352
Specify restricted address range for precompiles/system contracts
EIP1559
Fee market change for ETH 1.0 chain
EIP1706
Disable SSTORE with gasleft lower than call stipend replaced by EIP2200
EIP1803
Rename opcodes for clarity
EIP1829
Precompile for Elliptic Curve Linear Combinations replaced by EIP1962
EIP1930
CALLs with strict gas semantic. Revert if not enough gas available.
EIP1959
New Opcode to check if a chainID is part of the history of chainIDs
EIP1965
Method to check if a chainID is valid at a specific block Number
EIP2014
Extended State Oracle – Withdrawn
EIP2025
Funding Eth1.x with Developer Block Rewards – Withdrawn
EIP2026
State Rent H – Fixed Prepayment for accounts
EIP2027
State Rent C – Net contract size accounting
EIP2029
State Rent A – State counters contract requirement of EIP2031
EIP2031
State Rent B – Net transaction counter
EIP2035

Stateless Clients – Repricing SLOAD and SSTORE to pay for block proofs

以下はフォークの議論で参照されているが、正式にはイスタンブールには含まれていない。

EIP689:
Address Collision of Contract Address Causes Exceptional Halt
EIP1707
Use Version Byte Prefix for Contract Account Versioning
EIP1712
Disallow Deployment of Unused Opcodes
EIP1848
Fork Names Standard
EIP1891
Contract-based Account Versioning
EIP2024
Proposal for supporting Blake2b and Blake2s

イスタンブール(ハードフォーク)後の流れ

イスタンブールが実行された後、主にイスタンブールに入らなかったEIP(暫定的カテゴリー)で構成されるハードフォーク、ベルリン:EIP2070(Hardfork Meta: Berlin)が検討されている。

ご相談・お見積もり

03-5207-2689