ブロックチェーンの混雑について:手数料、遅延、制限 | Quicknodeターミナル、コード、またはAIエージェントからQuicknodeを管理できます。CLI、Admin API、MCP、SDKが利用可能になりました。
作成を開始する SOC 2 タイプ II 認証取得 · ISO 27001
回答>スケーラビリティとパフォーマンスについて学ぶ>ブロックチェーンの混雑の原因は何ですか? ブロックチェーンの混雑は何が原因で起こるのでしょうか?
// Tags
ブロックチェーンの混雑ガス料金の高騰
要約:ブロックチェーンの混雑は、次のブロックに収まりきらないほどの取引がネットワークに送信されたときに発生します。どのブロックチェーンにも、1ブロックあたりに処理できる計算量やデータ量には上限があり、需要がその上限を超えると、メンプール(未確認取引の待機領域)に処理待ちの取引が蓄積されます。混雑により、(限られたブロック容量を巡ってユーザーが競合するため)取引手数料が高騰し、確認時間が長くなり、ユーザー体験が低下します。 その根本的な原因としては、ブロック容量が固定されていること、人気イベントによる需要の急増、手数料市場の動向、そして純粋なスループットよりもセキュリティと分散化を優先する設計上のトレードオフなどが挙げられます。
わかりやすい説明
ブロックチェーンは、ブロックと呼ばれるバッチ単位でトランザクションを処理します。各ブロックには処理容量の上限があります。イーサリアムでは、この上限は「ガス制限」(現在は1ブロックあたり約3,000万ガス)として表されます。ビットコインでは「ウェイト制限」(1ブロックあたり400万ウェイト単位)です。ソラナでは、スロットごとの演算単位とアカウントロックの組み合わせによって決まります。具体的な仕組みにかかわらず、どのチェーンにも、1ブロックあたりに処理できる作業量には上限があります。
ネットワークに送信される取引の数がブロックの容量を下回っている場合、すべてがスムーズに進行します。取引は次のブロックに組み込まれ、手数料は安く、確認も迅速に行われます。取引の数がブロックの容量を超えると、待ち行列が形成されます。この待ち行列が「メンプール」であり、各ノードによって管理される一時保管領域で、有効ではあるが未確認の取引が、将来のブロックに組み込まれるのを待機しています。
メンプールは先着順ではありません。これは手数料に基づく優先順位付きキューです。ブロック生成者(マイナーやバリデーター)は、収益を最大化するために、最も高い手数料を支払っている取引を選択します。メンプールが満杯になると、取引を迅速に確定させたいユーザーは、他者よりも高い手数料を提示して競り勝たなければなりません。この入札合戦こそが、混雑時にガス料金が急騰する原因となっています。 高額な手数料を支払う意思がない、あるいは支払うことができないユーザーのトランザクションは、メンプール内で数分、数時間、場合によっては数日間も滞留することになります。
需要が急増
混雑の最も顕著な原因は、ブロックスペースへの需要が急増することです。こうした需要の急増は、多くの場合、特定の出来事をきっかけとして引き起こされます。人気のあるNFTのミントでは、コレクターたちが限定版のトークンを確保しようと殺到するため、数分のうちに数万件もの取引が発生することがあります。また、DeFiプロトコルのローンチやエアドロップの受け取りでは、多数のユーザーが同時に新しいスマートコントラクトとやり取りを行うため、アクセスが殺到します。さらに、大規模な市場暴落が発生すると、DeFiの参加者がポジションの調整に奔走する中で、清算、ポジションの決済、パニック売りが相次ぎます。
イーサリアムでは、ネットワーク史上最悪の混雑事態のいくつかが、特定のアプリケーションによって引き起こされました。2017年12月の「CryptoKitties」ブームは、数日にわたってネットワークを麻痺させました。 2022年5月にYuga Labsが行った「Otherside」NFTのミントでは、ガス料金が8,000 gweiを超え、一部のユーザーは最終的に失敗に終わった取引に対して数千ドルの手数料を支払う事態となりました。また、UniswapのUNIやArbitrumのARBといったトークンのエアドロップの受け取り申請では、対象となる数百万のウォレットが殺到したため、数時間にわたる持続的な混雑が発生しました。
ミームトークンの取引は、SolanaやBaseといったブロックチェーン上で繰り返し混雑を引き起こしています。こうしたプラットフォームでは、話題のトークンがリリースされると、数時間のうちに数百万件ものスワップ取引が発生することがあります。事前に計画されたイベント(ユーザーは少なくとも混雑が起きることを予期できる)とは異なり、ミームトークンの急増は予測不可能であり、ほとんど前触れなくネットワークの処理能力を逼迫させる可能性があります。
固定ブロック容量と生産率
混雑の根本的な原因は、プロトコルの設計上、ブロックの容量と生成レートが固定されている一方で、需要は変動し、時には爆発的に増加することにある。イーサリアムは12秒ごとに、ガス制限がおよそ3,000万ガスのブロックを生成する。単純なETH送金には21,000ガスが、ユニスワップでのスワップには150,000~300,000ガスがかかる。 複雑なDeFi取引では、50万ガス以上かかる場合もあります。理想的な条件下では、イーサリアムは取引の複雑さに応じて、1秒あたりおよそ15~30件の取引を処理できます。しかし、何千人ものユーザーが同時にNFTの鋳造、トークンのスワップ、またはエアドロップの受け取りを試みようとすると、15~30 TPSでは到底足りません。
ビットコインも同様の根本的な制約に直面しており、その制限はさらに厳しいものです。 ブロックは10分ごとに生成され(イーサリアムは12秒)、各ブロックには約2,000~3,000件の取引を格納できます。これにより、ビットコインのスループットはおよそ5~7 TPSとなります。需要が高まる時期には、ビットコインのメンプールに数十万件もの未確認取引が蓄積され、手数料の低い取引は確認されるまで数日待たされることもあります。
こうした容量制限は恣意的なものではありません。これらは分散化を維持するために設けられています。もしブロックのサイズが大きくなったり、生成速度が速くなったりすれば、データ処理の要件に対応できるノードの数が減り、結果として高価なハードウェアを所有するオペレーターを中心にネットワークが集中化してしまうでしょう。スループットと分散化の間のトレードオフは、ブロックチェーン設計の核心をなすものであり、しばしば「ブロックチェーンのトリレンマ」(スケーラビリティ、セキュリティ、分散化を同時に実現することの難しさ)と呼ばれています。
MEVと優先ガスオークション
最大抽出可能価値(MEV)は、それほど目立たないものの、重要な形でネットワークの混雑の一因となっています。 MEVとは、ブロックプロデューサーやサーチャーが、ブロック内のトランザクションの順序変更、挿入、または削除を行うことで得られる利益を指します。利益が見込めるMEVの機会(2つのDEX間の裁定取引など)が現れると、複数のサーチャーが、手数料を段階的に引き上げてトランザクションを送信することで、その機会を掴もうと競い合います。この優先順位に基づくガスオークションはブロックスペースを消費し、MEVの機会とは無関係なトランザクションを持つユーザーを含め、すべてのユーザーの手数料を押し上げてしまいます。
サンドイッチ攻撃は、一般ユーザーに直接影響を及ぼす特定のMEVパターンです。検索者は、メンプール内で大規模なスワップ取引を検知すると、その取引の前に買い注文(フロントランニング)、後に売り注文(バックランニング)を出し、被害者の取引が引き起こす価格変動を利用して利益を得ます。こうしたフロントランニングおよびバックランニングの取引は、追加のブロックスペースを消費し、通常のユーザー需要によって生じるもの以上にネットワークの混雑を悪化させます。
レイヤー2ソリューションと輻輳緩和
レイヤー2ネットワーク(Arbitrum、Base、Optimism、zkSyncなど)は、イーサリアムL1の混雑を緩和することを目的の一つとして設計されました。別のチェーン上でトランザクションを処理し、圧縮された要約をイーサリアムに送信することで、L2はユーザーが利用できる総スループットを劇的に向上させます。 混雑時にイーサリアムL1でガス代が5ドルかかるトランザクションでも、L2では0.01ドルで済む場合があります。しかし、L2も需要が極端に急増した際には独自の混雑に見舞われる可能性があり、また、決済先のL1からいくつかの制限を引き継ぐことになります。
Solanaは、独自のローカル手数料市場を通じて、輻輳管理に対して異なるアプローチを採用しています。すべての取引が同じブロックスペースを争う単一のグローバルな手数料市場とは異なり、Solanaは輻輳を特定の「混雑している」アカウントに限定しようと試みています。混雑しているコントラクト(人気のあるDEXプールなど)とやり取りする取引は高額な手数料を支払う一方、それとは無関係のコントラクトとやり取りする取引は影響を受けません。この設計により、輻輳の急増による巻き添え被害は軽減されますが、完全に排除されるわけではありません。
ブロックチェーンの混雑はどのくらい続くのでしょうか?
混雑の持続時間は、その原因によって異なります。注目度の高いNFTのミントやエアドロップの受け取りといった予定されたイベントでは、通常、急激なトラフィックの急増が見られますが、受け取り希望者の殺到が収まれば、数分から数時間以内に解消されます。一方、持続的な混雑の場合は事情が異なります。チェーンが継続的に容量限界近くで稼働している場合(例えば、長期にわたる強気相場や、話題のミームトークンサイクル中など)、手数料の高騰や確認の遅延が数日間続くことがあります。 ビットコインの混雑はイーサリアムよりも解消に時間がかかる傾向があります。これは、ブロック生成間隔が10分であるため、メンプールがより大規模かつ低頻度のステップで解消されるからです。混雑が緩和されていることを示す実用的な兆候は、メンプールのサイズが縮小し、優先手数料が低下していることです。
ブロックチェーンごとにブロック制限はどのように異なるのでしょうか?
どのブロックチェーンも、1つのブロックに収められる作業量に上限を設けているため、混雑が生じるまでの余裕はネットワークによって大きく異なります。以下の表は、負荷がかかった際に各ネットワークがどの程度の速さで混雑し始めるかを決定づける、おおよその容量制限をまとめたものです。
ブロックチェーン | ブロック時間 | 容量指標 | おおよその処理能力 |
|---|
ビットコイン | 約10分 | 4M重量単位 | 5~7 TPS |
イーサリアム L1 | 約12秒 | 1ブロックあたり約30Mガス | 15~30 TPS |
ソラナ | 約400ミリ秒のスロット | 演算ユニットとアカウントのロック | 数千のTPS |
Arbitrum / Base(L2) | 1秒未満 | L2ガス、L1に確定 | 数百から数千のTPS |
「コンジェスション」と「チェーンハルト」の違いは何ですか?
輻輳とチェーンの停止は、エンドユーザーから見ればどちらも「ネットワークがダウンしている」ように見えますが、これらは根本的に異なる状態であり、原因や対処法も異なります。輻輳とは、チェーンが依然としてブロックを生成しているものの、容量が満杯で処理コストが高くなっている状態を指します。一方、チェーンの停止とは、ブロックの生成が完全に停止している状態を指します。
アスペクト | 渋滞 | チェーン停止 |
|---|
ブロックの製造 | 通常通り続きます | 停止しました |
取引 | 確認には時間がかかる、手数料が高い | 一切確認しないでください |
根本原因 | 需要がブロックの収容能力を上回っている | コンセンサスの失敗か、クライアント側のバグか |
典型的な解像度 | 需要が落ち着き、手数料が下落 | バリデーターが再起動を調整する |
要するに、混雑は価格設定と処理能力の問題であるのに対し、チェーンの停止は可用性の問題である。優先ガスオークションなどのMEV活動は混雑を悪化させる可能性があるため、MEVとは何かを理解することは、手数料が単なるユーザーの需要の伸びだけでは予測できないほど急速に上昇する理由を説明する助けとなる。
開発者は、渋滞の影響をどのように軽減できるでしょうか?
アプリケーションは輻輳を解消することはできませんが、輻輳が発生している状況下でも信頼性を維持することは可能です。 ガス料金をハードコードするのではなく動的な料金推定を採用し、適切なノンス管理を備えた再試行ロジックを実装し、緊急性の低いトランザクションは利用が集中しない時間帯に処理するようキューに格納してください。データ処理の面では、ブロックが大きくなってもデータ取り込みが追いつくよう、頻繁なポーリングループよりもプッシュ方式の配信を優先してください。RPCリクエストの仕組みを理解し、ポーリングよりもストリーミングを選択し、プロバイダーによるRPCレート制限を考慮することで、輻輳によってデータが失われたりユーザートランザクションが失敗したりするリスクを低減できます。
よくある質問
混雑時にガス料金が急騰するのはなぜですか?
ブロックの容量には限りがあり、メンプールは手数料に基づく優先順位付きキューです。ブロックに収容できる数以上のトランザクションが競合する場合、ユーザーは先に処理されるよう、より高い手数料を提示します。この入札合戦により、需要がブロックの収容能力を下回るまで、市場価格のガス料金が押し上げられます。
ネットワークの混雑は、ブロックチェーンがダウンしていることを意味するのでしょうか?
いいえ。ネットワークが混雑している間も、チェーンはブロックの生成とトランザクションの承認を続けています。ただ、その処理速度が遅くなり、手数料が高くなるだけです。ブロックの生成が停止してしまうネットワークは「チェーン停止」状態に陥っており、これは別の問題です。
レイヤー2ネットワークも輻輳を起こすことはあるのでしょうか?
はい。レイヤー2はイーサリアムL1よりもはるかに高いスループットを備えているため、急激な需要の増加にも耐えられますが、需要が極端に高まると、それでも処理能力が限界に達し、手数料が上昇する可能性があります。また、決済を行うレイヤー1からいくつかの制約を引き継いでいます。
渋滞が解消されつつあるかどうかは、どうすればわかりますか?
メンプールのサイズと優先手数料に注目してください。未確認取引のバックログが減少していることに加え、優先手数料も低下している状況は、需要がブロック容量を下回ったことを示す最も明確な兆候です。
ブロックチェーンは、なぜ単にブロックのサイズを大きくしないのでしょうか?
ブロックのサイズが大きくなったり処理速度が速くなったりすると、ノードを運用するためのハードウェアコストが上昇し、その結果、小規模な運営者が排除され、ネットワークが中央集権化してしまう。容量制限は、分散化を守るための意図的なトレードオフであり、この葛藤はしばしば「ブロックチェーンのトリレンマ」と呼ばれる。
Quicknode上で開発を行う開発者にとって、ネットワークの混雑がどのような影響を与えるか
開発者にとって、ネットワークの混雑はトランザクションの送信とデータ取り込みの両方に影響を及ぼします。送信の面では、ガス料金が不十分なトランザクションはメンプールで滞留するか、あるいは完全に破棄されてしまいます。アプリケーションが混雑状況を適切に処理するためには、堅牢なガス料金の推定、リトライロジック、およびノンセ管理が必要です。QuicknodeのCore APIは、混雑がピークに達している状況でも一貫したパフォーマンスで信頼性の高いトランザクション送信を実現し、強化されたAPIメソッドにより、アプリケーションは現在のネットワーク状況に基づいて適切なガス料金を推定できるようになります。
データ取り込みの側面において、輻輳とは、1ブロックあたりのトランザクション数の増加、ブロックサイズの拡大、処理すべきイベント数の増加、およびデータ量の増加を意味します。ポーリングベースのアーキテクチャは、ポーリング間隔が固定されたまま1ブロックあたりのデータ量が増加するため、処理の遅延が生じ、輻輳時に処理に支障をきたします。 QuicknodeStreamsは 、プッシュ型アーキテクチャによりブロックサイズに応じてスケーリングするため、輻輳を円滑に処理できます 。ブロックに含まれるトランザクション数が100件であっても1,000件であっても、Streamsは完全なデータを、同じ配信保証と順序を保ったまま宛先に配信します。設定可能なバッチ処理と圧縮機能により、輻輳が継続する期間中のデータ量の増加にも対応できます。
参考資料