イーサリアム財団、Glamsterdamのガス再価格設定で一部コントラクトに障害の恐れと警告
重要ポイント
- •EIP-8037は、アカウント、ストレージスロット、デプロイ済みバイトコードの作成コストを引き上げ、標準化する。
- •EIP-8038は、SLOAD、SSTORE、cold account access を含む既存状態へのアクセスコストを引き上げる。
- •提案された価格設定でも、過去のメインネット取引の大半は同じ結果だったが、一部は異なる挙動を示した。
- •2,300ガスのtransferやsendのstipendを含む固定ガス前提に依存するコントラクトは、コードを更新しない限り壊れたままになる可能性がある。
- •イーサリアム財団は affected-contracts データベースを提供し、メインネット有効化前に glam-devnet-8 で修正をテストするよう開発者に求めている。

イーサリアム財団は、近日予定されているGlamsterdamのガス再価格設定により、開発者が更新しない限り一部のスマートコントラクトが失敗する可能性があると警告した。
EIP-8037とEIP-8038は、イーサリアム全体における状態の作成と参照にかかるガスコストを引き上げ、標準化する。開発者はGlamsterdamのdevnetでコントラクトをテストでき、ウォレットおよびRPCプロバイダーは新しいスケジュールに合わせてガス推定を更新する必要がある。
イーサリアム開発者は、予定されているGlamsterdamアップグレードの下で新しいガスルールに対応する必要があり、変更なしでは動作しなくなるコントラクトもある。イーサリアム財団は、EIP-8037とEIP-8038が状態の作成および参照のコストを変更すると説明した。大半のコントラクトは影響を受けない見込みだが、ハードコードされたガス前提に依存する開発者は、再価格設定がメインネットに反映される前にコードを更新する必要があるかもしれない。
これらの変更は主要なEVM操作の価格設定に影響するため、実際の影響は広いアプリケーションの種類よりも、コントラクトのロジックやツールに埋め込まれた具体的なガス前提に左右される。そのため、以前のネットワークアップグレード以降、古い定数を見直していないチームにとってテストが重要になる。
Glamsterdamがイーサリアムのガスコストを変更
この2つのEIPは、ネットワーク全体でイーサリアムが状態操作にどのように課金するかに焦点を当てている。EIP-8037は、アカウント、ストレージスロット、デプロイ済みバイトコードの作成コストを引き上げ、標準化する。
EIP-8038は、SLOAD、SSTORE、cold account access を含む既存状態へのアクセスコストを引き上げる。また、EXTCODESIZE と EXTCODECOPY のコストも変更する。
イーサリアム財団によると、これらの変更は、イーサリアムのより大きな状態における操作負荷の測定結果を反映している。これらの操作のガス価格が最後に変更されたのは、2021年のBerlinアップグレード時だった。
最近のガスリミット引き上げにより状態の成長が加速していると財団は述べた。新しい価格モデルは、ベーススループットをおよそ3倍に引き上げる性能目標を採用している。
一部のスマートコントラクトは失敗する可能性
イーサリアム財団は、提案されたガススケジュールを用いて過去のメインネット取引を再実行した。大半の取引は新しい価格設定でも同じ結果となったが、少数は再価格設定後に異なる結果を示した。
一部の取引は引き続き成功したが、消費するガス量は異なっていた。別の取引は、元のガス上限が不十分になったために失敗しただけだった。開発者は、供給するガス上限を引き上げることでこれらのケースに対処できる。
より少数のケースは、上限を大幅に引き上げても壊れたままになる可能性がある。これらのコントラクトは、コード内の固定ガス前提に依存していることが多い。例として、Solidityの2,300ガスのtransferおよびsendのstipendがある。
ハードコードされた call value、gasleft() のチェック、固定ガス上限も問題を引き起こす可能性がある。財団は、最も影響を受けるコントラクトのチームにはすでに直接連絡を行っていると述べた。
開発者はメインネット前にテスト可能
Layer 1コントラクトを管理する開発者は、自身のコントラクトアドレスを使って affected-contracts データベースを検索できる。このツールは、失敗の種類と各問題の原因となった再価格設定を特定する。
財団はまた、Platåberget テストネットとして知られる glam-devnet-8 で修正をテストするよう開発者に勧めた。ウォレットおよびRPCの開発者は、新しいスケジュールを反映するようガス推定を更新しなければならない。
キャッシュされたガス定数があると、取引コストを過小評価し、失敗につながるおそれがある。通常の利用者は、更新されたウォレットとインフラが変更を処理するため、特別な対応は不要である。
この再価格設定はすでにdevnetで有効になっており、メインネット有効化前に公開テストネットへ移行する予定である。