autorenew
イーサリアムのステート膨張:ミームトークンがブロックチェーンを詰まらせる仕組みと、改善が暗号資産にもたらす意味

イーサリアムのステート膨張:ミームトークンがブロックチェーンを詰まらせる仕組みと、改善が暗号資産にもたらす意味

イーサリアムは、インターネット上で一夜にして注目を集めるミームコインを含むあらゆるトークンをローンチするプラットフォームとして定着してきました。しかし人気が増すと同時に責任も増す――この場合は大量のデジタルゴミが積み上がっています。StatelessETHおよびEthereumでステート解析を行うHan(ngweihan.eth)による最近のスレッドは、イーサリアムのステート成長問題を明らかにし、ネットワークの約80%が古い(stale)か実質的に無価値なデータであることを示しています。これは単なる技術的な話題ではなく、ミームトークンのクリエイター、トレーダー、広範な暗号エコシステムに直接影響します。

初心者向けに言うと、ブロックチェーン用語の「state」はネットワーク上のすべてのアカウント、残高、スマートコントラクトデータのスナップショットを指します。イーサリアムがトランザクションを処理するにつれて、このstateは拡大し続け、ノード(ネットワークを運用するコンピュータ)が追従するのを難しく、かつ高コストにします。Hanの分析は、なぜ多くのstateがゴミと化しているのか、そして私たちがそれに対して何ができるのかを深掘りしています。

まず外部所有アカウント(Externally Owned Accounts、EOA)—いわゆる一般的なウォレットアドレス—とスマートコントラクトを比較すると、データはEOAが長く残る傾向にあり、中央値のアクティブ期間は約3.1日であることを示しています。一方でスマートコントラクトの55%以上は単一のブロックにしか現れず、デプロイされて放置されることが多い。これは重要な点で、多くのミームトークンは本質的にポンプしてダンプし、その後デジタルの埃を被るスマートコントラクトだからです。

イーサリアム上のEOAとコントラクトのアクティビティ期間を示すチャート ブロック単位で見たコントラクトのアクティビティ分布

さらに掘り下げると、イーサリアムには約5,000万のスマートコントラクトが存在しますが、ユニークなbytecode実装は約160万に過ぎません。bytecodeはこれらのコントラクトを動かすコンパイル済みのコードです。驚くべきことに97%のコントラクトが既存のbytecodeを流用しており、スパム的なデプロイが大量に行われていることを示しています。フィッシング詐欺や、ERC-20標準のようなテンプレートからコピーされた手早いミームトークンを想像してください。こうした重複は実質的な価値を生まないままステートを膨らませます。

イーサリアム上のユニークなbytecode数 コントラクトbytecodeの再利用率

デプロイのパターンも示唆に富んでいます。mainnetでコントラクトをデプロイしたことがあるアドレスは約560万に過ぎず、もしあなたがデプロイ経験者なら上位0.02%のエリートに入ります。しかし上位500のデプロイ担当者が全コントラクトの57%を占めており、これは大手プレイヤーか自動化スクリプトがミームトークンやプロキシを大量に生産していることを示唆します。

イーサリアム上のコントラクトデプロイヤーの分布

Factories(他のコントラクトを生成する特殊なコントラクト)は約99,000存在し、全コントラクトの89%をデプロイしています。これらは最小限のプロキシ(ERC-1167)のような効率的で繰り返し可能なデプロイに使われることが多く、ガス代節約のためのミームトークンローンチで一般的です。

コントラクトデプロイにおけるファクトリーの役割 ファクトリーによってデプロイされたコントラクトの割合

ほとんどのコントラクトはbytecodeサイズが小さく、これは転送と残高管理だけを行う単純なミームトークンでは理にかなっています。興味深いのは、コントラクトの約54%がストレージスロットをまったく持たない—つまり状態を保たず計算のみを行う—という点です。しかし、トークン残高などの情報を保存するstatefulなコントラクトの方が、statelessなコントラクトよりも寿命が短い傾向にあります。

コントラクトbytecodeサイズの分布 ストレージスロットを持つコントラクトの割合 statefulとstatelessコントラクトのアクティビティ期間

ステート膨張の真の元凶はコントラクトのストレージです。ストレージスロットの約63%がたった一つのブロックで触れられ、その後二度と使われていません。これらは失敗したミームトークン実験や詐欺による一時的なデータかもしれませんが、残り続けることで全体のコストを押し上げています。

イーサリアム上のストレージスロットのアクティビティ

Hanのスレッドはこの問題に対処するための実行可能なアイデアで締めくくられています。state expiryはコールド(非アクティブ)なstateを自動的に削除してノードの負荷を軽くし、必要ならば証明(proof)によって復元できるようにする仕組みです。再利用されるコードのデプロイを安くすることは、ミームトークンにおけるイノベーションを損なわずに効率を促進します。アドレスごとのストレージに段階的な価格付けを導入すれば、連続的にデプロイを繰り返す者による膨張を抑止できますし、短期間のデータ用の一時ストレージオプションは、盛り上がり重視のミームローンチにとって安価な領域を提供します。

結局のところ、すべてのstateが同じ価値というわけではありません。不要な部分を削ればイーサリアムはより安く、より速く、より持続可能になり、ミームトークン愛好家にとっては参入障壁の低下とガス代の削減という恩恵が期待できます。詳細な分析は元の書き起こしをEthereum Magiciansでご覧ください: https://ethereum-magicians.org/t/not-all-state-is-equal/25508

この分析は、ミームトークンが楽しく儲かる一方で、ブロックチェーンとともに進化する必要がある理由を示しています。イーサリアムが最適化されるにつれて、ローンチはよりスムーズになり、乱雑さは減り—ミームの魔法を保ちながらゴミは減っていくはずです。

おすすめ記事