ネットワーク・パフォーマンス・レポート 2023年7月
by Solana Foundation
Solana財団は透明性へのコミットメントの一環として、ネットワークの状態に関するアップデートやメトリクスを定期的にリリースしています。これには、2022年10月のネットワークパフォーマンスレポート、バリデータのヘルスレポート、およびエネルギー使用レポートが含まれます。Solana財団はこのレポートに対するSolanaコミュニティからの意見を歓迎しています。追跡したい質問、フィードバック、メトリクスをこのフォームに記入してください。
概要
2023年の前半を通じて、アップタイム、非投票からの投票取引の比率、ブロックを生成するまでの時間、および秒あたりの平均および最大取引数といった指標によって測定されるSolanaネットワークのパフォーマンスは向上しています。チャートとサポートの詳細はレポートの最後に記載されています。
2022年10月の最後のネットワークパフォーマンスレポート以降、Solanaネットワークはいくつかの大きな改善を経ています。これには以下が含まれます:
v1.14のメインネットへのスムーズなリリース。これは、前回のソフトウェアアップグレード中に2月25日に発生したアウトエージの後に提案されたソフトウェアアップグレードプロセスの改善の実装に続くものです。ネットワークは2月25日以降、100%のアップタイムを経験しています。
高いトラフィックと需要をより良く処理するためのネットワークのアップグレード。これには、QUIC TPU、Stake weighted QoS、およびローカライズされた手数料市場の展開が含まれます。これらのネットワークのアップグレード以降、ネットワークは高いストレスの期間(MadLads NFTミントなど)でうまく動作しています。
ステート圧縮の導入。これは、コストを何桁も削減する直接的なオンチェーンデータストレージの新しい方法です。Solana上で1億のNFTを鋳造するのに必要なコストは、わずか50 SOLに過ぎません。
ネットワークは、世界中の独立したバリデータの強固なグループによって運営され続けています。これは、世界で最も分散化されたステーキングの証明のブロックチェーンの一つであり、最も開発されたブロックチェーンの一つです。以下に、Solana財団がSolanaネットワークの分散化と活力を測定するために追跡しているいくつかの統計を掲載しています(7/11/23の時点での更新):
脚注
ブロック生成バリデータ: Validators.app
RPCノード: Validators.app
中本係数: Nakaflow.io
アクティブなオープンソース開発者: Electric Capital Developer Report
注: これらの数字はノード数を示しており、個々のオペレーターを示しているわけではありません。ユニークなブロック生成バリデータやRPCオペレーターが何人いるのかを確認することはできません。
ネットワークのパフォーマンスの概要
10億人のユーザーがSolanaネットワークの利点を利用するためには、ユーザーがネットワークの全体的な信頼性に自信を持つ必要があります。つまり、ネットワークに一貫してアクセスできる能力、ネットワーク上および関連する情報の正確さ、取引の速度、および資金や情報の安全性です。
以下は、ネットワークがこの目標にどれだけ近づいているかを確認するために、財団が追跡しているメトリクスのいくつかです。多くのメトリクスがネットワークのパフォーマンスを示すのに役立つかもしれませんが、私たちは簡単さとユーザーがこれらのメトリクスと時間の経過とともにどのように進行しているかを簡単に追跡できるように、4つをハイライトしています。これらのメトリクスを、さらに深くデータを掘り下げるか、自分の分析を実行するのが簡単なDuneダッシュボードにも含めました。
アップタイム
常に信頼できるネットワークは、ネットワークの信頼と継続的な成長の基盤となります。
信頼性の最も重要な指標の1つはネットワークのアップタイムです。
以下では、過去6ヶ月間で特定の月におけるアップタイムのパーセンテージとして測定されたネットワークの月次アップタイムのスナップショットを示しています。
投票と非投票トランザクションの比率
投票トランザクションは、ネットワークの機能のために必要です。なぜなら、これらはブロックチェーンが依存する分散型の合意を生み出すからです。投票トランザクションは、バリデータが1つ以上の提案された情報ブロックの確認のために投票するときに発生します。非投票トランザクションは、ブロックチェーン上のユーザーの行動によって引き起こされるものです。例えば、非投票トランザクションは、NFTのミントやユーザーがトークンを一つのウォレットから別のウォレットに転送することを表すかもしれません。ネットワークが合意に達するためには、一定数の投票トランザクションが必要ですが、時間とともに、投票トランザクションの全体的なパーセンテージがネットワークがより効率的になるにつれて減少するため、投票と非投票トランザクションの比率が下がることを期待するでしょう。
以下は、過去6か月間の投票と非投票トランザクションの比率を見るものです。
https://dune.com/queries/1383081/2361238
ブロック時間 (ブロックを生成するまでの時間)
ブロック時間は、ネットワークがブロックチェーンに新しい「ブロック」を追加する速度を測定するため、単一のトランザクションの速度を測定します。このチャートでは、ブロックを生成する平均時間、この指標の一貫性、および時間の経過とともにどのように変化するかを見ることができます。
https://dune.com/embeds/1383046/2352016/9ac05248-1824-4f9e-92ba-76104edba4c9
2月の終わりの急増は2月25日のネットワーク障害と相関しています。
平均および最大トランザクション数/秒
1秒あたりの総トランザクション数は、ネットワークの現在のスループットを最も正確に反映しており、時間とともにその潜在能力と成長を示しています。ベンチマークスループットは、お金をある場所から別の場所に送るようなシンプルなトランザクションに基づいて65,000トランザクション/秒です。ネットワーク上の複雑なトランザクションのさまざまな組み合わせ、および任意の時点での要求に基づいて、実際のトランザクション数/秒が異なります。例えば、NFTの購入は、ウォレット間でのネイティブトークンのシンプルな移動よりもはるかに複雑です。
実際のネットワークトランザクション数/秒は、ネットワーク容量の反映ではなく、トランザクションスループットの需要の反映であることに注意が必要です。ほとんどすべてのケースで、mainnet-betaは容量以下で動作しています。
以下のチャートは、ネットワークがリアルタイムでどれほどうまく機能しているかのスナップショットです。それは、特定の日における平均トランザクション数/秒と、最大トランザクション数/秒に分割されています。平均トランザクション数/秒は2022年12月以降、比較的同じままであり、ネットワークの高い需要と相関する一部の変動がありました。最大の日次トランザクション数/秒は、2022年1月以降、安定して増加しており、新しいネットワークアップグレードと相関する2022年の後半に顕著な増加がありました。
https://dune.com/queries/2753221/4581161?d=11
https://dune.com/queries/2753211/4581146
2022年10月のレポート以降のネットワークのハイライト
高トラフィックと需要に対応するためのネットワークのアップグレード: 2022年には、Solanaネットワークは、大規模なNFTのミントの際など、活動が高まる時期に複数の遅延や停止を経験しました。これに対応して、コア開発者たちはQUIC、Stake Weighted QoS、およびローカライズされた手数料市場を含むネットワークのアップグレードを展開しました。これらのアップグレードのロールアウト以降、ネットワークは非常に高いストレスの時期(例:MadLads NFTのミントのような)でも非常に良好に動作しています。開発者たちはまた、最大トランザクションサイズの増加(現在は1232バイトに制限されている)や投票のロジックの単純化をテストおよび開発し続けており、これにより伝送および保存が必要なデータの総量が減少します。
QUIC TPU: QUICは、セッションとフロー制御を持つ高速な非同期通信のためにGoogleによって設計されたネットワークプロトコルです。QUICは、一つのアクターからのトラフィックを制限するために使用でき、ネットワークが正当な有効なトランザクションに焦点を当てることができます。QUICは、ユーザートランザクションを取り込むポートに追加されました。
Stake-weighted QoS: ステークの重み付けは、リーダーネットワークの帯域幅を効果的に割り当てるために使用されます。先着順で無差別にトランザクションを受け付ける代わりに、0.5%のステークを持つノードがリーダーに少なくとも0.5%のパケットを送信する権利を持つように、トランジット情報へのアクセスを提供します。これにより、スパムや悪意のあるアクターを抑制することでネットワークをより耐久性のあるものにすることができます。Stake-weighted QoSはQUIC TPUポートに追加されました。
Localized fee markets: 手数料市場は、ユーザーが他のトランザクションと比較して緊急性を表現するための追加の手数料をトランザクションに追加する方法を提供します。優先手数料は、トランザクションが要求されると予想されるコンピューティングリソースの量に基づいて計算されます。例えば、同じ緊急性を表現するNFTミントよりも、シンプルなトークンの転送には合計優先手数料が少なくなります。このプロセスにより、ユーザーが緊急性を表現し、トランザクションを優先することで市場がより効率的になります。
改善されたアップグレードプロセス:
2月25日の停止に対応して、Solana LabsのCEO Anatoly Yakovenkoは、ネットワークがスケールする際の新しいアップグレードに対してアップグレードプロセスをより耐久性のあるものにするためのソフトウェアリリースの展開に関する新しいプロセスを提案するブログ記事を公開しました。これには、リリースプロセスに追加の外部開発者や監査役を参加させてテストや脆弱性を見つけること、サーバーリスタートプロセスの改善、ネットワーク安定性への焦点の強化、敵対的チームの形成などが含まれます。これらの提案のいくつかは、すでに実施されています。
総合的なテストネットのアップグレードプロセス: アップグレードプロセスをシミュレートするために、テストネットは、メインネットで展開されるソフトウェアアップグレードプロセスをシミュレートする前に、以前のソフトウェアバージョンに最初にダウングレードされています。これ以前は、メインネットのアップグレード時にテストネットはメインネットのよりマイナーバージョンでした。
手動再起動用のツールの最適化: 例として、より機械的な手順の一部を自動化する初期デザインが導入されています(SIMD0046)。
敵対的テストは、プライベートクラスタとテストネットの両方に対して実行されています: これらのテストは、コアエンジニアがより正式なテストスケジュールを構築するために、現在アドホックな方法で実行されています。関連して、Solana Labsのバリデータ参照クライアントには現在敵対的ポートがあり、コアラボのエンジニアは、敵対的テストを構築するために使用できるシナリオを設定する能力を追加しています。
1.14.17のスムーズなリリース:
バージョン1.14は、総ステークの66.6%以上が1.14にアップグレードされた日である5月22日に正式に採用されたと見なされました。これは2月25日の障害および上記で説明されたアップグレード進行の改善のロールアウト以降の最初の重要なネットワークアップグレードでした。5月30日時点で、Solanaネットワーク上のステークの97.4%にSolanaバリデータクライアントのバージョン1.14が採用されています。
圧縮されたNFTと状態圧縮:
多くの開発、採用、ロールアウトの段階を経て、圧縮されたNFTが現在Solana mainnet-betaでライブになっています。圧縮されたNFTは、非圧縮のものに比べて2,400-24,000倍も安価です。Solanaで1億のNFTをミントするのは、わずか50 SOLで可能となりました。この新しい技術構造である「状態圧縮」と呼ばれるNFTは、メッセージの送信や顧客ロイヤルティプログラムの強化などのユースケースにNFTをミントするアクセスを提供することで、ブロックチェーンの潜在的な影響を拡大し、新しいユースケースを解放します。状態圧縮はNFTのために開発されましたが、他のアプリケーションにも使用することができます。簡単に言うと、状態圧縮は、通常すべてのマシン上にローカルで保存されるであろうデータの一部をブロックチェーン上に保存することを含んでいます。
スムーズなHeliumの移行:
2023年4月、Heliumネットワークは、Heliumネットワークの参加者にとって比較的シームレスなプロセスで、Solanaネットワークに深刻な障害を引き起こすことなく、Solanaネットワークへの移行を成功裏に完了しました。Heliumの移行は、NFTをより効率的かつ安価にミントするための状態圧縮を活用しました。これにより、他の方法では実現不可能だったような方法でのミントが可能となりました。詳細はこちら。
追加のFiredancerの進捗:
Jump Cryptoによって開発されているSolanaのバリデータクライアント、Firedancerは、さらに多くのコンポーネントを追加し、テストを進めています。
QUIC実装のデモ:Firedancerは最近、高性能のQUIC実装のデモを行いました。これにより、データトランザクションがより効率的になることが期待されます。
Reed-Solomonエラーコーディングのリリース:Turbineは、バリデータ内のメカニズムであり、クラスタ内の他のバリデータに"shreds"(ブロックの一部)を配布する役割を担っています。Reed-Solomonはエラー修正コーディングスキームであり、これらのshredsが他のバリデータに送信される前に、データを正確にエンコードするのを助けます。
Tinydancer:
TinydancerはSolanaの最初のライトクライアントであり、Solana FoundationのGrizzlython Hackathonの一環として開発されました。ライトクライアントは、ラップトップのようなシンプルなデバイスでローカルに実行できるソフトウェアクライアントであり、ネットワークのフルノードに接続して、元帳の状態を確認し、無効な状態遷移をチェックします。
リアルタイム排出モニタリング:
2023年4月、Solanaはリアルタイムでの炭素足跡を計測された最初の主要なスマートコントラクトブロックチェーンとなりました。独立したスタートアップであるTryCarbonaraがwww.solanaclimate.comを立ち上げ、ネットワークの影響を追跡しています。
2022年10月以降のネットワークの課題
Solanaネットワークは、2022年10月の最後のネットワーク性能レポート以降、1回のアウトエイジを経験しました。この事故でユーザーの資金は失われませんでした。
以下で、このアウトエイジとその原因に対処するための措置を検討します。
2023年2月のアウトエイジ:2月25日、Mainnet Betaはブロックの確定時間が長くなる現象を経験しました。調査の結果、ネットワーク上のいくつかのサービスがカスタムのブロック転送ソフトウェアを実行しており、通常のブロックよりも何桁も大きい膨大な量のデータを誤って送信したことが原因であることが判明しました。ネットワークの重複排除ロジックはこれに対処できず、Turbineプロトコルを圧倒し、ネットワークの性能を大幅に低下させました。この問題を診断した後、コアエンジニアは重複排除ロジックの強化を行い、現在Solana Labsバリデータクライアントv1.13.7およびv1.14.17に実装されています。これは、Turbineの制約を強制するのに優れたQUICですべてのUDPベースのネットワーキングプロトコルを置き換える、長期的なSolanaプロトコル設計によっても緩和される予定です。完全なアウトエイジレポートはこちらで読むことができます。
このアウトエイジの原因に対処するため、特にQUIC、手数料市場、およびステーク加重のサービス品質(QoS)の実装に関して、いくつかの提案されたネットワークアップグレードが実施されたり、導入が進められています。
今後の取り組み
Solanaのコア開発者は、大量のユーザーの成長と採用に対応してネットワークを強化することを目的とした多くの新しいネットワークアップグレードに取り組んでいます。
これらのSolana Improvement Documents、またはSIMDとは、複数のコア開発チーム間での調整を必要とするネットワークへの変更方法に関する提案された設計文書です。最近受け入れられたSIMDの1つにSIMD-33: Timely Vote Creditsがあり、これは投票されたスロットの数に基づいて授与され、低遅延の投票のためにより多く授与されます。これは、ブロックの最終化時間を短縮し、意図的に遅延させた投票を非推奨とすることを目的としています。
最新のリリースにはいくつかのネットワークアップグレードが含まれていますが、その機能はまだ有効化されていません。Turbineの改良は1.14の機能で、ネットワーク上の遅延を大幅に改善します。新しいDeactivate Delinquent Stake命令があり、これにより誰でも5エポック以上怠慢な状態であるネットワーク上のステークを非委任化でき、スキップ率を下げ、パフォーマンスを向上させます。(注:非委任化されたステークアカウントは元のステーカーの管理下に残り、有効なバリデーターへの再委任や資金の引き出しを自由に行うことができます)。
ユーザーは、Solanaネットワークのパフォーマンスを継続的に監視し、このようなレポートを使用して、時間の経過とともにその開発をコミュニティが追跡するのを支援することができます。
出典:https://solana.com/news/network-performance-report-july-2023