コンスタンティノープルが完了|分裂は確認されず
イーサリアムの大型アップデート「Constantinople(以後 コンスタンティノープル)/St.Petersburg」が、完了したことが明らかになりました。
3月1日の早朝、イーサリアムのブロックが予定されていた「アップデートブロックナンバー:7,280,000」に到達し、コンスタンティノープルが実行されました。
3月2日午前2時(日本時間)時点では、すでに7,285,005ブロックまで生成されています。
今のところ、チェーンの分岐や新通貨誕生(ハードフォーク)などのトラブルは確認されていません。
イーサリアムネットワークを利用している 分散型ソーシャルメディアプラットフォーム「ALIS」は、コンスタンティノープル完了後 自社のツイッターを更新し、システムが問題なく稼働していることを報告しました。
㊗️㊗️㊗️ #Ethereum の #Constantinople ハードフォークが無事に成功し、問題なく可動している事を確認しました🎉🎉🎉
ALISに関わる挙動も問題ありません🙂#ETH #ALIS— ALIS (@ALIS_media) 2019年2月28日
ALISとは、Alliance Wisdomの略称で、ブロックチェーン技術を用いた分散型ソーシャルメディアプラットフォームを提供するサービスです。
日本において、ブロックチェーン技術を利用したソーシャルメディアプラットフォームは、ALISが初とされています。
コンスタンティノープルのアップデートの概要
コンスタンティノープルの特徴、概要は以下の通りです。
- EIP 1234:ディフィカルティボムの延長&マイニング報酬の減少(3ETH→2ETH)
- EIP 1283: Gas計量法の変更により、Gasコストの削減
- EIP 145: 「ビットワイズ・シフティング」と呼ばれるイーサリアムにおけるプロセスの効率向上
- EIP 1052:特定のアドレスハッシュを生成するラージ・スケールコードのオプティマイズ化
- EIP1014:実際にアドレスが形成される前にアドレスを決めてやり取りを可能にする
ディフィカルティボムとは、マイニングの難易度を少しずつ下げていくプログラムで、それに伴いマイニング報酬も3ETH→2ETHに減少します。
また、EIP 1283におけるGas計量法の変更により、1月に虚弱性が明らかになった「リエントリー攻撃」への対策も済んでいると考えられます。
コンスタンティノープル|完了までの道のり
今回、ようやく完了したイーサリアムアップデート「コンスタンティノープル」ですが、今日まで計2回の延期が行われていました。
一度目の延期が決定したのは2018年10月の事でした。
テストネットとして利用されていたRopsten(ロプステン)にて、合意形成にかかわる問題が報告され、イーサリアムのトップ開発者であるAfri Schoedon氏は自信のツイッターで次のようにコメントしました。
no constantinople in 2018, we have to investigate/コンセンサス(合意形成)の問題が起きた。
2018年中にコンスタンティノープルは実施しない。
その後、12月7日には開発者会議が開かれ、コンスタンティノープルの実装ブロックを「第708万ブロック」に決定されました。(延期予定日程は2019年1月14日)
ハードフォークの試験運用中にトラブル発生
コンスタンチノープルはテストネット「Ropsten(ロプステン)」で試験運用されてていましたが、イーサリアムのPoWであるEthashの#4230000ブロックで「合意形成にかかわる問題」が発生しました。
Ethereum's Constantinople hard fork is officially active on the Ropsten testnet! Huge props to everyone who made this happen.
— Eric Conner (@econoar) October 13, 2018
Block rewards are coming in at 2 ETH per block. pic.twitter.com/qmppSxifHv
Due to a consensus issue with the Constantinople fork, Ropsten is currently not usable. The Ethereum dev community is investigating. Until further notice please utilize one of the other Ethereum testnets
— Infura (@infura_io) October 13, 2018
ETH開発者が「年内のハードフォーク実施は無い」と発言
このトラブルを受けて、イーサリアム開発者Afri Schoedon氏は自信のツイッターで次のようにコメントしました。
https://twitter.com/5chdn/status/1051194779890003974?s=20
「コンセンサス(合意形成)の問題が起きた」
「2018年にコンスタンチノープルは実施しない。年内はこのトラブルを調査する必要がある。」
また、「今回の問題(コンセンサス問題)に加え、Ropsten(テストネット)に重大な問題がある場合、コンスタンチノープルを行うことはできない。」とも発言しています。
https://twitter.com/5chdn/status/1051399202549448704
10月5日、イーサリアム財団の広報責任者であるHudson Jameson氏は次のような前向きなコメントをしていましたが、イーサリアム開発者のAfri Schoedonが「年内のハードフォークは無い」という以上そちらの可能性のほうが高いでしょう。
Nope, it means we don't even want to break the testnet.
— Péter Szilágyi (@peter_szilagyi) October 4, 2018
「第708万ブロック」に決定
12月7日、隔週の開発者会議にて、10月に延期が決定した仮想通貨イーサリアムの大型アップデート「コンスタンティノープル」の実装ブロックが「第708万ブロック」に決定しました。
イーサリアムの大型アップデート「コンスタンティノープル」は10月、試験運用中だったテストネットワーク「Ropsten」でトラブルが起き、開発者の発表により2019年1月まで実施を延期することが明らかになっていました。
no constantinople in 2018, we have to investigate
— Afri 🌩️ (@5chdn) 2018年10月13日
続いて2019年1月17日には、イーサリアム財団によって2度目の延期が発表されました。
これはスマートコントラクト監査団体のChainSecurityが公開した、
「コンスタンティノープルはリエントリー攻撃を可能にする」
と題されたブログ記事における指摘によって、イーサリアムのリエントリー攻撃に対する虚弱性が発覚したため延期されました。
1月16日に再び延期を発表
1月16日午前7時頃、1月17日に予定されていた仮想通貨イーサリアムの大型アップデート「コンスタンティノープル」の延期が、イーサリアム財団の発表によって明らかになりました。
また、延期先(次のアップグレード)の日程はまだ明らかになっていません。
[SECURITY ALERT] #Constantinople upgrade is temporarily postponed out of caution following a consensus decision by #Ethereum developers, security professionals and other community members. More information and instructions are below. https://t.co/p2znO8HGxf
— Ethereum (@ethereum) 2019年1月15日
イーサリアム財団の発表によると、延期の原因は”リエントリー攻撃”に対する虚弱性の発覚です。
これはスマートコントラクト監査団体のChainSecurityが公開した、
「コンスタンティノープルはリエントリー攻撃を可能にする」
と題されたブログ記事における指摘によって明らかになりました。
仮想通貨イーサリアム(ETH)の大型アップデート「コンスタンティノープル」はもともと昨年11月に行われる予定でしたが、
テストネット「Ropsten(ロプステン)」の試験運用中にトラブルが起きたことで延期が発表されていました。
前回のアップグレード延期の詳細は以下の記事で解説していますので、詳しく知りたい方はぜひご覧ください↓
アップデートが延期の原因となったリエントリー攻撃とは?
ここからは先述した”リエントリー攻撃”について分かりやすく解説していきます。
リエントリー攻撃について解説する前に、以下2つの言葉を把握しておくとスムーズに内容が理解できます。
- ELP-128:今回のアップデートで導入される予定だったシステムのこと。
- フォールバック関数:予期せぬエラーが起きてもシステムを持続させる関数。2,300ガス以下で機能する関数。
リエントリー攻撃の仕組
まず、リエントリー攻撃とは、
「フォールバック関数によって仮想通貨ETH(イーサリアム)を複数回送金させるハッキング行為」
のことです。
フォールバック関数は一度行われた送金をもう一度行わせることができる関数で、ガスが2,300以下の状態で機能する関数です。
これまでのETH(イーサリアム)取引時にかかるガスは、フォールバック関数が機能する2,300ガスを大きく上回る5,000ガスです。
ガスが5,000ガスを下回ることは基本的にイーサリアムには無く、よってフォールバック関数が機能することによるリエントリー攻撃が行われることもありませんでした。
逆に「ガスが2,300を下回る状況」になった場合は非常に危険です。
ガスが2,300を下回るということは「リエントリー攻撃をいつでも仕掛けられる」ことと相違なく、
イーサリアムにとってあってはならない状態です。
イーサリアムのアップグレードが延期された原因
ここで登場するのが「ELP-128」です。
ELP-128は、今回のアップデートで導入される予定だったシステムで、このシステムを導入すればETH取引時にかかる手数料(ガス)を低く抑えることが可能になります。
実際に導入すれば、
1つの取引当たり5,000ガス(導入前)→300ガス(導入後)
ほどの低ガス化が可能だといわれており、
すなわち、仮にELP-128が導入されれば「リエントリー攻撃をいつでも仕掛けられる」という状況が作られることになります。
その危険性に気が付いたスマートコントラクト監査団体のChainSecurityは、
急遽ブログを更新しイーサリアムのアップグレードを延期させるに至ったということですね。
ETH(イーサリアム)価格への影響
今回の大型アップグレード延期によって仮想通貨ETH(イーサリアム)の価格は約7.5%の下げ幅を見せています。
CoinMarketCapにて上位に位置する仮想通貨は全面的に値下がりしていますが、その中でもETH(イーサリアム)はほか通貨より大きい下げ幅を見せています。
ついにイーサリアムのアップデートが成功
そして今回、アップデートが行われた7,280,000ブロック(実装予定日は3月1日)が決定したのは2月23日の事でした。
Ethereum's Constantinople and St. Petersburg network upgrades are less than a week away! Click this post for more info and what you need to do to prepare #Constantinople #StPetersburg #Ethereum https://t.co/ZMuHjgiGWj
— Ethereum (@ethereum) 2019年2月23日