This article has been translated from English to Japanese.
ビットコイン・ネットワークは、「ノード」のピア・ツー・ピア(P2P)ネットワークである。
これまでのレッスンでは、ネットワークが何をするのか、 P2Pネットワークとは何かを学んだ。
しかし、ビットコインノードとは一体何なのか?ビットコインノードは何をするのか?ビットコインノードはどのように機能するのか?
ビットコインノード、より具体的には ビットコイン「フルノード」は 、ビットコインソフトウェア (「ビットコインクライアント」または「ビットコインクライアントソフトウェア」と呼ばれる )を実行するコンピュータである 。
過去のデータを保存するのに十分なハードドライブの容量があれば、デスクトップPCでもラップトップでもよい。

「ノード」と「フルノード」という用語は同義語として使用されることが多いが、実際には両者の間には違いがある。 というのも、ノードには「フルノード」と「ライトノード(または「軽量ノード」)」の2種類があるからだ。フルノードはビットコインネットワークのバックボーンを形成するが、ライトノードは機能するためにフルノードに依存する。ライトノードは単独では機能できないため、私はライトノードを「フジツボ」や「寄生生物」とみなしている。今後、特に指定のない限り、私が「ノード」という言葉を使う場合は「フルノード」を意味する。
ビットコインのノードは何をするのか?
ノードは3つのことを行う。
- ルールに従う
- 情報を共有する
- 確認済みの取引のコピーを保持する
1. ルールに従う
各ノード(ビットコインソフトウェアを実行しているコンピュータ)は、一連のルールに従うようプログラムされている。
これをビットコイン・プロトコルと呼ぶ。
プロトコルとは、ネットワークの動作方法を規定するあらかじめ定義された一連のルールであり、ネットワークが機能するためには、ネットワークのすべての参加者が従わなければならない。
ビットコインの各ノードはそれぞれ独立している。ビットコインクライアントを実行するコンピュータを所有している場合、ネットワークが「あなたに何をすべきかを指示する」ことはない。代わりに、ビットコインクライアントはすでに何をすべきかを知っており、ビットコインプロトコル(ルール)に基づいて独自の判断を行う。
ルールは事前に定義され、ビットコインソフトウェアにコード化されているため、ビットコインネットワーク上の意見の相違を防ぐことができる。
これらのルールに従うことで、ノードは受信した取引を確認し、すべてが正当なものである場合にのみ転送することができる。
問題があれば、その取引は通過しない。

ルールに従わない取引は、P2Pネットワークのコンピューターによって拒否される。
例えば、送信しようとするビットコインの量と同等かそれ以上のビットコインを所有していなければならないというルールがある。
もしあなたのノードが、所有するビットコインの量よりも多いビットコインを送金しようとするトランザクションを受信した場合、そのトランザクションは他のノードに転送されることはない。
ビットコインネットワークのメンバーが偽の情報を流そうとしても、ネットワーク上のすべてのノードが即座にそれを無効と認識し、拒否する。
各ノードはネットワーク上のすべての情報を自ら検証できるため、ネットワークの他のメンバーを信頼する必要はない。これがビットコインを信用不要のシステムにしている。
2. 情報の共有
ノードの主な役割は、他のノードと情報を共有することである。
ノードが共有する「情報」とは取引のことである。
ノードが共有する取引には2つの種類がある。
- 新鮮な取引:最近ネットワークに入った取引。
- 確認済み取引: 「確認」され、ファイルに書き込まれた取引。これらの取引は個別に共有されるのではなく、共有される前にまずブロックにパッケージ化される。

ノードは「新しい」取引と「確認済み」取引のブロックの両方を共有する。
ブロックとは?
あなたが近所のコーヒーショップに行き、支払いを済ませた後、バリスタとの「取引」を示すレシートを受け取ったとしよう。あなたは本当にそのコーヒーショップが好きで、何度も通っているうちに、今ではたくさんのレシートがたまっている。あなたはそれらを束ねる。それが「ブロック」である。
ビットコインでは、このように束ねられた取引を「ブロック」と呼ぶ。
ブロックや、新しい取引と確認済みの取引の違いについて、今はあまり心配しなくていい。それらはすべて、後のレッスンで明らかになる。
3. 確認済みの取引のコピーを保存する
前述の通り、各ノードは「確認済み」の取引のブロックも保持している。
これらは「ブロックチェーン」と呼ばれるファイルにまとめて保管されている。
チェーンとは?
このレッスンでは、「チェーン」とは、新しいブロック(取引の別の束)を作成すると、それを前のブロックに連結することを意味する。一度連結されると、それは恒久的なものとなる。連結を解除することはできない。
それは永遠に前のブロックに接続されている。先ほど例に挙げたコーヒーショップで、複数のレシートの束がチェーンでつながっている様子を想像してほしい。それが「ブロックのチェーン」すなわちブロックチェーンである。

新しい取引は、ブロックチェーンに追加されるまでネットワーク上を移動する。ブロックチェーンは、確認済みの取引の台帳にすぎない。
ブロックチェーンは一つだけではない。 すべてのノードがブロックチェーンのコピーを所有している。
すべてのノードは同期を維持するために最善を尽くしている。一部のノードがブロックチェーンの古いコピーを保持している場合、ブロックチェーンの最新コピーを保持している他のノードが、そのコピーを共有する。
各ノードがブロックチェーンのコピーを所有していることの利点は、1つ(または複数)のノードがオフラインになっても、ビットコインネットワークは引き続き稼働できることだ。稼働中のノードの数が増えれば増えるほど、ビットコインをシャットダウンすることはより困難になる。
ネットワークは、単一のノードに依存しているわけではない。単一障害点はない。ビットコインを実際に停止させるには、ブロックチェーンのすべてのコピーを破壊しなければならない。
各ノードは独立している。ノード(コンピュータ)は、ネットワークから離脱したり、再び参加したりすることができる。
ノードがネットワークから切断され、再びネットワークに接続すると、コンピュータはビットコインのブロックチェーンの最新コピーをダウンロードするだけで、再びノードとして機能する。
ノードはビットコインシステムにとって重要な要素である。ノードがなければビットコインネットワークは存在しない。
また、ビットコインネットワークがなければブロックチェーンも存在しない。なぜなら、ブロックチェーンのコピーを保存するにはノードが必要だからだ。
そして、ブロックチェーンがなければ、ビットコインシステムは存在しない。
まとめ
これまでに、ビットコインネットワークは、
- ノード(ビットコインソフトウェアを実行しているコンピュータ)のリーダーを持たないピアツーピアネットワークであり、
- 各ノードが独立してすべてのルールが守られていることを確認し、
- 新しい取引を検証し、
- ブロックチェーン(確認済みの取引の台帳)のコピーを保存している。
すべてのノードが同じ作業を行っているため、障害が発生する中心点が存在しない。中央集権的なサーバーは存在しない。
新しい取引をブロックチェーンに追加するには、「マイニング」と呼ばれるプロセスを経る必要があり、これは「マイナー」と呼ばれる特別なノードによって実行される。
しかし、ビットコインのマイニングの仕組みを理解するには、少し寄り道する必要がある。
