イーサリアム、8つのスマートコントラクトリスクが浮上しGlamsterdamアップグレードを延期

イーサリアムの開発者たちは、ガス会計への変更案によって既存のスマートコントラクトの8つの前提が無効になる可能性があるとセキュリティ研究者が指摘したことを受け、HoodiテストネットでのGlamsterdamアップグレードを延期した。11月6日のブログ投稿で、イーサリアム財団は…



シェア
イーサリアムの開発者たちは、ガス会計への変更案によって既存のスマートコントラクトの前提8件が無効になる可能性があるとセキュリティ研究者が指摘したことを受け、HoodiテストネットでのGlamsterdamアップグレードを延期した。
• イーサリアムの開発者たちは、提案されているガス変更の下で無効になる可能性がある8つのスマートコントラクトの前提をChainSecurityが特定したことを受け、HoodiテストネットでのGlamsterdamアップグレードを延期した。
• EIP 8037とEIP 8038は、イーサリアムが特定の操作に対してガスを課金する方法を変更し、固定ガスコストや特定のトランザクション失敗条件に依存する既存のコントラクトに影響を与える可能性がある。
• イーサリアム財団は、開発者と監査人に対し、影響を受けるプロジェクトをレビューし、アップグレード仕様の変更が必要かどうかをコア開発者が判断する前に、潜在的な問題を報告するよう求めています。
• 特定された懸念が解決されるまでHoodiハードフォークは保留され、一方でイーサリアムの後続アップグレードであるHegotaの開発は中断なく継続される。
11月6日のブログ投稿で、イーサリアム財団は、監査会社ChainSecurityが、EIP-8037とEIP-8038が発効すると脆弱になる可能性がある複数のプロジェクトを特定したと述べた。
両提案は、イーサリアムが特定の操作、特にブロックチェーンの状態の作成とアクセスを伴う操作に対してガスをどのように課金するかを変更する。一部の既存のコントラクトは、固定のガスコストや、操作が失敗した後にどれだけのガスが残るかについての想定に依存している。
この発見を受け、イーサリアムのAll Core Developers(ACD)グループは、互換性の懸念が解決されるまでHoodiハードフォークを延期することにした。
開発者たちは現在、影響を受けるコントラクトを独立して更新できるかどうか、あるいはアップグレード仕様の変更が必要かどうかを検討している。
イーサリアムのグラムステルダム・アップグレードは8つの互換性問題に直面している
セキュリティ上の懸念は、ChainSecurityによる10月13日の分析で詳述されており、外部呼び出しが失敗した後も実行を継続するコントラクトの挙動をGlamsterdamがどのように変え得るかが検討されていた。
イーサリアムの現行ルールでは、一部のコントラクトは、失敗した操作によって後続の命令を完了するにはガスが不足する状態になることに依存している。Glamsterdamの改訂された会計処理では、開発者が当初トランザクション全体がリバートすると想定していた場合でも、特定の操作が完了できる可能性がある。
ChainSecurityは、そのような動作が、失敗したトランザクションが永久に記録されることや、正当な操作が再試行の選択肢を失うことを防ぐために設計された保護措置を妨げる可能性があると警告した。
一つの例は、外部呼び出しがガス切れになった後に操作を失敗と記録するコントラクトに関するものである。新しいルールの下では、以前は利用できなかったガスが再びアクセス可能になり、コントラクトが恒久的な失敗を記録できるようになる可能性がある。
イーサリアム財団は、影響を受ける8つの不変条件を文書化したGitHubリポジトリを公開しており、そこには説明、例、および開発者が自身のコードを検査するための手順が含まれている。
特定されたリスクの中には、ガス消費量は一方向にしか変動しないと仮定しているコントラクト、固定のガス割当量が十分であり続けると仮定しているコントラクト、またはリバートされた呼び出しがステートの作成にすでに消費されたガスを返却できないと仮定しているコントラクトが含まれる。
リポジトリは、これまでに判明した最も一般的な問題として、固定ガスバジェットとガスリザーブを挙げており、特に事前に定められたトランザクションコストに依存するコントラクトで顕著である。
開発者には、オンチェーンコントラクトと、ハードコードされたガス上限を含む可能性があるウォレット、リレイヤー、インフラストラクチャなどの関連するオフチェーンシステムの両方をレビューすることが求められている。
Hoodiのアクティベーションは、セキュリティレビューが続く間、保留が続いている
最新の調査結果は、当初10月26日17時42分48分(UTC)に予定されていたHoodiの有効化をイーサリアムが先に延期した決定の背景について、さらなる詳細を明らかにしている。
crypto.newsが以前報じたように、今回の延期により、HoodiのスケジュールからAmsterdam実行レイヤーとGloasコンセンサスレイヤーの両方のアクティベーションが削除され、さらにテストネットのガスリミットを200 millionに引き上げる計画も取り除かれた。
代替の有効化日はまだ発表されていません。
イーサリアム財団の開発者であるマリウス・ファン・デル・ワイデン氏は、既存のアプリケーション全体に及ぶ可能性のある影響を評価するため、内部監査を実施しながらChainSecurityおよびDedaubと協力していると述べた。
財団は、特に脆弱性がスマートコントラクトとオフチェーンインフラストラクチャ間の相互作用に関わる可能性がある場合、そのレビューではすべてのイーサリアムプロジェクトを網羅することはできないと認めた。
そのため、次のAll Core Developersの議論までに、影響を受けるアプリケーションを特定し、調査結果を提出するよう開発者と独立監査人に要請した。
リポジトリは、影響を受けるコントラクトの詳細、関係する特定の不変条件、可能な修正、および利用可能な場合は裏付けとなるテストを求めています。報告は[email protected]に非公開で提出できます。
フィードバック次第では、開発者はアップグレードを進める前にEIP-8037およびEIP-8038への調整を検討する可能性がある。
ファウンデーションによると、イーサリアムの次のHegotáアップグレードに関する作業は並行して継続され、Glamsterdamの遅延による影響は受けない。
Glamsterdamのスケーリング変更は依然としてテスト中である
Glamsterdamはすでに10月6日にSepoliaテストネット上で有効化されており、開発者たちは200 millionのガスリミットの下でそのスケーリング変更の検証を始めていた。
このアップグレードは、EIP-7732を通じてプロポーザー・ビルダー分離をプロトコルに組み込むもので、ブロック構築の責務をイーサリアムのコンセンサスプロトコルに取り入れます。
もう一つの主要な構成要素であるEIP-7928は、クライアントがトランザクションデータをより効率的に処理し、並列実行をサポートできるように設計されたブロックレベルのアクセスリストを導入します。
ガスの再価格設定はアップグレードのもう一つの部分を成す。EIP-8037は新たなブロックチェーン状態を作成するコストを変更し、EIP-8038は既存の状態にアクセスするための料金を調整する。
8月の技術評価で、イーサリアム財団は、過去のトランザクションのリプレイにより、ほとんどのスマートコントラクトが提案された価格変更の影響を受けないままであることが示されたと述べた。
しかし、より小規模なグループは、予期せぬ障害を回避するために、より高いガスリミットまたはより大幅な変更を必要とした。
別途、開発者らは、同一の公開鍵を共有するブロックビルダーにステーキング預金が誤って入金される可能性があった欠陥を特定した後、10月26日にバリデータ預金の修正をマージした。
この修正は、GlamsterdamのGloasコンセンサス変更に関わる別個の問題に対処したもので、クライアント実装が改訂された動作を取り入れる前に、仕様に回帰テストが追加された。


