イーサリアム、HoodiテストネットでのGlamsterdam有効化を延期—既展開コントラクトへのリスクを指摘
重要ポイント
- •イーサリアムの開発者は、HoodiテストネットでのGlamsterdamの10月26日の有効化を一時停止し、Amsterdam実行レイヤーとGloasコンセンサスレイヤーの両フォーク、および予定されていた2億ガス上限の引き上げを取り消した。
- •EIP-8037は、状態の増大を遅らせるため、新しいストレージスロットの状態コストを20,000から97,920ガスへ、新しいアカウントのコストを25,000から183,600へ引き上げる。その著者らは、2億ガス上限のもとでは1年以内に650 GiBを超えると推定している。
- •ChainSecurityの10月13日の分析は、新ルールがinsufficient gas griefingを可能にする可能性があると警告した。リザーバーや補充されたガスにより、失敗ハンドラーが失敗した呼び出しを恒久的に記録でき、リザーバーが空の場合、コールドストレージ書き込みの実行ガスは約9倍になる可能性がある。
- •Hoodiのオペレーターは10月26日までに、リリースノートが旧有効化の削除を明示的に確認しているリリースで実行・コンセンサスクライアントを更新する必要がある一方、イーサリアム財団はメインネットのユーザーとETH保有者は対応不要としている。
- •代替のHoodi日付もメインネット有効化日も未定であり、EIP-8037のLast Callレビュー(提案確定前の最終期間)は11月1日に締め切られる。

