- 延期されたアップグレード成功のために用意された解決法とは
- 大型アップデートにおける脆弱性が原因で2月27日前後に延期されたイーサリアム、解決案として二段階のアップグレード実装が予定されている。本文では「コンスタンチノープル」に向けた最新状況をまとめる。
イーサリアム「コンスタンチノープル」へ向けて
仮想通貨イーサリアムのコミュニティは、システム全体の大型アップグレード「コンスタンティノープル」を、今月末に実施することを再確認した。
このアップグレードは、元々1月中旬に予定されていたが、予定日の2日前、スマートコントラクト監査会社ChainSecurityにより、一部のコードに重大な脆弱性があることが指摘され、延期が決定されていた。
新たな日程としては、すでに2月27日前後が設定されている。(ブロックナンバー:7280000)
Seems we're going with block 7.28M for the #Ethereum Constantinople refork scheduled for the 27th of February! Will be a single fork on mainnet and a post-Constantinople-fixup fork on the testnets to get them back in line feature wise with the main network.
— Péter Szilágyi (@peter_szilagyi) 2019年1月18日
その延期の原因となったのは、実装予定だった五つのイーサリアム改善案(以下EIPと表記)の中の一つ、EIP 1283で、イーサリアムの歴史の中で最大の汚点を残した2016年のDAO攻撃と類似する脆弱性で、「リエントラント(再入力)攻撃」を可能にすると指摘された。
EIP 1283は、スマートコントラクトがネットワーク上で、どのように保存されるかを分析し、必要なだけの手数料「ガス(GAS)」を計算する事で、手数料を大幅に引き下げる機能を持っている。
この機能が実装されると、ネットワークの攻撃者は、イーサリアムの短期メモリに保存されても、ブロックチェーンに到達しない脆弱性を持った、手数料の引き下げられたスマートコントラクトに、何度も再入し「永久に資金を引き出す」ことを可能にすることにつながると言われている。
しかし、EIP 1283のコードを修正する時間を考慮すると、予定されている「コンスタンティノープル」実装をさらに長期間延期することになると判断した開発者チームは、基本的にEIP 1283を除いた残り4つのEIPからなるハードフォークを実施することに合意する。
だが、この脆弱性が発見される前に、既にRopstenを含むいくつものテストネットが「コンスタンティノープル」を実装し、稼働していたことから、安全にEIP 1283を削除する、第二のアップグレードが必要となるという事実を開発者チームは確認し、合意に至ったという。
これが稼働中のイーサリアムネットワークからEIP 1283を削除するために特別に設計された2次アップグレード、ニックネーム「Petersberg(ピーターズバーグ)」である。
「Petersberg」とは
月末に控えている「コンスタンティノープル」は、同時に実行される2つの別々のアップグレードで構成され、メインネットへ導入される。まず初めに、すべてのオリジナルEIPを含むアップグレード、コンスタンティノープルが行われ、同じブロック上で、二番目のアップグレード、セキュリティ問題であるEIP 1283を削除する「Petersberg」が行われる。この時点で、Petersbergは即座にコンスタンティノープルに取って代わるという。
この戦略は、イーサリアムチームのPéter Szilágyi氏によって提案されたものだが、既にコンスタンティノープルのアップグレードを完全な形で実装したテストネットやプライベートネットが、ブロックを遡ることなしに、容易に修正を行えるようにと配慮されたものだ。
イーサリアム財団の開発者関係担当のHudson Jameson氏はCoindeskの取材に応じて、Petersbergのメインネット上へのリリースに関するテストはすべて完了し、GethやParityという主要なクライアントも、合意されたブロックナンバーで、実装する準備ができていると話した。
懸念点も
今回の大型アップグレードに関する懸念は、他にも指摘されている。
イーサリアム安全部門リードのMartin Holst Swende氏は、コンスタンティノープル後に、変更不可と考えられているイーサリアム上のスマートコントラクトが、複数のトランザクションを経る中、ある一定の条件下では、改変可能になると指摘した。
Fact: after Constantinople, a contract can selfdestruct and potentially be restored with different code. (rules and conditions apply)
— M H (((Swende))) (@mhswende) 2019年2月8日
So YES, it can change code in-place (but no if you don't consider 2 txs timespan suddenly) https://t.co/NWAXOl0vbT
これは、EIP 1014によって導入される、オフチェーン上で実際にアドレスが形成される前に、アドレスを決めてやり取りを可能にする新しい機能を指している。
ChainSecurity社の最高執行責任者であるMatthias Egli氏は、これは、「セキュリティのバグ」ではなく、通常のオペレーション外において稀に起こることで、予定されているアップグレード後に、開発者が用心する必要のあるケースだと述べている。
一方で、今回のハードフォークで付加される機能については、開発者に熟知を図るような教育が必要だという点で、Swende氏とEgli氏は一致しているようだ。
本日の速報をチェックスマートフォンへの「プッシュ通知」で、相場に影響を及ぼす重要ニュースをいち早く知らせてくれる「LINE@」の登録はこちら。大好評につき、登録者12,000名突破。
CoinPostのLINE@、おかげさまで順調に登録者増加中!
— CoinPost -仮想通貨情報サイト- (@coin_post) 2018年10月12日
・各国の規制ニュースや取引所関連速報
・BTCやアルトコインの高騰・暴落情報
・相場に影響し得る注目カンファレンス
など、国内外の「重要ファンダ」をいち早く入手したい方は是非ご活用ください。QRコードでも登録可。https://t.co/4rkZi4LwVx pic.twitter.com/7IUwECtvC0