イーサリアムのノードマネジメントサービス:3つの選択肢とその利点・欠点とは

2023/02/15・

noob botter

イーサリアムのノードマネジメントサービス:3つの選択肢とその利点・欠点とは

前回の記事「イーサリアムのPoS移行:マージの概要とその理由を理解する」では、イーサリアム最大のアップグレードであるマージの概要や、PoSへ移行した理由などを解説しました。

第2部となる今回の記事では、PoS(プルーフ・オブ・ステーク)エコノミーを語る上で欠かせないノードマネジメントサービスについて下記内容を交えながら紹介していきます。

  • ノード、クライアント、バリデーターなどの前提知識
  • 開発者がノードインフラと関わる時の選択肢
  • 各選択肢のメリット/デメリット
  • 中央集権型と分散型との微妙な違い

*本記事の内容は@lingchenjaneliu氏のコンテンツを許可を得て翻訳したものとなります。

・第3部「イーサリアムステーキングサービスの種類と最新動向 | 業界のトレンドを知る

ノードマネージメントサービス

そもそも、ノードとは?

ノードとは、イーサリアムのクライアントが動作するための装置です。サーバーは、データの保存、送受信を行います。複数のサーバーが集まってネットワークを構成しています。 イーサリアムは、ブロックやトランザクションデータを検証できるソフトウェアが動作するコンピュータの分散型ネットワークです。イーサリアムのネットワークに参加するためには、クライアントと呼ばれるソフトウェアをパソコンにインストールし、イーサリアムノードにする必要があります。

クライアントとは?

クライアントは、イーサリアムにおいてデータをプロトコルのルールに照らし合わせて検証し、ネットワークの安全性を保ちます。クライアントにはさまざまな実装、つまりソフトウェアのバージョンがありますが、いずれもイーサリアムネットワークの同じプロトコルルールに従ったものです。

イーサリアムネットワークには、フルノード、ライトノード、アーカイブノードの3種類のノードがあり、それぞれ異なるデータ消費をしています。イーサリアムブロックチェーンで使用されるこれらのイーサリアムノードの種類とその違いについて分析していきます。

フルノード(Full Nodes)

フルノードはブロックチェーンデータの完全なコピーを保持し、他のフルノードからトランザクションとブロックを受け取り、検証し、他のフルノードに転送することでネットワークに貢献します。フルノードを稼働させるには、そこそこ強力なハードウェアと帯域幅が必要です。

ライトノード(Light Nodes)

ライトノードはフルノードよりはるかに小さく、フルノードのようにブロックの検証に参加しません。ライトノードは、フルノードのように完全なブロックデータではなく、直前のブロックのハッシュやタイムスタンプなどのブロックヘッダーデータを保存します。ライトノードはフルノードにオンデマンドでリクエストを送り、ユーザーが必要とする部分の状態のみを検証します。

ライトノードは、イーサリアムブロックチェーンと作用する可能な限り最小限のデータを使用し、他のすべての情報をフルノードからアウトソースします。新しいライトノードごとに、検閲への耐性、不正への耐性がより増し、イーサリアムネットワークの中央集権化を防止します。

アーカイブノード(Archive Nodes)

アーカイブノードは、フルノードのすべてを保存し、すべての履歴状態のアーカイブを構築します。これらのノードを実行するために必要なデータ容量は非常に大きいので、一般的なユーザーがアーカイブノードを実行することはあまり望ましくありません。

しかし、ブロックエクスプローラ、ウォレット、オンチェーン分析会社などのサービスプロバイダーにとっては価値があります。アーカイブノードとフルノードの違いは、データの保存期間です。アーカイブノードには、(ジェネシスブロックと呼ばれる)最初のブロック以降のすべての履歴データが格納されているのに対し、フルノードには、新しいトランザクションの検証に必要な現在の状態データのスナップショットのみが格納されています。

バリデーター(validator)とは?

バリデーターはフルノードまたはアーカイブノードであり、フルノードから送信されたトランザクションを受信してトランザクションを実行し、その適格性を検証して(コンセンサスレイヤーで)状態のコンセンサスを達成することにより、コンセンサスに参加することが出来ます。

バリデーターとして参加するには、ユーザーは32ETHを入金して、エグゼキューションクライアント、コンセンサスクライアント、バリデーターという3つの別々のソフトウェアを実行する必要があります。

