ノードの定義はコンテキストによって異なる場合があります。コンピュータまたは電気通信ネットワークに関しては、ノードは再配布ポイントまたは通信エンドポイントとして機能します。通常、ノードは物理的なネットワークデバイスで構成されますが、仮想ノードが使用される場合もあります。
ネットワーク ノードは、メッセージを作成、受信、または送信できるポイントです。ここでは、フル ノード、スーパーノード、マイナー ノード、SPV クライアントなど、さまざまな種類のビットコイン ノードについて説明します。
ビットコインノード
分散システムとして設計されたブロックチェーンのコンテキストに踏み込んでみると、コンピュータノードのネットワークにより、ビットコインは分散型ピアツーピア (P2P) デジタル通貨として使用できます。そのため、設計上検閲耐性があり、ユーザー間の取引に仲介者を必要としません (世界中にどれだけ離れていても)。
したがって、ブロックチェーン ノードは、さまざまな機能を実行する通信ポイントとして機能する役割を担っています。ビットコイン インターフェイスに接続するコンピューターやデバイスは、何らかの方法で相互に通信するという意味ではノードとみなすことができます。これらのノードは、ビットコイン ピアツーピア プロトコルを使用して、コンピューターの分散ネットワーク内でトランザクションやブロックに関する情報を送信することもできます。ただし、各コンピューター ノードは特定の機能に応じて定義されるため、ビットコイン ノードにはさまざまな種類があります。
フルノード
フルノードは、ビットコインを実際にサポートし、セキュリティを提供するノードであり、ネットワークに不可欠です。これらのノードは、システムのコンセンサスルールに照らしてトランザクションとブロックを検証するプロセスに従事するため、完全検証ノードと呼ばれることもあります。また、フルノードは、新しいトランザクションとブロックをブロックチェーンに中継することもできます。
通常、フルノードはすべてのブロックとトランザクションでビットコイン ブロックチェーンのコピーをダウンロードしますが、これはフルノードと見なされるための要件ではありません (代わりにブロックチェーンの縮小コピーが使用される場合があります)。
完全な Bitcoin ノードはさまざまなソフトウェア実装を通じて確立できますが、最も使用され、人気があるのは Bitcoin Core です。Bitcoin Core のフルノードを実行するための最小要件は次のとおりです。
最新バージョンの Windows、Mac OS X、または Linux を搭載したデスクトップまたはラップトップ。
200GB の空きディスク容量。
2GBのメモリ(RAM)。
アップロード速度が少なくとも 50 kB/s の高速インターネット接続。
定額接続またはアップロード制限の高い接続。オンライン フル ノードでは、アップロード使用量が 200 GB/月、ダウンロード使用量が 20 GB/月に達するか、それを超える場合があります。また、フル ノードを初めて起動するときには、約 200 GB のダウンロードが必要になります。
フルノードは少なくとも 1 日 6 時間実行する必要があります。継続的に (24 時間 365 日) 実行するとさらに効果的です。
多くのボランティア組織やユーザーが、ビットコイン エコシステムを支援する方法として、完全なビットコイン ノードを実行しています。2022 年現在、ビットコイン ネットワークでは 10,000 を超えるパブリック ノードが稼働しています。この数には、リスニング ノードと呼ばれる、表示およびアクセス可能なビットコイン ノードを指すパブリック ノードのみが含まれることに注意してください。
パブリック ノード以外にも、目に見えない隠しノード (非リッスン ノード) が多数存在します。これらのノードは通常、ファイアウォールの背後で動作したり、Tor などの隠しプロトコルを介して動作したり、単に接続をリッスンしないように構成されているために動作します。
リスニングノード(スーパーノード)
基本的に、リスニング ノードまたはスーパー ノードは、公開されている完全なノードです。接続を確立することを決定した他のノードと通信し、情報を提供します。したがって、スーパー ノードは基本的に、データ ソースと通信ブリッジの両方として機能する再配布ポイントです。
信頼性の高いスーパーノードは通常、24時間365日稼働し、複数の接続を確立して、ブロックチェーンの履歴とトランザクションデータを世界中の複数のノードに送信します。そのため、スーパーノードには、非表示のフルノードと比較して、より多くの計算能力とより優れたインターネット接続が必要になる可能性があります。
マイナーのノード
現在の競争の激しい状況でビットコインを採掘するには、専用の採掘ハードウェアとプログラムに投資する必要があります。これらの採掘プログラム (ソフトウェア) は、ビットコイン コアとは直接関係がなく、ビットコイン ブロックの採掘を試みるために並行して実行されます。マイナーは、単独で作業するか (ソロ マイナー)、グループで作業するか (プール マイナー) を選択できます。
ソロマイナーのフルノードはブロックチェーンの独自のコピーを使用しますが、プールマイナーは協力して作業し、各マイナーが自分の計算リソース (ハッシュパワー) に貢献します。マイニングプールでは、プールの管理者のみがフルノードを実行する必要があります。これは、プールマイナーのフルノードと呼ばれることもあります。
軽量またはSPVクライアント
簡易支払い検証 (SPV) クライアントとも呼ばれる軽量クライアントは、ビットコイン ネットワークを利用しますが、実際にはフル ノードとして動作しません。したがって、SPV クライアントはブロックチェーンのコピーを保持せず、トランザクションの検証および検証プロセスに参加しないため、ネットワークのセキュリティには貢献しません。
簡単に言うと、SPV は、ブロック データ全体をダウンロードしなくても、ブロックにトランザクションが含まれているかどうかをユーザーが確認できる方法です。したがって、SPV クライアントは、他のフル ノード (スーパーノード) によって提供される情報に依存します。軽量クライアントは通信エンドポイントとして機能し、多くの暗号通貨ウォレットで使用されます。
クライアントとマイニングノード
フルノードを実行することは、フルマイニングノードを実行することと同じではないことに注意することが重要です。マイナーは高価なマイニングハードウェアとソフトウェアに投資する必要がありますが、完全に検証するノードは誰でも実行できます。
ブロックをマイニングする前に、マイナーはフルノードによって有効と以前に承認された保留中のトランザクションを収集する必要があります。次に、マイナーは候補ブロック (トランザクションのグループを含む) を作成し、そのブロックをマイニングします。マイナーが候補ブロックの有効なソリューションを見つけることができた場合は、それをネットワークにブロードキャストして、他のフルノードがブロックの有効性を検証できるようにします。したがって、コンセンサス ルールは、マイナーではなく、検証ノードの分散ネットワークによって決定され、保護されます。
終わりに
ビットコインノードはビットコイン P2P ネットワークプロトコルを介して相互に通信し、これによりシステムの整合性を保証します。不正な動作をしたり、誤った情報を伝播しようとするノードは、正直なノードによってすぐに認識され、ネットワークから切断されます。
完全に検証されたノードを実行しても金銭的な報酬は得られませんが、ユーザーに信頼、セキュリティ、プライバシーを提供するため、強く推奨されます。フルノードは、ルールが遵守されていることを確認します。ブロックチェーンを攻撃や詐欺 (二重支払いなど) から保護します。さらに、フルノードは他者を信頼する必要がなく、ユーザーが自分のお金を完全に管理できます。