イーサリアムの開発者は、アップグレードの新しいガス料金ルールのもとで既にデプロイ済みのスマートコントラクトがどのように動作するかへの懸念から、HoodiテストネットでのGlamsterdamアップグレードの有効化を一時停止しました。この決定はAll Core Devs Execution call #248で下されたものであり、イーサリアム財団が10月22日の発表で明らかにしました。
この決定の要点:
- 新しいストレージスロットの状態コストが20,000から97,920ガスに引き上げられる。
- Hoodiで予定されていたガス上限2億(200M)への引き上げも取り消された。
- Glamsterdamのメインネット有効化日は未定。
- EIP-8037のLast Callレビューは11月1日に終了。
メインネット前の最後のテストネットステップが保留に
Glamsterdamは10月26日17:42:48 UTCにHoodiで有効化される予定でした。今回の延期により、アップグレードの2つの要素であるAmsterdam実行レイヤーとGloasコンセンサスレイヤーの両方の有効化、および同時にHoodiのガス上限を2億に引き上げる予定だったスケジュールが取り消されました。これによりテストネットの履歴は巻き戻されずに将来の構成が変更されますが、代替日付は設定されていません。
前回のアップグレードであるFusakaでは、Hoodiはメインネット前にフォークした3番目で最後のテストネットであり、財団はThe Blockると、メインネットは少なくとも30日後に続くと述べていました。その展開では、最後のテストネットフォークがメインネット前の最後の公開チェックポイントでした。GlamsterdamはすでにSepoliaでの2億ガスのリハーサルを通過しており、その際の修正はバリデーターのデフォルト設定に関するPrysmの更新、つまりクライアントの設定問題でした。今回の問題は、既にデプロイ済みのコントラクトがどのように動作するかです。財団はGlamsterdamのメインネットの日付を設定しておらず、メインネットのユーザーとETH保有者は対応不要としています。
一部の書き込みで実行ガスを圧縮するストレージ価格の引き上げ
EIP-8037は、すべてのノードが保存しなければならないデータであるイーサリアムの状態(state)の増大を遅らせることを目的としています。その著者らは、2026年1月時点でこの状態を約390 GiBと見積もっています。現在の料金設定では、2億ガスの上限が1年以内にこの状態を650 GiB—ノードの動作が遅くなり始める水準—を超える可能性があると推定しています。その対策として、新しい状態1バイトあたり1,530ガスを課金し、新しいストレージスロットの状態コストを20,000ガスから97,920へ、新しいアカウントのコストを25,000から183,600へ引き上げます。
大規模なコントラクトのデプロイを可能にするため、この提案はガスを2つのプールに分割します。実行ガスは計算を担い、状態ガスは新しいストレージを担います。トランザクションが16,777,216を超えて供給するガスはすべて、状態料金が最初に充当される別の状態ガスリザーバーに入ります。このリザーバーはすべてのサブコールに全額引き継がれ、コントラクトは標準のgasleft()読み取りではそれを見ることができません。
新しいストレージスロットへのコールド書き込みに必要な実行ガス(ChainSecurityによる、EIP-8037とEIP-8038の数値を使用):
- 現在: 22,100
- Glamsterdam、リザーバーが97,920の状態料金を支払う場合: 12,100
- Glamsterdam、リザーが空の場合: 110,020
言い換えれば、同一のコールド書き込みでも、リザーバーが状態料金を充当する場合と比べて、リザーバーが空の場合には実行ガスが約9倍かかる可能性があります。
ガスは実行中に戻ることもあります。同じトランザクション内で以前に作成されたスロットをクリアすると、最大97,920ガスが直ちに補充され、revertするサブコールは支払った状態料金を返還できます。そのため、コントラクトの見かけのガス残高は実行の途中で増加することがあります。EIP自身、2つのガス読み取り値の差として作業量を測定するコントラクトはマイナスの結果を得る可能性があると警告しており、そのような設計で既にデプロイ済みのコントラクトは修正できません。
攻撃者が新ルールを悪用する方法
セキュリティ企業ChainSecurityは10月13日の分析でこのリスクを示しました。コントラクトは失敗した呼び出しを捕捉してその結果を記録することが多く、悪意ある呼び出し元は意図的にガスを少なすぎる状態で供給することで、有効な操作を失敗させながら、コントラクトにはその失敗を記録するのに十分なガスを残すことができます。この手法はinsufficient gas griefingとして知られ、再試行を恒久的にブロックしたり、ユーザーのクレームを削除したりする可能性があります。
失敗ハンドラー自体がガス切れになることに依存しているコントラクトの場合:
- ステップ1: 攻撃者がガスを少なすぎる状態で呼び出しを送信する。
- ステップ2: 対象の操作がガス切れになる。
- 現在: ハンドラーもガス切れとなり、すべてがrevertするため、ユーザーは再試行できる。
- Glamsterdam: リザーバーまたは補充されたガスによりハンドラーが完了し、失敗が恒久的に記録される。
失敗した呼び出しの後に残りガスをチェックするコントラクトは、補充やrevertする中継呼び出しによって残高が閾値を超えて戻されると欺かれる可能性があります。EIP-8038が既存の状態へのアクセスコストを引き上げるため、固定のガス予算も不足する可能性があります。既存のwarmスロットへの最初の変更は2,900ガスから10,100ガスに引き上げられます。
すべて防御策が破られるわけではありません。ChainSecurityは、予算がリザーバーに頼らずに新しい価格のもとですべての実行パスをカバーしている限り、呼び出し前に行うチェックは依然として要求されたガスの供給を保証すると述べています。同社は、呼び出し後のガスチェックに依存すること自体を避けるよう助言しています。財団の通知はEIP-8037にのみ言及しており、EIP-8038も扱う同社の調査は引用していません。
オペレーターと開発者がすべきこと
Hoodiのオペレーターは10月26日までに実行クライアントとコンセンサスクライアントを更新しなければならず、そのリリースノートが旧有効化の削除を明示的に確認しているものを使用する必要があります。元の発表のバージョンテーブルは確認とはみなされません。10月23日時点で、財団は2つのクライアントの更新済みリリースを挙げており、他のクライアントも確認され次第追加されると述べています。
バリデーターはビーコンノードとバリデータークライアントの両方を更新する必要があり、外部のブロック構築インフラを運用する者はプロバイダーの指示に従うべきです。アプリケーションチームは、その日付を基準にしたHoodiテストの計画を中止すべきです。
コントラクト開発者向けに、ChainSecurityのチェックリストは、失敗後も実行を継続できるすべての呼び出しから始まります。プロキシを含む完全なパスの追跡、同じトランザクション内で設定・クリアされるスロットやrevertする中継呼び出しの特定、固定予算の再確認、サブコールを強制的に失敗させて両方のルールセットのもとでの結果を比較することなどが含まれます。可能な限り、失敗した呼び出しは操作全体をrevertさせるべきです。EIPによると、ウォレットとノードソフトウェアも、2プールモデルに対応したガス見積もりへ更新する必要があります。
次の決定はコア開発者に委ねられています。EIP-8037のLast Callレビュー—イーサリアムのプロセスにおいて提案が確定する前の最終レビュー期間—は11月1日に締め切られ、この調査が仕様変更につながる可能性があり、改訂されたHoodiの日付は今後の電話会議で設定される予定です。
本記事は情報提供のみを目的としており、金融または投資に関する助言を構成するものではありません。ーサリアムのアップグレードスケジュールおよび技術仕様はテスト期間中に変更される可能性があります。
出典: Coindoo