パブリックチェーンの性能議論では、TPS が唯一の尺度として扱われることがよくあります。イーサリアムのメインネットが日常的な条件下で長く十数 TPS にとどまっている理由を問うと、答えが「ハードウェアが足りない」であることはまれです。実行モデルそのものです。Ethereum Virtual Machine は、次のトランザクションを始める前に一つのトランザクションを終えるよう設計されています。この制約がネットワーク全体での決定的リプレイを買い、スループットを単一スレッドの物理的な限界に釘付けにします。
その限界を理解することは、瞬間的な TPS の数値を暗記するより重要です。以降の記事ではスケーリングマップ、並列実行の路線、楽観的並行制御を扱います。本稿はまず問題を固定します。なぜ単一スレッド EVM が TPS の上限を生むのか、歴史的な輻輳がそれをどう繰り返し確認したのか、そしてガスリミットを上げることも EIP-1559 も実行モデルを直さない理由です。
直列実行はバグではなく、決定性の代価
EVM のセマンティクスは、ブロック内のトランザクションが正規の順序で走ることを要求します。あるトランザクションの状態書き込みが完了して初めて、次が状態を読み始められます。利点は即座にあります。同じ順序をリプレイする正直なノードは、同じ状態ルートに到達します。コンセンサスは、並列のインターリービングが書き込みをどう解決すべきかではなく、トランザクション順序とブロック内容への合意だけを必要とします。
代償も同じくらい直接です。現代のサーバーは数十の論理コアを備えていますが、古典的な EVM ノードはホットパスでおおむね「一つのコアが働き、他は眺めている」ように振る舞います。無関係な二つの送金——A が B に支払い、C が D に支払う——は直列モデルの下では同時に進めません。スケジューラは、どのトランザクションもグローバルな状態ツリーのどの隅にも触れ得ると仮定するからです。Merkle Patricia Trie はアカウントとストレージスロットを一つの巨大な構造に吊るし、事前の依存関係情報なしに並列化を拒むエンジニアリングの習慣を補強します。
構造的なギャップが続きます。帯域とディスク I/O は垂直にスケールできますが、実行スループットは「一度に一つ」に留まります。需要がその厳しい上限を下回っている間は、ユーザーはほとんど気づきません。需要がそれを超えると、余剰のトランザクションが mempool に並び、手数料市場が引き継ぎます。これが輻輳の技術的な定義です。
歴史的な輻輳:同じ病気、異なる症状
2017 年の CryptoKitties は、広く記録された最初の大規模な輻輳事例でした。ピーク時、猫のゲームがオンチェーンのトランザクションのかなりの割合を占め、保留キューが膨れ上がり、普通の送金が秒から時間へ伸び、ガス価格は数百 gwei に押し上げられました。事後分析はしばしば「人気になりすぎたゲーム」を責めました。より正確には、ホットなアプリケーションが、すでにそこにあった容量の上限を露呈しただけです。
台本は繰り返されました。2020〜2021 年の密な DeFi コンポーザビリティの間、ガスは長期間高止まりしました。2022 年の Otherside のような土地証書型 NFT ミントの間、短い入札合戦が手数料を極端に押し上げ、小さな送金に天文学的な手数料が提示される事例もありました。引き金は異なりました——ゲーム、イールドファーミング、NFT ラッシュ——が、キューの論理は変わりませんでした。実行エンジンは毎秒一定量の「有用な計算」しか消化できず、超過需要はより高い入札が安いトランザクションを押しのけることで配分されます。
これらの事例は、優先ガスオークションが苦痛をどう増幅するかも示しました。初期のファーストプライスモデルでは、希少な機会(ミント枠、裁定の窓)が連鎖的な入札を引き起こし、手数料水準をネットワーク全体で押し上げ、普通のユーザーが他人のホットスポットの代金を払いました。輻輳は「遅い」だけではなく「高い」のであり、高さはレイテンシだけよりも早く限界的なユーザーをオフチェーンへ追い出します。
ガスリミット:車線を一本広げるのであり、車線を増やすのではない
イーサリアム・コミュニティは、より多くの容量を絞り出すためにブロックのガスリミットを繰り返し引き上げてきました。より高いリミットは各ブロックがより多くの計算を運べるようにし、短期的には TPS が上がり得ます。しかしそれは依然として直列実行の内側で起きます。高速道路を並列車線にするのではなく、一本の車線を広げているのです。
この道には明らかな収穫逓減と外部コストがあります。ガスリミットが高いほど、フルノードは単位時間あたりより多くの状態変化を実行、検証、保存する必要があり、同期とハードウェア要件がそれに伴って上がります。「スケーリング」を「ガスリミットを永遠に上げる」こととして扱うと、最終的に分散型の検証を普通の運用者が実行できる範囲の外へ押し出します。ガスリミットの調整は有用な運用のつまみであり、実行モデルの代替ではありません。それは「単一スレッドの制約の下でどれだけ多くの作業を詰め込むか」に答え、「多くのコンフリクトのないトランザクションを同時にどう進めるか」には答えません。
公開モニタのイーサリアム TPS の数値——日常条件で十数、短いピークでより高く、理論上の上限はさらに高い——は同じ枠に入ります。正確な小数は時間と測定ウィンドウで動きますが、重要なのは桁です。単一スレッドモデルは「グローバルな決済レイヤー」という物語には窮屈に感じられる範囲に上限を釘付けにし、日常の運用は理論上のピークより数倍低いことがよくあります。
EIP-1559:手数料の形成であり、実行の幅ではない
2021 年から稼働する EIP-1559 は手数料市場を作り直しました。ベースフィーがブロックの利用率に応じて調整され、焼却されます。ユーザーはより速い取り込みのために優先手数料を加えます。研究上の動機には、ファーストプライスオークション下での体系的な過払いの削減、ブロック内の乱高下する見積もりの抑制、ベースフィー自体からマイナー/バリデータが抽出できる能力の削減が含まれていました。
実際には、EIP-1559 は手数料の予測可能性を改善し、「常に輻輳しているかのように入札する」ことを和らげました。直列実行の物理的なスループットを上げることは約束していません。ブロックが満杯のままだと、ベースフィーが上がり超過需要を市場から絞り出します。容量の拡張ではなく価格の発見です。EIP-1559 を「スケーリングの解決策」と読むのはよくある誤りです。より良いラベルは「固定された実行容量の下での、よりきれいなキューイングと価格設定」です。
優先手数料と後の MEV 関連の仕組みも同様に、トランザクションがどう順序づけられ、順序づけの価値がどう捕捉されるかに関わり、依然として実行段階が直列に終わることを前提とします。順序づけレイヤーのどんな洗練も、実行が一度に一つのトランザクションを消化する限り、その硬い天井を取り除きません。
確認遅延:TPS が隠す軸
TPS は単位時間あたり何件が完了するかを問い、確認遅延はユーザーがブロードキャストから「取り消し不能と信頼できる」結果までの待ち時間を問います。両者は相関しますが等価ではありません。平均 TPS は許容できるように見えても、mempool の滞留が単一トランザクションの待ちをプロダクトの許容範囲を超えて伸ばすことがあります。
イーサリアムはコンセンサスの確認のセマンティクスも重ねます。ブロック間隔、最終性ガジェット、リオーグリスクは、ユーザーが経験する「確認」に入ります。実行レイヤーが輻輳すると、トランザクションは pending で留まり、アプリケーションのタイムアウト、ブリッジのウィンドウ、マーケットメーカーの在庫リスクが一緒に増幅します。決済と高頻度の相互作用では、レイテンシのスパイクが平均 TPS よりもプロダクトを傷つけることがよくあります。
したがって単一スレッドのボトルネックの全体像はこうです。スループットの上限がシステムが吸収できる量を決め、キューイングと手数料が誰が入れるかを決め、確認遅延が「入る」のにどれだけかかるかを決めます。根は同じ——実行の幅の不足——で、症状は異なります。どんな「スケーリング」の主張も、各軸で別々に採点すべきです。
結論:変えるべきは実行モデル
歴史的な輻輳、ガスリミットの引き上げ、EIP-1559 を並べると結論は鮮明になります。手数料市場とブロックパラメータは希少性を管理するもので、その原因を取り除くものではありません。EVM がグローバルな状態と一つずつの直列実行という古典的な形を保つ限り、TPS には硬い天井があり、ホットなアプリケーションは定期的にネットワーク全体を高手数料と高レイテンシへ引きずり込みます。
その天井を破ることは問題を組み替えます。コンフリクトのないトランザクションを、検証可能な決定性を保ちながらどう並列に走らせるか。答えは一つではありません。決定論的な事前宣言、楽観的並行制御、オブジェクトモデルなどです。それでもイーサリアムのバイトコードとツールチェーンの互換性を望むプロジェクトは、より狭い選択肢に直面します。それらの問いはスケーリングマップと並列路線の議論に属します。本稿に必要な前提はこれだけです。本当の修正の対象は実行モデルであり、ガスのつまみをもう一回回すことではありません。
