深層調査:新しいパブリックチェーンはなぜ頻繁にダウン事故を起こすのか?
著者:Richard Lee
編集:龔荃宇
1月に入り、Solana、Harmony、Arbitrumなどの複数のパブリックチェーン/Layer2でブロック生成停止のネットワークダウン現象が発生し、EthereumサイドチェーンのPolygonでは深刻な混雑が見られ、ユーザーからは長時間取引や出金ができないとの報告が寄せられています。 これらのパブリックチェーンは「高性能」を主打ちにしていますが、同時期に「ストライキ」を始めるという共通の現象が見られました。それ以前にも、Solana、Arbitrum、BSC、Fantomは同様の問題を何度も露呈しています。
新しいパブリックチェーンの集団停止は、広範に存在し、深刻な影響を及ぼすインフラ危機を反映しています。 チェインキャッチャーは、当事者であるHarmonyチームやConfluxなどの国内パブリックチェーンの専門家へのインタビューを通じて、この危機を再現し、注目すべき問題を明らかにしようとしています。
一、 なぜ「パブリックチェーンのダウン」が重要視されるべきなのか?
Web 3.0は、Web 1.0のオープン性とWeb 2.0の経済的利益を同時に組み合わせたことで知られ、暗号圏における次世代インターネットの波を指す総称です。この古い用語が再び注目されるようになったのは、暗号経済に合法性を与えるだけでなく、ブロックチェーンと暗号技術の大規模な採用を象徴しているからです。
パブリックチェーンの分野は2021年に爆発的な成長を迎え、Solanaの登場がその一因です:毎秒数万のTPSを謳い、ユーザーにより速く、より安価なオンチェーン体験を提供することを目指しています。SBFやアメリカの銀行など、多くの著名人や機関がSolanaを大規模な暗号採用の「ポータル」と見なしています。
オンチェーンアプリケーションがさらに広がる未来において、パブリックチェーンは最も基盤となるインフラであり、その安全性と安定性は極めて重要です。Solanaを代表とする新しいパブリックチェーンはEthereumに挑戦し、多くの新しいユーザーが暗号業界に入る第一歩となることを目指していますが、相次いでダウンなどの厄介な状況に直面し、急速な発展の過程で自らの欠点が次第に露呈しています。
これらのパブリックチェーンが数時間にわたってダウンする現象が迅速に解決されない場合、新たに参入する主流ユーザーにとって悪い使用体験と印象を与え、暗号経済の大規模な発展を制約する重要なボトルネックとなるでしょう。 結局のところ、パブリックチェーンは分散型ノードによって維持される非中央集権ネットワークであり、もし中央集権サーバーに基づくプラットフォームのように頻繁にダウンしたり、遅延が発生したりするのであれば、主流の人々をどうやって納得させることができるでしょうか?
二、流量の制御:新しいパブリックチェーンの「停止」の根本原因
「DDoS攻撃」は、プロジェクト側がネットワーク性能の低下を説明する際に最もよく使われる用語の一つです。DDoS攻撃の正式名称は「分散型サービス拒否攻撃」であり、複数のソースからのトラフィックを使用して、システムの処理範囲を超えるトラフィックを生成し、実際のユーザーが必要なネットワークサービスやリソースをタイムリーに得られなくすることを指します。 攻撃者は通常、特定のネットワークに対してネットワークカードの処理能力を超えるトラフィックを送信したり、特定のアプリケーションに対して管理能力を超えるリクエスト数を送信したりして効果を得ます。
ブロックチェーンホワイトハッカー組織Halbornによると、従来のDDoSの手法は通常、システム内の固定単点故障を引き起こすことが多いです。例えば、1台のWebサーバーが故障すると、そのサーバーが運営するウェブサイトにアクセスできなくなる可能性があります。そのため、DDoS攻撃に対する耐性は通常、ブロックチェーン技術の主要なセールスポイントの一つです。------ブロックチェーンネットワークには必須のノードが存在せず、単一のノードがダウンしてもネットワーク全体がダウンすることはありません。
しかし、これはブロックチェーンがDDoSの影響を免れることを意味するわけではありません。Halbornは、攻撃者が大量のスパム取引を送信し、それがブロックチェーンネットワーク全体を占有することで「合法ユーザー」の使用機会や空間リソースを減少させることができると指摘しています。実際のシナリオでは、一般に「攻撃」とされるものは、必ずしも計画的な「攻撃」ではなく、人気のあるプロジェクトのIDOやGameFi取引、市場の大きな動きの中で、実際のユーザーがコンピュータプログラムを利用して「チート」を行う行為です。
では、ノードサーバーのメモリ容量を持続的に増加させることで、この問題は解決できるのでしょうか?答えは否定的です。これはほとんどのブロックチェーンネットワークに共通する特性によって決まります:ほとんどのブロックチェーンは固定容量を持ち、定期的に特定のサイズ制限を持つブロックを作成します。ノードがブロックをパッケージ化する際、現在のブロックに適さない内容はすべて「メモリプール」に保存され、次のブロックのパッケージ化を待つことになります。
したがって、この根本的な特性は、パブリックチェーンネットワークが直面しなければならない普遍的な問題を決定します:特別な状況下で、洪水のように取引リクエストが氾濫する可能性があります。
この難題にどのように対処するか、またその対策が効果的かどうかは、各ネットワークの最近のパフォーマンスを評価する重要な指標です。
Solanaのユーザーは「取引の氾濫」の体験に最も慣れているかもしれません。昨年9月14日に遡ると、Solanaは全ネットワークが17時間中断し、すべてのオンチェーンサービスが使用できなくなりました。公式の後続報告によれば、これは分散型ソーシャルネットワークプロトコルGrape ProtocolのRaydiumプラットフォームでのIDO活動が盛況で、多くのユーザーが作成したマシンスクリプトを通じて大量の取引を送信したことが原因で、「メモリ溢れ」を引き起こし、検証ノードが崩壊し、最終的にネットワーク全体が「合意」に達せずオフラインになった(つまり、新しいブロックを生成できなかった)とのことです。
また、Solana Statusの発表によれば、Solanaネットワークは昨年12月初旬から現在まで続いている混雑現象も、「9・14」ダウン事件で露呈した問題に関連しています。Solana StatusはSolana財団が運営するネットワーク性能発表のTwitterアカウントです。
ブロックチェーン企業Laineの分析によると、最近の市場の変動性が大きく、DeFiプロジェクトの多くのレバレッジポジションが清算基準に達しています。DeFiの清算を実行する人は報酬を受け取ることができ、誰でも清算人として申し込むことができます。これにより、市場が創出され、多くの人々が報酬を争って清算を行い、その中には自ら開発した自動化プログラム(通常「ボット」と呼ばれる)を使用する人も多くいます。これらの「ボット」は、競争に「勝つ」ために、同じ取引リクエストを何十回、さらには何百回も送信します。
「私たちは、毎秒約200万のトランザクション(取引やその他のリクエスト)が同じノードに到達しているのを見ています。そのうち90%以上は完全に同じ繰り返しです。」と、Solanaの共同創設者Anatoly Yakovenkoは1月27日のTwitter Spaceイベントで述べました。
ダウンの原因について、ボーダーインテリジェンス研究院の院長である胡智威は、Solanaが合意メッセージも特別なトランザクションメッセージとして検証ノード間で伝達しているため、大量のメッセージが詰まり、合意メッセージが正常に伝達できず、合意が正常に進行できなくなったと、チェインキャッチャーに対してさらに説明しました。
Solana TPSの構成要素 出典:solana beach
「同時に、Solanaのいくつかの特性が悪用され、ネットワークのダウンを引き起こしました。例えば、トランザクションの並行処理のための書き込みロックが多くの重要なアドレスでロックされ、トランザクションが並行ではなく順次実行されることになり、メッセージの処理能力に大きな影響を与えました。また、ノードはフォークを処理するために、可能なフォーク情報を保持し続け、メモリ溢れなどを引き起こしました。」と胡智威は述べました。
国内の著名なパブリックチェーンConfluxのCTOである伍鳴は、Solanaネットワークで取引が多すぎてネットワークが混雑している場合、ブロックの転送(ブロードキャスト)遅延が増加し、帳簿が容易にフォークすることになると分析しました。帳簿のフォークが深刻な場合、合意アルゴリズムの圧力が増加し、適切に処理できないと、最終的にはシステムが完全に崩壊することになります。
「ここで非常に重要な問題は、ノードが無制限にコストの低いスパム取引を転送すべきではないということです。Solanaはこの点で流量制御がうまくできていないはずです。」と伍鳴は述べました。
Anatoly Yakovenkoも上述のTwitter Spaceイベントでこの問題を認めました。彼は、主な問題は、元々のプログラム設計において「重複取引のチェック」が署名検証の後に行われるため、すべての重複データはまず署名検証を経なければならず、その後に「スパム取引」に該当するかどうかがチェックされることにあると述べました。さらに、ノードクライアントのアップグレード前に、Solanaは重複データを削除し、ネットワークの冗長性を排除するプログラムが非常に遅く、数百マイクロ秒を要する必要がありました。
次回の大きな市場の動きの際に、「ボット」取引が再びネットワークに干渉しないようにするために、Anatoly Yakovenkoは今後、Solanaメインネットベータの1.9バージョンで「実際の流量制御(actual flow control)」を導入することを述べました。
もう一つの人気のパブリックチェーンHarmonyも同様の問題に直面しています。1月15日、Harmonyネットワークは数時間中断し、チームは公式に基礎ガス料金を30 gweiに引き上げ、スパム取引の送信のハードルを高めました。
Harmonyコミュニティが発表した事後分析によれば、ネットワークのリーダーノードは大量のスパムトラフィックを受け取り、さらに検証ノードの旧版クライアントが高トラフィック状況の処理が不十分であったため、内外の要因が相まってこの「ダウン」事故が発生しました。
HarmonyのCTOであるRongjian Lanは、チェインキャッチャーに対して、ピアツーピアネットワーク(p2p)データパケットの重複送信がp2pネットワークの混雑を引き起こし、正常な合意メッセージがスムーズに送信できず、ネットワークが「合意」に達することができなかったと述べました。その内部的な原因は、Harmonyのp2pネットワークのパラメータが最適化されておらず、潜在的なバグが存在するため、上述の現象が発生したことです。
「新しいWeb3インフラには、ネットワークの悪用を防ぐために、より良いトラフィック監視とトラフィック制限のメカニズムが必要です。」とRongjian Lanは述べ、Harmonyはp2pネットワークプロトコル層のパラメータを最適化した後、長期的なシステム改善プロジェクトを実施し、合意、ネットワーク、RPC層のすべてを最適化する予定です。
さらに、Ethereumの第2層拡張ネットワークArbitrum Oneは、昨年9月14日と今年1月9日にそれぞれネットワーク中断現象が発生しましたが、公式の発表によれば、これは流量の制御の失敗とは直接関係がなく、主にこのネットワークがまだテスト段階にあり、意図的に高い中央集権度を維持していることに起因しています。
Arbitrum Oneの最初の事故の原因は、Sequencerにバグがあったためであり、最近のダウンは主Sequencerノードにハードウェア障害が発生し、バックアップSequencerが迅速に機能しなかったため、ネットワークが数時間「ストライキ」したことが原因です。
「通常、冗長性があり、バックアップSequencerがシームレスに制御できるはずですが、ソフトウェアのアップグレードが進行中であったため、これらの機能が発揮されませんでした。結果として、Sequencerは新しいトランザクションの処理を停止しました。」とOffchain Labsは述べています。
SequencerはArbitrum開発チームのOffchain Labsが運営するフルノードであり、Sequencerには特定の特権があり、受信ボックス内の各取引の順序を制御して、ユーザーの取引結果が即座に確定されることを保証します。
Offchain Labsは上述の発表で、Arbitrumが完全に非中央集権化されると、最も強力な保証が得られると述べています。
三、基礎ガス料金の引き上げは最終的な解決策か?パブリックチェーンの安定性の未来はどこにあるのか?
実際、一定の動機があれば、スクリプトを作成し、「チート」することはインターネットユーザーの長年の自然な行動であり、オンチェーンの相互作用が増えるにつれて、「取引の氾濫」と「ボット」の問題は避けられないものとなります。
同時期にネットワークの運営状態が「悪評」を受けたのはPolygonネットワークです。1月初旬、Polygon上のP2EゲームSunflower Farmersが大ヒットし、参加プレイヤーが大量のトランザクションリクエストを送信したため、一時的にこのチェーンゲームのスマートコントラクトのガス消費が、Polygonネットワーク全体の41.8%を占め、Polygon上の他のタイプの取引が一時的に保留され、ネットワークは高度に混雑した状態となり、平均ガス価格が数日内に約7倍に上昇しました。
Polygonの過去三ヶ月の平均ガス価格の推移 出典:Polygonscan
Polygonは長年「取引の氾濫」に悩まされ、ネットワークの混雑現象が時折発生しています。昨年10月には、Polygonはノードクライアントの最低ガス価格を30倍(1 Gweiから30 Gweiに)引き上げ、大量の「スパム取引」に対処しました。
この対応策はHarmonyが取った緊急措置と一致しています。しかし、基礎ガス価格を引き上げることは、一方でユーザーの「チート」のコストを高め、他方でユーザー体験にも影響を与える可能性があります。
プロジェクト側のこの一般的な操作について、伍鳴はチェインキャッチャーに対して、基礎ガスの引き上げは「流量制御」の一種として確かに効果的であり、この措置の本質は、システムが支えられる最大スループットを減少させることにあります。
しかし、彼はまた、「より良い結果を得るためには、システム自体に取り組み、システムが支えられる最大スループットを向上させる必要があり、これには合意アルゴリズム、ネットワーク転送アルゴリズム、ストレージと実行の最適化など、多方面の改善が必要です。」と指摘しました。
Solanaの共同創設者Anatoly Yakovenkoが披露した「流量制御」の改善には、新しいプロトコルメカニズムの導入が含まれています。Anatoly Yakovenkoは、新しいアップグレードにおいて、ステーキングの重み付けに基づくQOS流量制御メカニズムが導入されると述べています。このメカニズムは「Quic Protocol」によって実現されており、Googleが開発したもので、すでに5〜6年の歴史があります。このプロトコルを通じて、Solanaは送信者に「評価」制限を適用できます。その中で、異なるブロック間で帯域幅をどのように配分するかを決定することが、開発チームが最も克服すべき課題です。------このプロセスでは、検証者がネットワークの残りの部分からのメッセージフローを受け取り、これらのメッセージの出所の重みに基づいてサービス品質と混雑制御の優先順位を決定する必要があります。
Anatoly YakovenkoはTwitterで、上述の「流量制御」措置が今後4〜5週間内に導入されると述べました。
胡智威は、流量攻撃に対して、パブリックチェーンは検証者のネットワークトラフィック保護措置を講じることができると述べ、例えばセントリーノード(注:主ノードに障害が発生した場合に、一連のメカニズムを通じて主従切り替えを実現し、障害転送を行うノード)を使用することができます。TPSがより高い解決策については、ブロックチェーン内での最適化に加えて、クロスチェーンとアプリケーション専用チェーンの拡張処理方法を検討することもできます。
これはBSCが探求している解決策でもあります。最近、BSC公式はその年次総括で認めましたその運営メカニズムには多くの課題があり、「ネットワークの混雑とノード運営者が最新のブロックと同期するために完全ノードを管理するのが困難であること」が原因で、BSCは昨年何度も短期的なダウンが発生したと述べています。
これに対して、BSCは大きなブロックの設定が検証ノードに多くのストレージスペースと時間を必要とし、ブロックを同期するために、2022年にマルチチェーンとクロスチェーンに向けて発展し、BSCアプリケーションサイドチェーン(BAS)とBSCパーティションチェーン(BPC)を導入し、メインチェーンのデータストレージ量を減少させると述べています。
BSCの今年の技術計画 出典:BSCブログ
技術の改善と非中央集権化の程度の向上が、パブリックチェーンネットワークの安定した運営を保証するのでしょうか?
この問題に対して、ネットユーザーはブロックチェーンの「スケーラビリティ」の「不可能な三角形」を模倣し、「取引の質」の選択のジレンマを提起しました:取引の氾濫(スパム)、検閲耐性(censorship resistance)、低料金(low fees)の三者の間で、二つを実現すれば、残りの一つは必ず実現できなくなる。
実際にそうであるかどうかは、上述のプロジェクトチームが改善措置を実施する前には未知です。
しかし、いずれにせよ、パブリックチェーンのダウン現象は示唆を与えます:今後長い間、パブリックチェーンは基盤インフラとしてまだ初期段階にあり、ネットワークの安定性やエコシステムの充実性などの面でさらなる試練を迎える必要があり、特に取引の急増などの特殊な状況に対処するためのさらなる措置を講じ、一般ユーザーの使用体験に悪影響を及ぼさないようにする必要があります。
(Loners Liu、Hunter Heも本記事に貢献しました)