イーサリアム財団は、イーサリアムの大型アップデートであるコンスタンティノープルを、再び延期すると発表しました。
延期の理由は、アップデートに伴うシステム導入により、リエントリー攻撃が可能になることが発覚したためです。
本稿では、アップデート延期の概要と、問題となったリエントリー攻撃について解説していきます。
アップデートは再び延期へ
当サイトでも、昨年からイーサリアムの大型アップデートを追い続けてきました。
“追い続けてきた”というのも、このアップデートは延期を繰り返してきたからです。
当初は去年10月に予定されていたものが11月へと延期され、少なくとも年内は確実と言われながら年内実行に至らず更に延期、その際には1月半ばの予定とされていました。
11月の延期発表の際には、1月半ばの予定であるものの、更なる延期の可能性も示唆されていました。
そして、日本時間17日午前7時、今回もまた延期されることが発表されました。
延期の理由
このように、延期が続いているわけですが、今回のアップデートはかなり大型のものです。
イーサリアムのロードマップは、大きく4段階に分けて構築されており、今回のアップデートは3段階目にあたるコンスタンティノープルです。
設計を大きく変更することで、パフォーマンスの大幅な向上を目指していますが、変更を加える箇所が多いほどバグも頻発します。
これまでの延期発表でと、バグの頻発によってアップデートが遅れていることは明らかにされており、特にあるブロックで動作が停止するバグが報告されていました。
しかし、今回の延期はこのバグによるものではないようです。
イーサリアム財団の発表によれば、コンスタンティノープルへのアップデートに伴い、リエントリー攻撃が可能となることが指摘され、その脆弱性に対処すべく延期に至ったようです。
リエントリー攻撃とは
今回問題となったリエントリー攻撃とは、特定のアカウントが保有しているイーサリアムを何度も繰り返して送金させるハッキング行為です。
リエントリー攻撃は、イーサリアムの取引に伴って支払うガス(手数料)が2300以下の場合に可能となります。
アップデート前の現在は、イーサリアムの取引で必要となるガスは5000であり、リエントリー攻撃が可能となる水準を大きく超えていることが分かります。
このため、これまでリエントリー攻撃が問題になることはありませんでした。
しかし、今回のアップデートでは、EIP-1283というシステムを導入することで、取引に必要となるガスを抑えることも盛り込まれていました。
これが実現すると、今までは5000のガスを必要としていたところを、300まで下げることができ、イーサリアムの流通を大きく促すことが期待されていたのです。
ところが、これではリエントリー攻撃が可能となるガスの水準2300をはるかに下回ることとなります。
これは非常に危険だということに気が付き、アップデートを延期することになったのです。
この問題を発見したのは、スマートコントラクト監査団体のChainSecurityのCTOであるHubert Ritzdort氏です。
同氏は今回のアップデート延期に伴い、以下のように発言しています。
これまでは、少額のガスを支払うことで便利なことができ、悪意あることはできなかった。しかし、今回もっと少額になったことで、不正行為も可能となってしまった。
市場の反応
なお、これはアップデートした場合に問題となる脆弱性であり、現時点のイーサリアムにはこのような問題はありません。
ChainSecurityのCOOであるMattias Egli氏の見解でも、この脆弱性はイーサリアムそのものの問題ではなく、イーサリアムの開発言語に起因する問題であるとされています。
しかし、待ち望まれたアップデートが再び延期されたことで、市場は否定的な反応を示しています。
この発表後、イーサリアムの価格は約6%の急落となりました。
また、今回の延期発表では、いつまで延期されるのかについて公表されておらず、それも失望売りに繋がったと考えられます。
ChainSecurityの関係筋によれば、1ヶ月程度の延期になるとの情報もありますが、噂程度に捉えておくのが良いでしょう。
まとめ
延期発表と価格急落は残念ですが、延期は正しい決断だったでしょう。
もし、リエントリー攻撃の問題が明らかにされることなくアップデートに至れば、アップデート後に大問題となり、市場全体に悲惨な影響をもたらしたことでしょう。
間違いを未然に防ぎつつ、着実に機能を高め、仮想通貨の普及に貢献して欲しいものです。