BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

詳細な分析: Solana はどのようにしてブロックされたのでしょうか?

Azuma
Odaily资深作者
@azuma_eth
2024-04-08 07:24
この記事は約1791文字で、全文を読むには約3分かかります
トランザクションは失敗したのではなく、本当の意味で「失われた」だけです。
AI要約
展開
トランザクションは失敗したのではなく、本当の意味で「失われた」だけです。

原著者:Nisil Jain (Biconomy 生態協力責任者)

編纂:吾妻デイリー

Solana でのトランザクションが現在失敗しているのはなぜですか?

最も基本的な概念から始めて、段階的に説明してみましょう。

ユーザーの観点から見ると、Solana で取引する場合、基本的に 3 つの潜在的な結果があります。

  • トランザクションは正常に実行されました、すべてが正常です。

  • トランザクションの実行に失敗しました、ユーザーはガス料金を支払いましたが、実行結果はエラーを返します。これは、ユーザーが購入しようとしているトークンが売り切れている、または価格の動きが速すぎる(事前設定されたスリッページを超えている)など、取引の条件が満たされない場合に発生します。

  • トランザクションが失われた (ドロップされた): トランザクションにはトレースがありません。つまり、トランザクションは「ブロック リーダー ノード」(日々の注: 4 ブロックごとに回転する当番ノード) に到達できませんでした。これは、ほとんどのユーザーが現在遭遇している状況であり、本質的にはネットワーク層の問題であり、コンセンサス層や実行層の問題ではありません。

実行の問題は輻輳の主な原因ではない

ここで、ネットワーク層とは何なのかと疑問に思われるかもしれません。トランザクションが失われるのはなぜですか?なぜそれらが現在のソラナの渋滞の主な原因だと言われているのでしょうか?

これらの最も重要な問題は当面脇に置いて、最初に実行に失敗したトランザクション (つまり 2 番目のケース) を見て、失敗したトランザクションが輻輳の主な原因ではない理由を説明しましょう。

チェーン上のデータを組み合わせると、実行に失敗したすべてのトランザクションのうち、実際のユーザーによって送信されたのはわずか約 8% であり、残りはオンチェーン ロボットによって開始された裁定取引であることがわかります。

裁定取引者が「ジャンク」取引を開始し続ける理由は、頻繁に取引を開始するコストが、裁定取引の成功から得られる潜在的な利益に比べて最小限であると言えるためです。

具体的には、裁定取引者は 1 日以内に継続的に取引を開始することができ、そのコストは 1 日あたり数百ドル程度 (Solana のネットワーク料金が安いため) ですが、1 回の取引を成功させることができれば、数十ドルを得ることができる可能性があります。 . 数千ドルの利益。

これらの失敗したトランザクションは、Solana ネットワークに障害が発生し、ブロックチェーンがまだ正常に動作していることを意味するものではなく、条件が満たされなかったため失敗したロボット トランザクションの一部にすぎないことに注意してください。これがソラナさんの現在のひどい経験の主な理由ではありません。

実は昨年の11月から、Solana のトランザクション失敗率は 50% 程度にとどまっています。

本当の理由: トランザクションがネットワーク層でドロップされた

ここで、ここ数日間の Solana の混雑の本当の原因である「トランザクションの損失」について説明しましょう。

前述したように、これらは「ブロック リーダー ノード」に到達できなかったトランザクションです。トランザクションはネットワーク層でドロップされるため、到着できません。

ネットワーク層はインターネットの通信層です。あるエンドポイントから別のエンドポイントにデータ パケットを送信するために使用されます。一般的なネットワーク層プロトコルには、TCP、UDP、QUIC (Google が開発) などが含まれます。 Solana は以前、ネットワーク層プロトコルを QUIC にアップグレードしました。これは、ユーザーと「ブロック リーダー ノード」の間の接続を確立するのに役立ちます。

Solana は継続的なブロック生成メカニズムを使用しており、未確認のトランザクションを一時的に保存するメモリプールがないため、一度接続が失われると、トランザクションは再びブロックに含まれることはありません。

QUIC プロトコルの利点は、「ブロック リーダー ノード」に新しい機能が追加されることです。特定の基準に基づいて、特定のユーザーの接続を切断したり、データ転送速度を制限したりできます。

この関数の重要性は、ネットワーク需要のピークが発生すると、「ブロック リーダー ノード」が特定の接続を積極的に切断し、ネットワーク アクティビティの増加による Solana の完全なシャットダウンを防ぐことができます。

QUIC プロトコルの設計がそれほど完璧であるのに、なぜ Solana が今もこれほどブロックされているのか、もう一度疑問に思うかもしれません。

本当の問題は、「ブロック リーダー」が特定の接続を積極的にモデレートすることを選択できるようになりましたが、どの接続をモデレートする必要があるかを決定するロジックに問題があることです。

この問題をより具体的に理解するために、各「ブロック リーダー ノード」が通信可能な X 個の接続を持っている状況を想像できますが、ネットワーク需要のピークが発生すると、ノードは接続要求を受信し、その接続要求はその収容能力の 10 ~ 100 倍になります。 ... この時点で、ノードは一部の接続を切断することを選択する必要があります。しかしながら、現状は、切断するコネクションの選択方法には決まった基準はなく(例えば、コストがxxx以下のコネクションを全て切断するなど)、全てのコネクションが切断されるかどうかはランダムです...

結局のところ、現状ではトランザクションを確認してもらいたい場合はトランザクションリクエストを送信するしかありませんが、ネットワーク上には常に大量の接続リクエストを送信しているボットも多数存在するため、一般ユーザーは接続して取引を完了することはますます困難になります。

それを修正するにはどうすればよいですか?かかる時間?

これがソラナが現在直面している問題です。

現在、Jump (Firedancer クライアント開発チーム)、Anza (Agave クライアント開発チーム)、Solana Labs などのチームがネットワーク層の修復に取り組んでいます。修正は今週段階的に公開され、数週間以内にいくつかの強力なアップデートがリリースされる予定です。

これで問題は効果的に解決されるでしょうか?ソラナは再び「月に行く」のでしょうか...絶対的な答えはありません。

依然として多くの不確実性が存在する主な理由は次の 3 つです。

  • まず、今後の修復パッチが有効になるかどうかは誰も保証できません。実際に動作して初めて、実際に何が起こるかを確認できます。

  • 次に、Jump が開発した Firedancer クライアントはこの問題を解決できるようですが、正式にリリースされるのは今年末になる予定です。

  • 3 番目は「ジャンク」トランザクションの問題で、Solana の経済メカニズムにより、悪意のある攻撃者がチェーン上で「ジャンク」トランザクション攻撃を継続することをネットワークが阻止することが困難になります。

最後に、私は皆さんに一つのことを理解していただきたいと思います。私は、Solana は正しいトレードオフ (日々の注記: 合理的な接続セグメンテーション基準の設定を指します) を実現するために戦っていると信じています。かつて Ethereum が多くの問題を解決したように、Solana もそうするでしょう。最終的にはこれらの問題を解決します。

パブリックチェーン
開発者
Solana
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk