新着:HeliusがLight Protocolを買収
Solanaノード入門 — Solana RPC、バリデータ、RPCプロバイダー
ブログ/基礎

Solanaノード入門 — Solana RPC、バリデータ、RPCプロバイダー

共同創業者兼CEOXのMert MumtazLinkedInのMert Mumtaz
読了時間:7分

はじめに

ブロックチェーンは、相互に通信して新しい情報について合意するノードの集合です。従来のシステムと異なるのは、ノード同士が互いを信頼する必要がない点です。そのため、単一障害点が存在せず、システムは予期せぬ障害にも耐えられます。

これはすべてのブロックチェーンに共通する基本的な考え方ですが、実装方法はチェーンごとに異なります。この記事では、Solanaがこの仕組みをどのように実現しているかを簡潔に解説します。ノードとは何か、RPCノードとバリデータノードの違い、ノードプロバイダーを選ぶ際の考え方を説明します。

ノードとは?

ノードとは、簡単に言えばコンピューターです。Solanaノードは、Solanaブロックチェーンクライアントを実行するコンピューターです。すべてのノードが同じ役割を担うわけではなく、投票やデータストリーミングなど、特定の機能に特化したノードもあります。すべてのノードに共通する基本的な特徴は、ブロックチェーンの状態を追跡することです。つまり、あらゆる状態遷移を確認します(例:アカウントXがアカウントYに5 SOLを送信した)。

バリデータノード

バリデータは、i)ブロックを生成し、ii)他のブロックの有効性に投票することでネットワークの安全性を支えるSolanaノードです。すべてのSolanaノードがブロックチェーンの状態を追跡していることを思い出してください。そのため、バリデータが不正なブロックを生成すると、他のバリデータがそれを検出し、適切に投票します。

ここで自然に浮かぶ疑問は、「なぜそのように行動するのでしょうか? 嘘をつかないインセンティブは何でしょうか?」というものです。

ゲーム理論の詳細には踏み込みませんが、バリデータには複数の理由から正直に投票するインセンティブがあり、その中心は経済的な利益です。バリデータは、トランザクション手数料、最大抽出可能価値(MEV)、トークンのインフレーションから報酬を得ます。バリデータの経済性について詳しくは、こちらの入門記事をご覧ください。

RPCノード

ブロックチェーンが正常に機能すると、新しい情報の処理と保存が始まります。Solanaの場合、その処理と保存は非常に高速です。開発者は、自身のシステムで利用するために、ブロックチェーンに保存された情報へアクセスする必要があります。しかし、アプリケーションごとに要件は異なります。ユースケースは、1つのトークンを送信するだけの単純なものから、他の高頻度トレーダーと競いながら、極めて低いレイテンシでアトミックな裁定取引を行う複雑なものまでさまざまです。

ここには問題があります。極めて多様な情報リクエストを処理しながら、ブロックの有効性に投票し、さらには新しいブロックも生成できるノードが必要になるからです。そのようなノードは実現可能ですが、システム要件が非常に高くなり、ノード運用への参入が難しくなります。

Solanaでは、ブロックチェーン上のすべての情報を追跡しながら、投票やブロック生成には参加しない新しい種類のノードを導入することで、この問題を解決しています。つまり、このノードであるRPCノードは、データリクエストに応答するだけで、コンセンサスには参加しません。Solanaノードで利用できるAPIリクエストの全一覧については、こちらの公式仕様をご覧ください。

Solanaノードの要件

一般的な認識とは異なり、Solanaノードを実行するためにSOL(Solanaブロックチェーンのネイティブ通貨)は必要ありません。SOLが必要になるのはコンセンサスに参加する場合だけです。投票の送信には少額のトランザクション手数料がかかるためです。

具体的なシステム要件はノードの用途によって異なり、個別のユースケースに合わせて大幅に調整できますが、おおよその開始目安は次のとおりです。

  • 最低クロック速度2.8GHzの12コアCPU
  • 128/256GBのRAM(RPCノードでは、カスタムデータベースインデックスのためにさらに多くの容量が必要になる場合があります)
  • 1TB以上のNVMEドライブを2~4台
  • 10 Gbpsネットワーク

現在、より低スペックのハードウェアで性能を引き出すことを目指し、複数のバリデータソフトウェアが書き直されています。その代表例がFiredancerです。

Solana RPCプロバイダー

ネットワークのセキュリティとアクセシビリティは、ノードそのものによって決まります。そのため、Solanaノードの運用には重大な責任が伴います。ノードインフラストラクチャの信頼性が低ければ、経済的なペナルティを受けます。RPCノードの場合は、アプリケーション、システム、ユーザーにも影響が及びます。誤ったデータ(税務や財務データに影響する可能性があります)からアプリが使用不能になることまで、深刻な結果につながりかねません。

そのため、このプロセス全体の改善に特化する企業がいくつも登場しています。RPCプロバイダーは、信頼性、パフォーマンス、スケーラビリティを重視してシステムを設計します。これにより、開発者は優れたプロダクトの構築だけに集中できます。

RPCプロバイダーの選び方

RPCプロバイダーは、複数の観点から評価する必要があります。

専門知識

利用するRPCプロバイダーは、インフラストラクチャを提供しているチェーンをどれほど深く理解しているでしょうか? システムアーキテクチャを深く理解し、すべてのアップデートを把握し、ガバナンスの進展にも関わっているでしょうか? それとも、要件が異なる複数のチェーンをサポートしているため、リソースが分散しているでしょうか? チェーンの混雑、停止、セキュリティインシデントなどの非線形な事象に適切に対処するには、RPCプロバイダーが常に信頼できる情報源であることが重要です。

信頼性

多くのRPCはトラフィックが少ない時間帯には機能しますが、大量のトラフィックにも耐えられるでしょうか? インシデントはどのくらいの頻度で発生するでしょうか? インシデントはどのように通知されるでしょうか? 本番環境で負荷がかかるまで、その影響を把握することはできません。一般的には、実績のあるチームを選ぶ方が賢明です。

スケーラビリティ

RPCは突発的なトラフィックの急増に対応できるでしょうか? ビジネスの成長に伴い、毎月の使用量が増えた場合はどうでしょうか? レイテンシは悪化しないでしょうか? RPCプロバイダーは、スケーラブルなシステムを構築できるよう、呼び出しの最適化を支援してくれるでしょうか? プロアクティブに対応しているでしょうか?

正確性

返されるRPCデータが正しいことについて、どのような保証があるでしょうか? ノードインフラストラクチャは常にチェーンと同期しているでしょうか? それとも古いデータを返しているでしょうか? パフォーマンス特性が異なる複数のチェーンで同じアーキテクチャを再利用しようとするマルチチェーンノードプロバイダーでは、これは非常によくある問題です。

レイテンシ

RPCプロバイダーはどの地域をサポートしているでしょうか? たとえば、アジアのユーザーは米国のユーザーよりも高いレイテンシに直面するでしょうか?

サポート

ブロックチェーンは、まだ非常に初期の段階にあります。新たな問題が毎日のように見つかっています。システムをデバッグできるよう、RPCプロバイダーが迅速な対応、専門知識、コンサルティングを提供することは極めて重要です。

料金

料金体系はどの程度明確でしょうか? すべてのRPCメソッドの料金は同じでしょうか? 月間使用量を超過した場合はどうなるでしょうか? 使用量に応じて料金が妥当にスケールするでしょうか? それとも、新しい契約を交渉したり、別のプロバイダーへ移行したりする必要があるでしょうか?

追加のAPIや機能を検討することも重要です。

アプリケーションを構築するために、多数の他社サービスを統合する必要があるでしょうか? それとも、RPCプロバイダーが、選択したチェーン上での開発を支援する他のAPIも数多く提供しているでしょうか? データストリーミング、専用インフラストラクチャ、その他の分野固有のAPIが必要になった場合はどうでしょうか?

主要なSolana RPCプロバイダー

適切なRPCプロバイダーの選択は、暗号資産開発者にとって最も重要な意思決定です。この決定は、プロダクト、財務、そして最終的には成功という観点で、ビジネスに直接影響します。

上記の基準に基づく、主要なSolana RPCプロバイダーの一覧は次のとおりです。

Helius

私たちはSolanaインフラストラクチャに特化しています。そのため、すべてのシステムをSolana開発者とそのニーズを念頭に置いて構築しています。特にSolanaの開発は変化が速く、包括的なサポート、専門知識、信頼性が求められます。Heliusは、Heliumのブロックチェーン移行を含め、Solana史上最大規模のイベントを支えてきました。

Triton

エコシステムへ定期的にオープンソースの貢献を行っている、SolanaバリデータおよびRPCのプロバイダーです。

Alchemy

アプリケーションが本質的にマルチチェーンで、ノードプロバイダーの数を最小限に抑えたい場合、Alchemyは堅牢なマルチチェーン対応を提供しています。

Blockdaemon

RPCノードではなくバリデータを運用したいエンタープライズレベルの顧客には、Blockdaemonが適している可能性があります。

次のステップ

これで、Solanaノードの仕組みをしっかり理解できました。独自ノードの運用、保守、コストを気にせずSolana上で開発を始めたい場合は、こちらからHelius RPCを無料でお試しいただけます。問題が発生した場合は、Discordで24時間年中無休で対応しています。開発を楽しんでください!

Heliusを購読

Solana開発の最新情報や新しい記事の公開通知を受け取れます