バリデーターは、ブロックチェーンの維持と安全性確保において重要な役割を担っています。バリデーターは、プルーフ・オブ・ワーク型ブロックチェーンのマイナーと同様に、取引の処理、確認、新しいブロックへの書き込みを担当するブロックチェーンノードです。

プルーフ・オブ・ステークに基づくすべてのブロックチェーンには、バリデーターが存在し、トランザクション手数料やプロトコルのセキュリティ予算から得られる収益の一部を得るために、これらのタスクを競って実行します。

前述してきたようなノード、クライアント、バリデーターの基本を理解した上で、「ステーキングサービス」(staking-as-a-service)インフラの概念を理解することが重要です。

Web3開発者がノードインフラと関わるための3つの選択肢

分散型アプリケーションを構築及び運用するためにイーサリアムネットワークにアクセスする場合、Web3開発者はノードインフラと関わる必要があります。

開発者がこれを行うには、3つの選択肢があります。

  1. 自分自身のノードを動かす
  2. InfuraAlchemyのような中央集権型ノードインフラプロバイダを利用する。
  3. Pocket NetworkAnkrのような分散型ノードインフラプロバイダを利用する。

選択肢1:自分自身のノードを動かす

自前のノードを運用するには、24時間、常に安定した電力供給と、インターネットに接続された物理的なハードウェアを自宅で運用する必要があります。

利点

ネットワークの分散化とセキュリティを向上させ、最も安全な方法でご自身の資金を保有しながら、ステーキング報酬を満額受け取ることが出来ます。

トレードオフ(デメリット)

労力、時間、資本を必要とします。まず、バリデーターソフトウェアを有効化し、バリデーターノードになるために最低32ETHを入金する必要があります。

バリデーターノードになるということは、新しいブロックを追加し、トランザクションを処理し、データを保存する責任を負うということです。ネットワークにセキュリティを提供することで、報酬として新しいETHを受け取ることができます。

次に、運用を担当するということは、機械やネットワークのメンテナンス、トラブルシューティングを行う必要があります。技術的な理解が必要なため、必要な専門知識がない人にとっては参入障壁となる可能性があります。

選択肢2:中央集権型ノードインフラプロバイダーを利用する

Microsoft Azure、Google Cloud、Amazon Web Services(AWS)は、巨大なデータセンターに収容されたクラウドベースのオペレーションを実行するためのノードインフラを提供しています。そして、これらのクラウドプロバイダーは、Web3の世界でも優勢であることがわかります。

クリプト分析プラットフォームMessariによると、「AWS、Hetzer、OVHの3大クラウドプロバイダーは、データセンターでホストされているイーサリアムノードの65%のうち69%を担っています。」とのことです。イーサリアムノードの5~10%を占めるAlchemyとInfuraは、イーサリアムノードのホストをこれら3大クラウドプロバイダーに大きく依存しています。完全な分散型であると主張するWeb3企業は、Infuraがイーサリアム上での構築を容易にしているとはいえ、Infuraのような中央集権的なノードプロバイダーを使用している場合、実際には分散型の方法で稼働しているとは言えません。

利点

1.コストがかからない:中央集権型ネットワークは、小規模なシステムにおいて最も費用対効果の高い選択肢であり、セットアップやメンテナンスに必要なリソースも少なくて済みます。

2.導入を早く出来る:クライアントノードとメインサーバー間の接続を作成または削除するだけで、ネットワークからクライアントノードを簡単に追加または削除することができます。

トレードオフ(デメリット)

1.権力の集中:中央集権的なプロバイダーが、ブロックチェーンのノード数によってインフラ支配の大部分を獲得した場合、分散型システムのセキュリティと継続性が損なわれる可能性があります。

2.検閲:最近(2022年8月)のトルネードキャッシュの制裁から、中央集権型プロバイダーは政府の規制を遵守しなければならないことが明確であり、これは中央集権型のプロバイダーに依存しているdAppsも検閲の対象となることを意味しています。

3.単一障害点:InfuraやAlchemyのような中央集権型ノードインフラプロバイダーは、AWSのデータセンターのみを使用してノードを収容しています。このため、AWSがオフラインになると、それに依存している分散型アプリケーションもオフラインになるという単一障害点が発生します。

具体的な事例:

