ビットコインのノードって?ノードの意味や種類、その役割を解説!
「ビットコインのノードって何だろう?」、「ノードがないと取引できないの?」と、ノードについてお悩みではありませんか?
ビットコインやブロックチェーンの技術を説明をする際に当然のように使われる「ノード」という単語、その意味を知っておくと暗号資産(仮想通貨)の技術の理解がグッと深まります。
そこで今回は、「ノードとは何のことなのか」というところから、特に初心者の方が理解できるように簡単に説明します!
これを読んで、ビットコインやブロックチェーンの知識について、一歩先の理解をしましょう!
- ノードは、ビットコインのネットワークに関わる全てのコンピュータのこと
- ノードには4つの役割がある
- どの役割を持つかによって、ノードには種類がある
- 通貨によっては、特別なノードも存在する
ビットコインのノードとは
「ノード」は、辞書的には「結び目」という意味を持ちます。
コンピュータネットワークの中でノードというと、これはネットワークにおける分岐点や中継点のことを言います。
つまり一般的には、あるネットワークに接続されているコンピュータ機器を指します。
ここからさらに、ビットコインにおける"ノード"が何を意味し、どういった働きを持っているのか説明します!
ビットコインのノードとは
先ほど述べたように、一般的なノードはあるネットワークに接続されているコンピュータ機器のことです。なので、「ビットコインのノード」とは「ビットコインのネットワークに接続している全てのコンピュータ機器」のことを言います。(パソコンは当然のこと、スマートフォンやASICなどの端末も含まれます)
ビットコインの取引記録は全てブロックチェーンに保存されており、ノード間で保存・共有されています。ビットコインの保有や送受信を行いたい場合は、ノードとしてそのブロックチェーンを参照する必要があります。
ビットコインのノードの役割
ビットコインのノードが持つことのできる役割は、大きく、ウォレット・マイニング・フルブロックチェーンデータベース・ネットワークルーティングの4つに分けられます。
ビットコインのノードの役割
- ウォレット
- マイニング
- フルブロックチェーンデータベース
- ネットワークルーティング
以下で、それぞれについて詳しく説明していきます。
ノードの役割①ウォレット
ノードは暗号資産(仮想通貨)を保存するための機能を持ちます。暗号資産(仮想通貨)の財布として、保管することができるのです。このいったものを、ウォレットと言います。具体的には、送受信のためのアドレス管理機能のことをいい、後述のフルブロックチェーンデータベース機能と併用する場合もあれば、そうでない場合もあります。詳しい説明は、ノードの種類の項目で説明します。
ノードの役割②マイニング
ある取引記録が正当なものであるかをを判断し、ブロックチェーンに書き込む機能です。これと同時にビットコインの新規発行が行われます。マイニングを行うことで、ビットコインを報酬として受け取ることができます。マイニングについて詳しくは以下の記事をご覧ください!
ノードの役割③フルブロックチェーンデータベース
一番最初の取引から、最新の取引まで、全ての取引が記録されているブロックチェーンの全てを保管する機能です。よく言われる、「ブロックチェーンは全世界のノードに同時に保管されている」と言われる理由がここにあります。このようにフルブロックチェーンデータベース機能を持つノード全てにブロックチェーンが保管されているが故に、悪意を持った人が、存在しないビットコインを利用することができなくなっています。
ノードの役割④ネットワークルーティング
ルーティングとは、ネットワーク上で他のコンピュータとの通信経路を維持する機能をいいます。言い換えると、ビットコインネットワークに繋がる機能です。最初に述べたように、ノードとはネットワークに繋がっているものであるので、この機能こそがノードとなるための条件と言え、全てのノードが持っている役割です。
ビットコインのノードの種類と特徴
ビットコインネットワークには沢山のノードが存在しますが、実は、それら全てが上述の4つの役割を持っている訳ではありません。
ノードによって、どの機能を使いたいか選んでいます。故に、ノードの中でも複数種類に分かれるのですが、ここでは、代表的な「フルノード」と「軽量ノード」についてご紹介します。
ノードの種類①フルノード
フルノードは、上述の4つの役割のうち、「ウォレット」と「フルブロックチェーンデータベース」、「ルーティング」機能を持ったノードはフルノードと呼ばれます。誤解されがちですが、フルノードだからマイニングに特化しているというわけではありません。
フルノードで最も重視される役割が「フルブロックチェーンデータベース」です。フルノードの特徴は、全ての取引記録をダウンロードして正当性を確認できること(トランザクションの検証)です。フルノードが多数存在することで、ブロックチェーンネットワークの正当性、同期性が保たれています。
フルノードは自身で全ての取引記録を検証することができるため、セキュリティが高く、第三者に頼らなくても良いというのも特徴です。取引所などは、高いセキュリティが求められ、二重支払いなどがあってはならないため、フルノードとなっています。
しかし、ビットコインのブロックチェーンの全てを保管した場合、その容量は170GBを超えます(2018年6月現在)。これは簡単に扱えるサイズではない上、今後トランザクションが増えるにつれてさらに肥大化していくことを考えると、家庭用PCの場合現実的ではありません。このようにブロックチェーンのサイズが大きくなりすぎると、フルノードの数は必然的に減って、ネットワークが脆弱になっていきます。
ここで、Bitcoin Core 0.11.0へのバージョンアップ時、剪定モード(Pruning Mode)というものが実装されました。これは、一旦全てのブロックチェーンをダウンロードしたのち、検証に必要な部分だけを残して、他を消去する機能です。これによって、検証という大事な機能は維持したまま、容量を節約することができます。また、それに対して従来のフルノードをアーカイブノードといいます。
ノードの種類②軽量(SPV)ノード
軽量ノード(SPVノード)は、上述の4つの役割のうち、「ウォレット」と「ルーティング」機能のみを持ちます。Simplified Payment Verificationすなわち、簡易支払確認という名前の通り、ブロックチェーンの全てのデータをダウンロードせずとも、トランザクションの検証を行うことができるノードです。例えば、Breadなどのスマートフォンウォレットはその容量の都合上、ブロックチェーンの全体を保存することはできず、SPVノードとなります。
SPVノードは全てのブロックのヘッダー部分のみをダウンロードします。ヘッダーとは、ブロックの中の情報の説明書きのようなものです。トランザクションの検証を行う際は、保存されているヘッダを利用して、他のフルノードのブロックチェーンに情報を要求します。そのため、フルノードに依存してでないと検証を行うことができません。
このように説明すると、軽量ノードはフルノードと比べてセキュリティが甘いのではないか?とお思いになるかも知れません。
前述のように、不正な取引がないかはフルノードを参照することですぐに確認することができます。特にセキュリティ上で気になる点といえば、フルノードに情報を要求する際に、特定のアドレスや取引を提示しなければいけないという点です。しかし、その点に関する危険性は極めて低く、それよりも取引所やウォレット自体のセキュリティの方が今は心配されています。
結局、何のノードを建てるのがオススメなのか
このように説明すると、結局何かしらのノードを建てなければいけないか?とお考えになる方も多いと思います。もちろん、ビットコインのネットワークに関わりたい時は、何かしらのノードを建てることになります。では、どのノードをどのように建てればよいのでしょうか?
結論から言うと、ほとんどの人は意識してノードの種類を選んで、建てることはありません。というのも、暗号資産(仮想通貨)取引を行いたいだけであれば、取引所にアカウント登録し、必要に応じてウォレットアプリを利用すれば良いだけだからです。この際、自分で難しい操作をしてアクセスせずとも、自動的に向こうでノードを建て、ネットワークに繋げてくれます。利用者はアプリやブラウザを通じて操作するだけで取引や保管を行うことができます。
ビットコインのフルノードの数と分布
ビットコインのノードにはいくつかの種類が存在することを先程述べました。しかし、実際にネットワークの堅牢化に大きく貢献しているのはフルノードです。フルノードはブロックチェーンの全てを保管しているため、フルノードが複数存在するうちは、ブロックチェーンの過去の情報が改竄される可能性は低いと考えられます。
世界中に散らばるフルノードの数や分布は、こちらのサイト(ビットノーズ)で確認することができます。
上は2018年6月時点でのフルノードの数と分布です。世界全体で約1万のフルノードが存在しています。つまり、1万個のコンピュータにブロックチェーンの全体が保存されています。これだけで、過去のトランザクションを改竄することは実質不可能であることが分かると思います。
分布の傾向を見ると、アメリカやヨーロッパにそのほとんどが集中し、肝心の日本はたったの2%程度です。実は、日本はビットコイン取引のかなりの割合をしめる暗号資産(仮想通貨)大国です。しかし、先ほど述べたように、フルノードになるメリットは少ないため、ほとんどの人は取引所やウォレットの利用に止まっていると考えられます。
その他の仮想通貨のノード
ここまで、ビットコインのノードについてのみ紹介してきました。ここからはよく聞く別の「〇〇ノード」について解説したいと思います。ここで紹介するノードは、特定の通貨にのみ存在するもので、その通貨のネットワークの維持に欠かせない特徴的なノードとなっています。
その他のノード①マスターノード
マスターノードはダッシュ(Dash)やトリガー(Triggers)などで実装されているノードの種類であり、暗号資産(仮想通貨)の取引の機能を手伝う役割があります。
マスターノードはビットコインでのフルノードが行なっているような送金の処理や検証を、代表して行い、その報酬を受け取っています。
ネットワーク参加者がマスターノードとなるためには、ウォレットに一定量以上の暗号資産(仮想通貨)を保有する必要があります。
その他のノード②スーパーノード
スーパーノードはネム(NEM)におけるマスターノードのようなものです。300万XEM以上を保有しているノードはスーパーノードとなることができます。
ネムでマイニングに当たる取引承認方法は、ハーベストと呼ばれます。NEMでは全てのノードがハーベストに参加することができるのですが、スーパーノードに対してハーベストを依頼する、という形をとります。
その他のノード③ユニークノード
ユニークノードはリップル(Ripple)において存在するノードです。
ビットコインはコンピュータの計算力に依存したマイニングによって、取引の承認が行われています。それと比べて、リップルが中央集権的と言われる理由でもあるのですが、リップルにおいてはほとんどのノードは、マイニングにあたる取引の承認を行うことができません。バリデータと呼ばれる、特定のノードが取引の承認を行います。このバリデータとなりうるノードの候補のリストを、ユニークノードリストと言います。
ユニークノードリスト自体はリップル社が決定しているため、バリデータにはなろうと思ってもなることはできません。
仮想通貨のノードまとめ
- ノードは、ビットコインのネットワークに関わる全てのコンピュータのこと
- ノードには4つの役割がある
- どの役割を持つかによって、ノードには種類がある
- 通貨によっては、特別なノードも存在する
ノードというものが、ビットコインのネットワークの形成においてどういう存在であるか、お分かりいただけましたでしょうか。
ノードの概念を理解することは、ビットコインをはじめとした全ての暗号資産(仮想通貨)の基本的なブロックチェーンのシステムを理解するために欠かせません。まずは基本から、確実に概念を知っていくことが大切です!