ブロックチェーンの技術を説明する中で、必ず使われるワードに「ノード」があります。でも、ノードって何?どんな役割を持っているの?という方も多いでしょう。「ブロックチェーンに関係する仕事がしたい」と思っている方に役立つ、ノードの役割や基礎知識をご紹介します。
ブロックチェーンのノードとは?
そもそもノードという言葉は、本来結び目という意味です。コンピュータネットワークの世界でのノードとは「分岐点」や「中継点」のことをさします。つまり、コンピュータネットワークに繋がっている機器のことをノードといいます。
ブロックチェーンのノードとは個々のコンピュータ端末の事
ネットワークに繋がっている機器のことがノードです。ブロックチェーンのノードとは、ブロックチェーンを使っているネットワークに接続されている、全てのコンピュータ機器のことをさします。
コンピュータということはパソコンはもちろん、スマートフォンなどの通信端末もノードということができます。
P2Pネットワーク上に接続された端末全てをノードという
コンピュータがそれぞれ直接的に繋がっているネットワークを、Peer to Peerネットワーク、通常P2Pといいます。中央に接続するコンピュータをおくことなく、端末間をネットワークでつないでいる状態です。
したがって、P2Pで接続されているコンピュータなどの端末全てのことをノードといいます。ビットコインなどの仮想通貨のブロックチェーンもP2Pで接続されています。
ブロックチェーンのノードの基本的な4つの役割について
ブロックチェーンのノードには基本的な4つの役割が存在します。その役割について詳しくみていきましょう。
ルーティングはノードからノードへの道案内をする役割を持つ
ルーティングはP2Pネット上で接続されているコンピュータ端末等(ノード)同士の通信経路をコントロールする機能のことをいいます。
ネットワーク上にはノードが非常に多く存在しています。ノードに流れるデータの行き先を示す指令系統がないとデータをどのノードに送信したら良いかわからなくなります。ノード間をデータを転送しながら、最終地点のノードまでデータを届ける道案内をする機能がルーティングです。
ブロックチェーンデータベース最初から現在までの取引を記録する
ブロックチェーンデーターベースとは、最初の取引から現在までの取引の全ての記録が入っているデータベースのことをさします。
ブロックチェーンデータベースは、数回の取引ごとのデータをまとめたブロックにまとめます。そのブロックをチェーン状に繋げて記録をだんだんと増やしていきます。このように全てのデータが1つにつながることから、最初から最新の取引の記録を完全な形でデータベース化できているのです。
マイニングは取引の承認・検証をする役割を持つ
マイニングとはネットワーク上のブロックチェーンに、いくつかの取引が記録されているブロックのデータが、正当なものかどうかを見極めて書き込む機能です。この機能は取引記録が正当なものかどうかを検証、判断し承認する役割を持っています。
マイニングに参加することで、中央で管理するサーバ等を介することなく、ブロックチェーンの正当性を維持することができる仕組みになっています。
ウォレットは送受信を行うのに必要
仮想通貨の場合、ノード自体が仮想通貨を保存する場所としての機能を持っています。そして、仮想通貨を保存、保管する機能がウォレットです。一般的に考えるとウォレットとは、データの送受信をするためのアドレス管理機能のことをさします。仮想通貨を送受信するために、ウォレットはなくてはならない重要な機能です。
ブロックチェーンのノードの種類と特徴
P2Pネットワーク上にあるノードが、すべて同じ種類というわけではありません。機能の違いによって主に4種類のノードがあります。そして、それぞれの役割も違っています。種類の違うノードがつながることで、ブロックチェーンのシステムが作られています。
フルノード
フルノードは「ウォレット」「フルブロックチェーンデータベース」「ルーティング」の3種類の機能を持ったノードのことです。フルノードは、過去から現在までのすべてのブロックチェーンをダウンロードしてトランザクションの検証をします。
フルノードは自分自身で取引記録を全部検証できることから、セキュリティが高いことが特徴です。仮想通貨の取引所などはセキュリティが高い必要があるため、フルノードが使われます。フルノードには「剪定ノード」と「アーカイブノード」の2種類があります。
ブロックチェーンのサイズが大きすぎると、フルノードの数が減り、そうするとネットワークが脆弱になっていきます。それを防ぐために「剪定ノード」が実装されました。「剪定ノード」は過去から現在までのブロックチェーンをすべてダウンロードしたあとに、過去の不要なデータを消去するノードのことです。「剪定ノード」は、最初にブロックチェーンデータをすべてダウンロードする形式なのでフルノードに分類されます。
「アーカイブノード」は、不要なデータを削除することなく過去から現在までのブロックチェーンデータをすべて管理しているノード従来型のノードです。
このようにフルノードには2種類のノードがあります。
SPVノード
SPVノード(Simplified payment verification)は「ウォレット」「ルーティング」2つの機能を持ったノードのことです。別名、軽量ノードともいわれます。ブロックチェーンの全てのデータをダウンロードしなくても、トランサクションを検証することができるノードです。SPVノードはブロックチェーン全体ではなく、ブロックのヘッダー部分だけをダウンロードします。ここが軽量ノードといわれる部分です。トランザクションの検証をするときにはダウンロードしたヘッダー部分を使い、情報をフルノードのブロックチェーンを参照するスタイルです。フルノードがないとトランザクションの検証ができないという制約があります。
ソロマイナー
「ルーティング」「ウォレット」「マイニング」の機能を持っていて、マイニングの作業を単独で実行しているノードのことをソロマイナーといいます。ソロでマイニングするためには、ウォレットとマイナーのソフトウエアが必要になります。
ブロックチェーンのノードと報酬への参加と関係について
仮想通貨の根幹であるブロックチェーンのシステムを支えるためには、たくさんの正常なノードが必要です。ノードが多ければ多いほどブロックチェーンのシステムの安定性は向上します。そのためにたくさんのノードに参加してもらう必要があるのです。多く参加してもらうためにマイニングを行った報酬として通貨を支払う形式にしているというわけです。
マイニング専用のコンピュータでマイニングに参加する事ができる
マイニングはビットコインで考えると、トランザクションを承認すること、つまり、ブロックチェーンに追加するために複雑な計算を解く作業のことをいいます。複雑な計算式ですが、初期の頃は家庭用のコンピュータでも十分マイニングの作業ができていました。
しかし、最近では多くの人々がマイニングの作業に取り組むようになっています。そのためにマイニングに必要なコンピュータのスペックが急激に高くなっています。
高い報酬を得たい人は、マイニング専用のコンピュータでマイニングに参加することが当たり前になってきています。マイニングの作業のためにだけに作られた専用の機械は「ASIC採掘機」といいます。家庭用のパソコンで本格的にマイニングをするのであれば「ASIC採掘機」の購入を考えた方がいいでしょう。
フルノード・ソロマイナー・マイニングプールなどに参加できる
ブロックチェーンのP2Pネットワークへ貢献するという意味の上でも、フルノードを運営することは非常に大きな意味があリます。それに加え、フルノードはマイニング機能を持っているので、ソロマイナーとしてマイニングを行い、報酬獲得することを目的にノードを運用することが考えられます。こちらの目的でフルノードを使う人も多いでしょう。
しかし、ビットコインの場合、現在では個人でマイニングをして収益が上がったとしても、電気代などで赤字になることがほとんどになってきました。そのために、協力してマイニングの作業をする「マイニングプール」が注目されています。
マイニングプールは、プールに参加したマイナーが自分のコンピュータを使ってマイニングをします。そこで得たマイニング報酬を、ハッシュレート等の貢献度に応じて参加者に分配するというスタイルです。個人でマイニングするよりも、大多数で集まってマイニングした方が採算もとれ、効率よくマイニングできることが今では知られています。
ブロックチェーンのノードのまとめ
ブロックチェーンのノードは、インターネットを経由してブロックチェーンのP2Pネットワークに接続された全ての端末のことをさします。それぞれのノードには異なった機能と役割が存在します。いずれのノードを使ったとしても、ブロックチェーンのシステムの中にそれぞれが参加し、また、マイナーとなって報酬を得つつ、システムの安定化に貢献することでセキュリティが高いブロックチェーンが維持されているのです。