投稿日:2022年9月16日
最終更新日:2022年9月16日
ブロックチェーン基本ノード

ブロックチェーンの基本 - ノード

著者画像
WRITER 安達 定幸
代表取締役
ブロックチェーンの基本 - ノード

ブロックチェーンの基本 - ノード

この記事では、ビットコイン・ブロックチェーン技術の基礎についてお話します。以下のような質問にお答えします。

  • ブロックチェーンノードとは何ですか?
  • ノードは何をし、どんな関連性があるのですか?
  • マイナーはノードですか?
  • ノードとマイナーの違いは何ですか?
  • なぜノードは常に最新であるべきなのですか?

ブロックチェーンノードとは何ですか?

ノードは、ブロックチェーンの重要な部分です。ブロックチェーンのデータを保存するためにノードが必要なので、ノードがなければブロックチェーンは存在しません。
本稿執筆時点では、約9700のアクティブなビットコインノードが存在します。

フルノード

フルノードは基本的にコンピュータ上で動作するソフトウェアで、最も一般的なのはビットコインに使用されるBitcoin Coreです。十分なストレージがあり、すべての履歴データを保存できるのであれば、サーバー、ラップトップ、デスクトップPCのどれでもかまいません。ブロックチェーンの履歴データとは、ブロックチェーン上の過去のすべてのブロックのことです。本稿執筆時点では、ビットコインのブロックチェーン・サイズは約350GBです。
フルノードは、ブロックチェーンのルールが守られていることを保証するものです。

ノードは何をし、どんな関連性があるのでしょうか。
ノードには4つの基本的な機能があります。

  1. ブロックチェーンデータを保存する
  2. ブロックチェーンに新しいブロックを追加しようとするマイナーの試みを受け入れるか、拒否する
  3. 他のノードと同期し、新たに接続されたノードに過去のブロックチェーンデータを送信する
  4. ウォレットアドレスとトランザクションを生成する

ブロックチェーンデータを保存する

ノードは過去のブロックチェーン取引情報をすべて保存します。ビットコインでは、各ブロックは最大2MBで構成されています。2MBのデータが約10分ごとにブロックチェーンに追加されます。ブロックが確認されると、すべてのノードが更新され、ブロックチェーンのサイズとブロックの高さの合計が増加します。

ブロックチェーンに新しいブロックを追加しようとするマイナーの試みを受け入れるか、拒否する

マイナーがブロックチェーンに新しいブロックを出そうとすると、ノードはそのブロックをブロックチェーン上の他のすべてのノードに中継します。ノードは、マイナーから提出された新しいブロックを受け入れるか、拒否します。

他のノードと同期し、新たに接続されたノードに過去のブロックチェーンデータを送信する

ノードはまた、自分のノードを最新のものに同期させようとしている他のノードと、過去のブロック取引を共有します。すべてのノードが同じブロックチェーンデータを保存します。 ノードは、単一(または少数)のアクターがネットワークを制御することを防ぐため、分散型となっています。

ウォレットアドレスとトランザクションを生成する

完全なノードは、ブロックチェーン上でウォレットアドレスとトランザクションを生成することができます。

マイナーはノードですか?

マイナーノードとは、トランザクションを検証することで追加の仕事をするフルノードのことです。すべてのマイナーはノードですが、すべてのノードがマイナーというわけではありません。

マイナーノードは、ブロックチェーンに新しいブロックを出すために必要な文字と数字の組み合わせを推測するため、ハードウェアを使用します。ブロックが出されると、すべてのノードがそれが有効かどうかを判断します。

ソフトウェアマイナーやコンピュータ上で動作するマイナーをマイナーノードと混同しないでください。マイナーノードは、他のマイナー(マイナーノードではない)が接続するプールによって実行されることが最も多いです。

ノードとマイナーの違いは何ですか?

マイナーは、ノードを稼働させないと活動できません。しかし、フルノードが必ずしもマイナーであるとは限りません。
フルノードはデータを受信、保存し、他のノードにブロードキャストします。マイナーノードも同じことをしますが、新しい取引ブロックを作成し、他のノードにブロードキャストしようとし、それを受け入れるか拒否するかのどちらかを行います。
すべてのマイニングプールは基本的に、他のマイナーがハッシュパワーを接続するためのノードです。

なぜノードは常に最新でなければならないのですか?

ノードは常に他のノードと同期していなければなりません。もしノードが大多数のノードと同期していない場合、それは遅れをとっていることを意味し、ブロックチェーン上のブロックを確認するために使用することはできません。
完全に同期したノードは、ブロックチェーンのセキュリティ、信頼、および分散化を提供します。
不誠実なノードが悪意のある試みのために偽の取引を流そうとすると、そのノードは誠実なノードによってブロックチェーンから切り離されます。