イーサリアムはコンスタンティノープルハードフォークでの実装EIPを決定し、2018年末に実装を予定しています。このコンスタンティノープルはメトロポリスのPt.1で現在のビザンチウムの後半となる実装となっており、イーサリアム2.0の開発を並行しているためか、実装するEIPは5つとなっています。
本稿では予定として含まれるはずだったCasper FFGとEthashのハイブリッドPoSのEIP-1011が含まれなかった理由の考察や、実装されるEIPのイーサリアムネットワークへの影響を詳しく解説。
後半では最終的にネットワークが移行するPoSのCasperへのアプローチと、マイニング報酬を2ETHへ減少させるEIP-1234とEIP-858の経済効果とセキュリティ面の詳しい解説を行っており、中期から長期にかけてのイーサリアムの経済モデルとその効果を把握することで投資へと活かすことができます。
- 1 1.イーサリアムのロードマップ
- 1.1 1-1.繰り返される実装時期の誤解とその理由
- 1.2 1-2.コンスタンティノープルの時期が明確にできない理由
- 1.3 1-3.今後のハードフォーク周期とディフィカルティボム
- 2 2.コンスタンティノープルの内容とその影響
- 2.1 2-1.EIP-145ビット演算の算術シフト
- 2.2 2-2.EIP-1014 0xf5:CREATE2
- 2.3 2-3.EIP-1052 0x3F:EXTCODEHASH
- 2.4 2-4.EIP-1283(EIP-1087の改良)
- 2.4.1 2-4-1.SSTOREのガスコストの問題
- 2.4.2 2-4-2.TheDAOハックのリエントランシー攻撃とその対処
- 2.4.3 2-4-3.Dirty Mapの保持と実装互換性
- 2.4.4 2-4-4.新しいガスコスト計算方式の例
- 3 3.イーサリアムのインフレーションモデルの問題
- 3.1 3-1.インフレ率から見る経済
- 3.1.1 3-1-2.イーサリアムとビットコインの経済モデルを比較する
- 3.1.2 3-1-3.EIP-1234とEIP-858の経済効果比較
- 3.2 3-2.合意形成分散化の重要性
- 3.3 3-3.マイニング効率向上とPoS移行の問題
- 3.1 3-1.インフレ率から見る経済
- 4 4.PoS移行に際し、インフレ率を調整する理由
- 4.1 4-1.Casperの遅れている理由とインフレ率
- 4.1.1 4-1-1.EIP-1011とバリデーター
- 4.1.2 4-1-2.インフレ率と関係する攻撃リスク
- 4.1 4-1.Casperの遅れている理由とインフレ率
- 5 4-2.Casper移行後のインフレ率とセキュリティ
- 6 5.結論と考察
1.イーサリアムのロードマップ
イーサリアムは2015年5月に“オリンピックテストネット”をローンチ、同年7月30日からブロック #1となる記念すべきメインネットをローンチしました。このバージョンは“フロンティア“とよばれ、誰でもコントラクトの生成やデプロイ(使用するための実装)を行うことができるようになりました。
イーサリアムの壮大な計画“ワールドコンピューター”を完成させるには、あまりにも多くの時間を費やすため、4段階に分けて大型アップデートをすることが前提としてローンチされています。
現在のバージョンは“メトロポリス ビザンチウム”となっており、3段階目の前半という形です。
1.フロンティア・・・基本機能を使用できるα版
2.ホームステッド・・・安定版
3.メトロポリス・・・現在のバージョン
4.セレニティ・・・Casperへ移行する完全版
つまり、イーサリアムはセレニティで完成となるため、現在はβ版ということになります。デベロッパーが増えるにつれ、開発も複雑化していき、メトロポリスはビザンチウムとコンスタンティノープルの2つに分けて実装されています。
また、ホームステッドでは3度アップデートされており、イーサリアムの潜在的なバグが攻撃により発見され、2016年DDoS攻撃対策となる” タンジェリンホイッスル”に移行。同年11月22日にリプレイプロテクションや一部のOPCODEのガスコストを増やすセキュリティ強化版の“スプリアスドラゴン”へと移行しました。つまり今回の大型アップデートは5回目ということになります。
開発としては終盤に差し掛かっており、おおよそ2020年~にセレニティの実装という予定となっています。
1-1.繰り返される実装時期の誤解とその理由
一部メディアが「コンスタンティノープルの実装時期が決まった」との報道をしていますが、元のソースを確認せずに行っているためこれは間違いとなります。元情報となったのはMediumのブログ記事ですが、その記事自体が間違えており、ソースを明確に記載していないことが原因となっています。