・Metamaskは、法令遵守とInfura APIへの依存のため、特定の法域では使用できません。

・Twitter の NFT 表示機能は、Alchemy サーバーを頼りにしているOpenSea API に依存していたために、困難でした。

主要な該当者:InfuraAlchemy

選択肢3:分散型ノードインフラプロバイダーを利用する

分散型ネットワークは、1つの中央サーバーに依存するのではなく、複数のデバイスに作業負荷を分散させます。これら個別のデバイスは、それぞれ他のノードと独立して相互作用します。その結果、マスターノードの1つがクラッシュしたり危険に晒されたりしても、他のサーバーはユーザーへのデータアクセスを提供し続けることができ、ネットワーク全体が限定的な混乱もしくは一切の混乱なく動作し続けることができます。

ネットワークと通信するために、Web3開発者、ソフトウェア(dApps、Walletなど)、ユーザーはノードと通信し、ネットワークにコマンドを送信するように指示する必要があります。これは、RPC(remote procedure call)コマンドによって実現されます。これは基本的に、サーバーに何か特定のことを行うよう指示するコマンドを送信し、サーバーがそれを実行する(例えば、ネットワークに特定のトランザクションを送信する)ものです。

中央集権型インフラの検閲という側面は、プロバイダーにノードを送信させる前に受信したRPCコマンドを検査出来ること及び、トランザクションを効果的に検閲する方法があることを意味しています。

ポケットネットワークとAnkrでは、RPCへのアクセス自体が分散化されているため、個々のノードがRPCコマンドを拒否することを防いでいます。理想的には、このようなインフラは必要なく、個人が自身のノードを立ち上げ、完全に検閲されない方法で使用できるようにすべきですが、中央集権型のインフラに大きく依存し、自身のノードを実行することができないため、残念ながらこれが必要になっているのです。

利点

1.より高い柔軟性:分散型ネットワークは、マスターノードが危険に晒された場合でも、運用を継続することができます。また、分散型ネットワークは、ノードを追加するだけで分散性を高め、十分なコマンド処理能力を確保することができるため、拡張が容易です。

2.プライバシー:ネットワーク上に保存された情報は、複数箇所に分散されるため、ネットワーク上のデータの流れを追跡することが難しくなります。それに加えて、悪意のある行為者が特定の情報を狙うことも難しくなります。

3.パフォーマンスの最適化:ネットワーク事業者は、広大な場所にある単一の中央集権型サーバーへの接続をルーティングするのとは対照的に、ユーザーの活動が活発な場所にマスターノードを作成することができます。

トレードオフ

1.高い維持コスト:分散型ネットワークでは、システムをサポートするために複数のデバイスに依存するため、デバイスの十分な稼働時間を確保するためのメンテナンスは、個人の努力に依存することになります。

2.トランザクション処理能力の低下:最適な分散化を達成すると、ネットワークの処理能力が低下する傾向があります。より多くのマイナーがコンセンサスを通じてネットワークを確保すると、取引速度は低下する可能性があるのです。

主な該当者:Pocket Network, Ankr

そもそも、Web2とWeb3のノードインフラは異なるのか?

Web3 では、中央集権型のインフラサービス (IaaS:Infrastructure-as-a-Service) プロバイダーが所有及び運営する閉じたネットワークにアクセスする代わりに、ユーザーは公開ネットワークにアクセスします。

その公開ネットワークは、ネットワーク上のすべてのノードで実行されるクライアントソフトウェアのコードで定義された厳格なルールを遵守している何千もの独立ノードによって運営されています。

図6:Web2とWeb3のインフラの概要

高いトランザクション処理を達成するためには、まだいくつかの技術的な課題がありますが、インターネットの権力は、データを保有する組織にあることを念頭に置く必要があります。一部の強力な中央集権的ノードプロバイダーに情報が集中すると、Web3のビジョンである分散化されたより公平なインターネットが損なわれてしまうのです。

第2部「イーサリアムのノードマネジメントサービス:3つの選択肢とその利点・欠点とは」は以上となります。第3部では、イーサリアムのステーキングサービスについて紹介予定です。

最後まで読んでいただきありがとうございました。

第3部「イーサリアムステーキングサービスの種類と最新動向 | 業界のトレンドを知る

ニュース/解説記事

Enable Notifications OK No thanks