ノードの定義は、使用されるコンテキストによって異なる場合があります。たとえば、コンピュータネットワークや通信ネットワークに関しては、ノードは異なる目的を持つことがあり、再配布ポイントや接続エンドポイントを表します。通常、ノードは物理ネットワークデバイスで構成されていますが、仮想ノードが使用される特定のケースもあります。

単純に言えば、ネットワークノードはメッセージを作成、受信、または転送することができるポイントと考えられます。ここでは、ビットコインノードのさまざまな種類、つまりフルノード(Full Nodes)、スーパーノード(Super Nodes)、マイナーノード(Miner Nodes)、およびSPVクライアントについて議論します。


ビットコインノード(Bitcoin Nodes)

分散システムとして設計されたブロックチェーンの文脈に入ると、コンピュータノードのネットワークがビットコインを分散型デジタル通貨として使用することを可能にし、ピアツーピア(peer-to-peer)システムとして設計されており、検閲に対して耐性があります。これにより、ユーザー間の仲介を必要とせず、距離に関係なく利用できます。

したがって、ブロックチェーンのノードはさまざまな機能を持つ接続ポイントとして機能します。ビットコインインターフェースに接続されている任意のコンピュータまたはデバイスは、何らかの形で互いに通信するノードと見なされます。これらのノードは、ビットコインのピアツーピアプロトコルを使用して分散型コンピュータネットワーク内で取引やブロックに関する情報を転送することもできます。ただし、各ノードはその特定の機能に応じて定義されるため、さまざまな種類のビットコインノードがあります。


フルノード(Full Nodes)

フルノードはビットコインをサポートし、セキュリティを提供するものであり、これなしでは成り立ちません。これらのノードは、システムの合意ルールに従って取引やブロックの検証プロセスに介入するため、フル検証ノードとも呼ばれます。フルノードは、新しい取引やブロックをブロックチェーンにリレーすることもできます。

通常、フルノードはビットコインのブロックチェーンのコピーをすべてのブロックと取引とともにダウンロードしますが、これがフルノードと見なされるための要件ではありません(代わりにブロックチェーンの縮小版を使用することもできます)。


ビットコインのフルノードは、さまざまなソフトウェアアプリケーションを通じて作成できますが、最も一般的で人気があるのはBitcoin Coreです。

これは、Bitcoin Coreのフルノードを実行するための最小要件です:

  • 最新のWindows、Mac OS X、またはLinuxのバージョンを搭載したコンピュータまたはラップトップ。

  • 200GBの利用可能なディスクスペース。

  • 2GBのメモリ(RAM)。

  • 高速インターネット接続で、アップロード速度は最低50キロバイト/秒以上です。

  • オープン接続または高いアップロード制限のある接続。フルノードは、月に200GB以上のアップロードを使用する可能性があり、月に20GBのダウンロードを使用します。また、最初にフルノードを起動する際に約200GBをダウンロードする必要があります。

  • フルノードは、1日あたり少なくとも6時間実行する必要があります。常に24時間運用することが望ましいです。


多くのボランティア団体やユーザーがビットコインのフルノードを運営しており、ビットコインシステムを支援する方法として利用されています。現在、ビットコインネットワーク上で動作している約9700のパブリックノードがあります。この数は、可視的でアクセス可能なビットコインノード(リスニングノードとも呼ばれる)を指すパブリックノードのみを含みます。

公開ノードに加えて、他の隠れたノード(非リスニングノード)も多数存在します。通常、これらのノードはTorなどの隠れたプロトコルを介してファイアウォールの背後で動作しており、接続をリスニングしないように設定されています。


リスニングノード - スーパー ノード

基本的に、リスニングノードまたはスーパー ノードは一般に可視的なフルノードです。これにより、他のノードが接続を作成することを決定した場合に情報を通信し提供します。したがって、スーパー ノードは、データの供給源および接続の橋として機能する再配布ポイントと言えます。

信頼できるスーパー ノードは通常、24時間365日稼働し、多くの接続を持ち、世界中の複数の接続ポイントにブロックチェーンの履歴と集約された取引を転送します。このため、スーパー ノードは、フルノードと比較してより多くの計算能力とより良いインターネット接続を必要とする場合があります。


マイナーノード(Miners’ Nodes)

ビットコインを現在の競争状況で掘るためには、特化したマイニング機器とソフトウェアに投資する必要があります。これらのマイニングソフトウェアはビットコインコアとは直接関係ありませんが、ビットコインのブロックを掘る試みと似た方法で実行されます。マイナーは単独で作業する(ソロマイナー)か、グループで作業する(プールマイナー)ことを選択できます。

個々のマイナーのフルノードは彼ら自身のブロックチェーンの特別なバージョンを使用していますが、マイニングプールのマイナーは協力して作業し、各自の計算リソース(ハッシュパワー)を提供します。

マイニングプールでは、グループの管理者のみがフルノードを実行する必要があり、これはマイニングプールのユーザーにとってフルノードと呼ばれることができます。


軽量またはSPVクライアント

簡易支払い検証クライアント(SPVクライアント)または軽量クライアントはビットコインネットワークを使用する軽量なクライアントですが、実際にはフルノードとして機能していません。したがって、SPVクライアントはブロックチェーンの特別なコピーを保持せず、取引の検証と確認プロセスに参加しないため、ネットワークのセキュリティに寄与しません。

要するに、SPVはユーザーが特定の取引がブロックに追加されたかどうかを確認する方法であり、ブロックデータ全体をダウンロードする必要はありません。したがって、SPVクライアントは他のフルノード(スーパーノード)から提供される情報に依存します。軽量クライアントは接続のエンドポイントとして機能し、さまざまな暗号通貨ウォレットで使用されます。


クライアント対マイニングノード

フルノードを実行することの意味は、フルマイニングノードを実行することとは異なることに注意が必要です。マイナーは高価なマイニング機器とソフトウェアに投資する必要がありますが、誰でもフル検証ノードを実行することができます。さらに、ブロックを掘る試みの前に、マイナーはフルノードによって以前に有効と見なされた保留中の取引を収集する必要があります。その後、マイナーは候補ブロック(取引のセットを含む)を生成し、このブロックを掘ろうとします。マイナーがそのブロックに対する有効な解決策を見つけられた場合、それをネットワークにブロードキャストし、他のフルノードがそのブロックの有効性を確認します。したがって、合意/コンセンサスのルールは、マイナーではなく、検証ノードの分散ネットワークによって決定され、保護されます。



結論

ビットコインノードは、Bitcoin P2Pネットワークプロトコルを介して互いに通信し、システムの整合性を保証します。誤動作するノードまたは不正確な情報を広めようとするノードは、すぐに誠実なノードによって認識され、その後ネットワークから切り離されます。

フル検証ノードを実行することは金銭的報酬を提供しないという事実にもかかわらず、ユーザーに信頼性、安全性、プライバシーを提供するため、強く推奨されます。フルノードは法律に従うことを保証し、ブロックチェーンを攻撃や詐欺手法から保護します(ダブルスペンディングなど)。さらに、フルノードは他者を信頼する必要がなく、ユーザーが自分の資金を完全に制御できるようにします。