ERPC、Solana トランザクション送信における SWQoS を最大限活用する Durable Nonce ファンアウト運用ガイドを公開
Solana SWQoS エンドポイントを中心に、複数の高速 RPC エンドポイントへ同一トランザクションを安全に同時送信するための設計と実装方法を、web3.jsを用いた具体的なコード例とともに解説

ELSOUL LABO B.V.(本社:オランダ・アムステルダム、代表取締役 CEO:川崎文武)および Validators DAO が運営する ERPC は、Solana におけるトランザクション送信の成功率とレイテンシを両立させる実運用手法として、SWQoS(Stake weighted Quality of Service)を最大限活用するための Durable Nonce ファンアウト運用ガイドを新たに公開しました。
本ガイドでは、ERPC が提供する SWQoS エンドポイントを中心に、複数の高速 RPC エンドポイントへ同一トランザクションを安全に同時送信するための設計と実装方法を、web3.js を用いた具体的なコード例とともに解説しています。
公開したガイドは以下の URL から参照できます。
https://erpc.global/ja/doc/rpc/durable-nonce-send-transaction/
背景:Solana におけるトランザクション送信の構造的特性
Solana におけるトランザクション送信では、スロットの進行状況、リーダーの配置、ネットワーク経路、各ノードの負荷状態などが常に変動しています。このため、「どの送信経路が最も早くリーダーに到達するか」を事前に固定することはできません。
この特性は、特定の RPC 事業者や送信サービスの品質に起因するものではなく、Solana の実行モデルそのものに由来する構造的な前提です。その結果、単一の RPC エンドポイントに依存した送信設計では、トランザクション成功率やレイテンシの面で限界が生じやすくなります。
SWQoS エンドポイントの役割と現実的な位置づけ
ERPC が提供する SWQoS エンドポイントは、Stake weighted Quality of Service に基づき、リーダーが優先帯域として割り当てるレーンへトランザクションを投入できる送信経路です。この優先帯域(80%)は、非優先帯域(20%)と比較して高い帯域が割り当てられており、さらに Priority fee の評価より前の段階で適用されます。
そのため、SWQoS エンドポイントは高価値トランザクション送信における重要な選択肢となりますが、実運用においては、SWQoS であっても常に単一経路が最速になるとは限りません。同一スロット内でも、瞬間的な経路差や負荷の偏りにより、別の高速エンドポイントが先行する状況は発生します。
単一経路設計の限界とファンアウトの必然性
このような前提に立つと、最速経路を事前に予測する設計ではなく、複数の高速な送信経路に対して同一トランザクションを同時に送信し、最初に処理されたものを採用するというファンアウト設計が合理的であることが分かります。
SWQoS を軸としつつ、他の高速 RPC エンドポイントを組み合わせることで、スロットごとの経路差や負荷変動の影響を受けにくい構成を実現できます。
ファンアウト運用における根本的な課題
一方で、同一のトランザクションを複数の送信経路に流すと、そのままでは「実行されるのは 1 回のみ」という状態を保証できません。この制御を行わずにファンアウト送信を行った場合、意図しない二重実行や、再送制御の破綻につながる可能性があります。
この問題をアプリケーション側のロジックだけで完全に防ぐことは難しく、プロトコルレベルでの仕組みが必要になります。
Durable Nonce による解決
Solana では、この課題に対する公式な仕組みとして Durable Nonce が提供されています。Durable Nonce を利用することで、recentBlockhash の代わりに nonce 値を用い、同一の署名済みトランザクションを複数の送信経路に送信しつつ、ネットワーク上で有効になる実行を 1 回に制限することが可能になります。
ファンアウト設計を安全に成立させる上で、Durable Nonce は前提となる技術要素です。
本ガイドの位置づけ
今回公開したガイドは、Durable Nonce を用いたトランザクション送信を、理論ではなく実装ベースで解説することを目的としています。SWQoS エンドポイントを最大限活用するための送信設計を、初回セットアップから日常運用まで一貫して説明しています。
ガイドで扱う主な内容
ガイドでは、以下のような実務上重要となるポイントを整理しています。
-
Nonce authority および nonce account の設計
-
nonceAdvance を含む命令順序の正しい組み立て
-
同一 raw トランザクションを再利用できないという運用上の注意点
-
複数 RPC エンドポイントへの並列送信方法
-
Durable Nonce を前提とした confirm 設計
-
次回トランザクション送信への安全な遷移方法
これらは、PoC 段階だけでなく、本番環境での安定運用を前提とした内容です。
ERPC における実践的な送信構成
ERPC では、SWQoS を中核に据えつつ、複数リージョン・複数経路の高速 RPC エンドポイントを組み合わせた送信構成を前提としています。特定リージョンや単一経路に依存しない設計は、Solana の特性を踏まえた現実的な運用において重要な要素となります。
本ガイドは、ERPC のマルチリージョン環境を前提とした実践的な構成判断にそのまま適用できる内容となっています。
想定する利用者像
本ガイドは、以下のような開発者・チームを想定しています。
-
高頻度または高価値トランザクションを扱う開発者の皆様
-
既存の RPC 送信において成功率やレイテンシに課題を感じているケース
-
SWQoS エンドポイントをすでに利用している、または導入を検討している利用者の皆様
今後について
ERPC では、今後も SWQoS を含むトランザクション送信基盤の改善を継続するとともに、実運用で得られた知見をガイドやコード例として順次公開していく方針です。
高速であるだけでなく、正しく、安定して利用できる送信基盤として、開発者の皆様を支援していきます。
ご利用・相談について
最適な送信構成やリージョン選定、既存設計からの移行については、Validators DAO 公式 Discord にて個別相談を承っております。
-
Validators DAO 公式 Discord: https://discord.gg/C7ZQSrCkYR
-
ERPC 公式サイト: https://erpc.global/ja
すべての画像
