ノードとは何か?

ノードとは何か?

ノードの定義は文脈によって異なります。コンピュータや通信ネットワークに関して言えば、ノードは再分配ポイントとして機能することもあれば、通信エンドポイントとして機能することもある。通常、ノードは物理的なネットワーク・デバイスで構成されますが、仮想ノードを使用する場合もあります。

ネットワーク・ノードは、メッセージを作成、受信、送信できるポイントです。ここでは、ビットコインのノードの種類(フルノード、スーパーノード、マイナーノード、SPVクライアント)について説明する。

ビットコインノード

分散システムとして設計されたブロックチェーンの文脈に飛び込むと、コンピュータノードのネットワークは、ビットコインが分散型ピアツーピア(P2P)デジタル通貨として使用されることを可能にしています。そのため、設計上検閲に強く、ユーザーからユーザーへ(世界中どんなに離れていても)取引される際に仲介者を必要としない。

そのため、ブロックチェーンのノードは、さまざまな機能を実行する可能性のある通信ポイントとして機能する役割を担っている。ビットコインのインターフェースに接続するあらゆるコンピュータやデバイスは、互いに何らかの通信を行うという意味でノードとみなすことができる。これらのノードはまた、ビットコインのピアツーピアプロトコルを使用することにより、コンピュータの分散ネットワーク内でトランザクションやブロックに関する情報を送信することができます。しかし、各コンピュータノードはその特定の機能に応じて定義されているため、ビットコインノードにはさまざまな種類があります。

フルノード

フルノードは、ビットコインを本当にサポートし、セキュリティを提供するものであり、ネットワークに不可欠です。これらのノードは、システムのコンセンサスルールに照らしてトランザクションやブロックを検証するプロセスに従事するため、完全検証ノードとも呼ばれることがある。また、フルノードは新しい取引やブロックをブロックチェーンに中継することができる。

通常、フルノードはブロックとトランザクションごとにビットコインブロックチェーンのコピーをダウンロードするが、これはフルノードとみなされるための要件ではない(代わりにブロックチェーンの縮小コピーを使用することもできる)。

完全なビットコインノードは、異なるソフトウェア実装を介して確立することができますが、最も使用され、人気のあるものはビットコインコアです。Bitcoin Coreフルノードを実行するための最小要件は以下の通りです:

  • Windows、Mac OS X、またはLinuxの最新バージョンを搭載したデスクトップまたはラップトップ。
  • 200GBのディスク空き容量。
  • 2GBのメモリ(RAM)。
  • アップロード速度が50kB/s以上の高速インターネット接続。
  • 従量制のない接続、またはアップロード制限の高い接続。オンライン・フルノードのアップロード使用量は200GB/月、ダウンロード使用量は20GB/月を超える場合があります。また、フルノードを最初に開始する際には、~200GBのダウンロードが必要になります。
  • フルノードは1日最低6時間は稼働させる必要があります。連続的(24時間365日)に稼働させるとなお良いでしょう。

多くのボランティア団体やユーザーが、ビットコインのエコシステムを支援する方法として、ビットコインのフルノードを実行しています。2022年現在、ビットコインネットワーク上で10,000以上のパブリックノードが稼働しています。この数にはパブリックノードのみが含まれており、リスニングノードと呼ばれる可視化されアクセス可能なビットコインノードを指すことに注意してください。

パブリックノード以外にも、可視化されていない隠れたノード(非リスニングノード)が多数存在する。これらのノードは通常、ファイアウォールの背後で、Torのような隠しプロトコルを介して、または単に接続をリッスンしないように設定されているために動作しています。

リスニング・ノード(スーパーノード)

基本的に、リスニングノードまたはスーパーノードは、一般に公開されている完全なノードです。接続を確立することを決定した他のノードと通信し、情報を提供します。したがって、スーパーノードは基本的にデータソースとしても通信ブリッジとしても機能する再配信ポイントである。

信頼性の高いスーパーノードは通常24時間365日稼働し、確立された接続を複数持ち、ブロックチェーンの履歴と取引データを世界中の複数のノードに送信する。そのため、スーパーノードは、隠蔽されたフルノードと比較すると、より高い計算能力と優れたインターネット接続を必要とするでしょう。

マイナーノード

現在の競争の激しいシナリオでビットコインを採掘するためには、専用の採掘ハードウェアとプログラムに投資する必要があります。これらの採掘プログラム(ソフトウェア)はビットコインコアとは直接関係なく、ビットコインのブロックを採掘するために並行して実行される。マイナーは、単独(ソロマイナー)で作業するか、グループ(プールマイナー)で作業するかを選択できる。

ソロマイナーのフルノードがブロックチェーンの自分のコピーを利用するのに対して、プールマイナーは一緒に働き、それぞれが自分の計算リソース(hashpower)に貢献する。マイニングプールでは、プールの管理者だけがフルノードを実行する必要があります。

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

SPV(Simplified Payment Verification)クライアントとも呼ばれる軽量クライアントは、ビットコインネットワークを利用するものの、実際にはフルノードとして機能しないクライアントです。そのため、SPVクライアントはブロックチェーンのコピーを保持せず、トランザクションを検証・検証するプロセスに参加しないため、ネットワークのセキュリティに貢献しない。

つまりSPVは、ブロックデータ全体をダウンロードすることなく、ある取引がブロックに含まれているか否かを確認できる方法である。したがって、SPVクライアントは他のフルノード(スーパーノード)が提供する情報に依存する。軽量クライアントは通信エンドポイントとして機能し、多くの暗号通貨ウォレットで使用されている。

クライアントとマイニングノードの比較

フルノードの稼働とフルマイニングノードの稼働は同じではないことに注意することが重要です。採掘者は高価な採掘ハードウェアとソフトウェアに投資しなければなりませんが、完全検証ノードは誰でも実行できます。

ブロックを採掘しようとする前に、マイナーはフルノードによって有効であると認められた保留中のトランザクションを集める必要がある。次に、採掘者は(トランザクションのグループを含む)候補ブロックを作成し、そのブロックを採掘しようとする。マイナーが候補ブロックの有効な解決策を見つけることに成功したら、それをネットワークにブロードキャストし、他のフルノードがブロックの有効性を検証できるようにする。したがって、コンセンサス・ルールは、採掘者ではなく、検証ノードの分散ネットワークによって決定され、確保される。

最後に

ビットコインのノードはビットコインP2Pネットワークプロトコルを介して互いに通信し、そうすることでシステムの完全性を保証します。悪さをしたり、不正な情報を伝播しようとしたりするノードは、正直なノードによってすぐに認識され、ネットワークから切断されます。

完全な検証ノードを実行しても金銭的な報酬は得られないにもかかわらず、ユーザーに信頼、セキュリティ、プライバシーを提供できるため、非常に推奨されている。フルノードはルールが守られていることを保証する。フルノードは攻撃や詐欺(二重支出など)からブロックチェーンを保護します。さらに、フルノードは他人を信用する必要がないため、ユーザーは自分の資金を完全に管理することができる。

About the author
crypto

コメントする