ブロックチェーンにおけるノードとは?
ブロックチェーンのノードは、分散型ネットワークのバックボーンとして機能します。ノードはトランザクションの保存、検証、コンセンサス、同期に貢献します。ノードの役割と責任はそれぞれ異なりますが、連携することでブロックチェーン・システムの信頼性と安全性を確保しています。単一のノードだけがブロックチェーンの運営に責任を負ったり、不可欠であったりすることはありません。データはネットワーク上に分散されているため、あるノードがオフラインになろうと、オンライン・ノードたちは通信を続け、ブロックチェーン上の取引を処理します。
ブロックチェーンにおけるノードとは?
ブロックチェーンの文脈では、ノードとはネットワークに参加するデバイスやコンピュータを指します。異なる種類のノードはそれぞれ異なる役割を持ちます。例えば、ブロックチェーン台帳全体のコピーを保持するノードもあれば、単にトランザクションを検証してネットワークを安全に保つだけのノードもあります。各ノードは、ブロックチェーン技術の分散型性質のためのビルディング・ブロックとして機能します。
ノードの種類は各ブロックチェーンによって異なります。アルゴランドは純粋なプルーフ・オブ・ステーク(PPoS)メカニズムを使用しており、2種類のノードを区別しています: リレー(中継)ノードとパーティシペーション(参加)ノードです。この2種類のノードによって、ブロックチェーンは分散化を最適化し、取引速度を高速に維持することができます。
なぜブロックチェーンにはノードが必要なのか?
ブロックチェーン・ネットワークがノードに依存する理由は3つあります:分散化、コンセンサス、セキュリティです。
分散化
ノードは集合的に分散型ネットワークを形成し、中央当局や仲介者を必要としません。この分散性はブロックチェーンの中核的な特徴であり、信頼性、透明性、検閲や単一の組織によるコントロールへの耐性を保証します。
コンセンサス
ノードはブロックチェーン・ネットワークのコンセンサスを達成する上で重要な役割を果たします。アルゴランドのPPoSのようなコンセンサス・メカニズムを通じて、ノードはトランザクションを検証し、ブロックチェーンの状態に関する合意を保証します。コンセンサス・メカニズムは、台帳の整合性を維持し、二重支出や不正行為を防止するのに役立ちます。
セキュリティ
ノードはトランザクションの検証と妥当性確認を行うことで、ブロックチェーンのセキュリティに貢献します。ノードが分散しているため、悪意のある行為者がブロックチェーンのデータを操作することは極めて困難です。さらに、一部のノードはブロックチェーン全体のコピーを保持するため、ブロックチェーンの不変性に貢献し、過去の取引が改ざんされないことを保証します。
ブロックチェーンのノードはどのように機能するのか?
ブロックチェーンのノードは協力してネットワークの完全性を維持し、いくつかの機能を実行します。
トランザクションの保存と検証
一部のノードは、全取引の記録を含むブロックチェーンのコピーを保存します。これらのノードは受信トランザクションを検証し、それらがネットワークの事前定義されたルールとコンセンサス・アルゴリズムに準拠していることを確認します。これらのノードはトランザクションを検証することで、詐欺や不正行為の防止に貢献します。
トランザクションの伝播とブロードキャスト
新しいトランザクションが発生すると、一部のノードはそれをネットワーク内の他のノードに伝播します。このプロセスにより、すべてのノードが最新の情報にアクセスできるようになり、ネットワーク全体の台帳の同期が可能になります。アルゴランド上でトランザクションが発生すると、中継ノードがネットワーク全体にデータを伝播するために動作します。
コンセンサスへの参加
ノードはブロックチェーン・ネットワークのコンセンサス・メカニズムに積極的に参加することができます。これがどのように機能するかは、どのコンセンサス・メカニズムを採用するかによって異なります。アルゴランドのPPoSの場合、参加者はオンラインでステークを登録して参加しますが、コンセンサス中にステークがウォレットから離れることはありません。
ネットワークの維持
ブロックチェーンの同期された一貫性のあるビューを維持するために、ノードは互いに通信してトランザクションとブロックに関する情報を交換します。競合が発生した場合、ノードは協力して不一致を解決し、ブロックチェーンのコンセンサスを達成します。
アルゴランドのブロックチェーン・ノードの種類
アルゴランドは分散化とスケーラビリティを実現するために2種類のノードを使用しています:リレー(中継)ノードとパーティシペーション(参加)ノードです。これらのノードは、高い取引速度を維持し、世界的な普及を可能にするように設計されています。メッセージはネットワークを通じてより速く伝搬されるほど、ユーザーにとってより良いものとなります。
リレー(中継)ノード
中継ノードは常に他の中継ノードや参加ノードと接続されています。他のネットワーク参加者すべてに重要な情報を配信するため、プロトコルの不可欠な部分です。中継ノードは、他のノードが同じブロック情報を取得し、最新の状態を維持できるようにするため、ネットワークは常に同期されます。中継ノードはデータを配信し、トランザクションの重複をチェックします。これらのノードは、大きなデータ負荷をサポートし、処理するように設計されています。
2023年現在、アルゴランド・ネットワークには約110の中継ノードが存在します。
パーティシペーション(参加)ノード
参加ノードはコンセンサスに参加します。分散化を維持し、トランザクションを検証し、ネットワーク全体のセキュリティを強化します。参加ノードは情報を中継しません。代わりに、参加ノードは中継ノードに依存して通信し、更新を共有します。参加ノードのセットアップ時に特に指示されない限り、参加ノードは中継ノードを使用しません。注意:中継ノードがコンセンサスに参加することも可能ですが、それは強く推奨されず、安全性も低くなります。
アルゴランド・コンセンサス・プロトコルに参加するための中継ノードや参加ノードは、誰でも運営することができます。
参加ノードの総数は Algorand Metrics Dashboard で確認できます。
アーカイブ・ノードと非アーカイブ・ノード
ノードはアーカイブまたは非アーカイブとして設定できます。アーカイブ・ノードは元帳全体を保存し、非アーカイブ・ノードは元帳のスナップショット(アルゴランドの場合は直近1000ブロック)のみを保存します。中継ノードは常にアーカイブ・ノードです。一方、参加ノードはアーカイブ・ノードにすることもできますが、非アーカイブ・ノードとして設定し、参加にのみ使用するべきです。
アルゴランドで可能なノードの構成については、開発者ポータルをご覧ください。
ノードの運営方法
誰でも中継ノードや参加ノードを運営することができます。ノードのインストールと実行の基本的な手順は、開発者ポータルにあります。現在のところ、誰でも中継ノードを運営することができますが、アルゴランド財団の許可が必要です。
アルゴランド・ワンクリック・ノード
アルゴランドは最近AlgoRunワンクリック・ノードを開始しました。AlgoRunツールはアルゴランド・メインネット・ノードのセットアップと起動を簡素化します。Python 3.10+、Docker、Pipx(AlgoKitの前提条件でもある)が必要で、Mac、Linux、Windowsにインストールできます。非参加ノードのセットアップをサポートしますが、コンセンサスに参加するにはさらなるステップが必要です。注意:AlgoRunはまだ実験段階です。
動画を見る: AlgoRun provides 1-click node running, Algorand Proof of State
元記事:https://www.algorand.foundation/news/what-is-a-node-in-blockchain
合わせて読みたい:
What is Algorand’s consensus protocol?
Algorand’s network architecture overview
Algorand’s pure proof-of-stake protocol