技術解説

ブロックチェーンにおけるフルノードの役割と、その肥大化など恒久的に考えられる問題の理解や解決アプローチについて

d10n Labでは、レポート「ブロックチェーンにおけるフルノードの役割と、その肥大化など恒久的に考えられる問題の理解や解決アプローチについて」を配信しました。

前提・ブロックチェーンのフルノードが肥大化する問題

本レポートでは、運用の時間に比例をしてブロックチェーンが肥大化、すなわちフルノードの運用コストが上がっていき、そのコストの増加とともにネットワークが少数のフルノードに依存をするというブロックチェーンにおける恒久的な問題についての理解とそれについての解決策の提案について概観をします。
フルノードは、ブロックチェーンが運用を開始されてから最新のブロックチェーンのデータを全て保持します。
これはどのブロックチェーンのフルノードであるかによりますが、P2Pで他のフルノードと接続をして同期をし続けるには、十分なストレージとメモリがあることが必要とされます。
これに対して、ライトノード(ライトクライアント、またはSPVノードなど様々な呼称と実装パターンがありますが、総称してライトノードと呼ぶことにします。)はブロックチェーンの全ての情報を持ち合わせていません。

スマートフォンのウォレットや、一般的なユーザーが使用をしているクライアントは全てライトクライアントです。

ブロックチェーンの種類、または同じブロックチェーンの中でも実装は様々ですが、基本的に全てのライトノードが、ネットワーク内のフルノードと通信をするための最小限の情報しか持ち合わせていません。
最小限の情報しか持ち合わせていないので、多くのストレージやメモリを必要とせず、スマートフォンなどでも実行できるようにデザインされています。

一般的に1万のフルノードがあるネットワークと、100のフルノードしかないネットワークでは、当該ブロックチェーンへの信頼は異なります。

ネットワーク全体のデータを保持し、検証可能な人(フルノード)は多ければ多いほど分散ネットワークという観点では望ましいです。
Bitcoinにおいて、スケーラビリティの議論が長引いていた際、core開発者らの主張のひとつに、マイナーが集中化することの他に、ブロックサイズをあげるとフルノードを運用するコストがあがり、ネットワークからフルノードが少なくなることが大きな懸念として主張をされていました。
スケーラビリティの問題では、PoSやShardingの導入、サイドチェーンの実装に多くの焦点があてられますが、持続性のあるフルノード配備性も、ブロックチェーンの分散性とスケーラビリティを考えるのに、非常に重要な要素です。

フルノードの役割・フルノードを保持していることの利点

本題に入る前に、フルノードの役割と、フルノードを保持していることの利点について簡単に振り返ります。
フルノードオペレーターはマイナーやバリデータと別のノードです。
ブロックチェーンにおいて、PoWであればスnonceを探索したマイナーがブロックを作成、PoSであればステーキングをしたバリデータがブロックを作成します。
一方フルノードは、nonceの探索やトークンのステークをしていなく、またブロックの作成はしていないですが、ブロックやトランザクションを検証します。
各新しいブロックがブロックチェーンのコンセンサスを守って生成されていることを確認し、有効なブロックを他のノードに伝達する役割があります。

つまり、マイナーやバリデータが正当に仕事をしているか監視をしているノードのようなものです。
ライトノードと呼ばれるものはこのフルノードから一部のデータを受信して、ブロックチェーンを参照しています。

つまるところライトノードは、例え秘密鍵を自身で保持していたとしても、マイナー(バリデータ)とフルノードを信用している状態といえ、所謂完全なトラストレスではありません。
つまり、フルノードを保持していないことは、ブロックチェーンのネットワークに本当に接続・参加しているとはいえず、試したことがない人は一度試しにフルノードをセットアップしてみると良いでしょう。
とはいえ、一般ユーザーにとって、ブロックを全てダウンロードし、ネットワークに同期することは現実的ではありません。
また、フルノードの運用には、ストレージと通信のコストが発生し、そのコストは決して高くないですが、運用することによる明確なインセンティブは個人には感じづらいものです。

一般ユーザーでないビジネスレイヤーに関しては、例えばブロックチェーンを分析している様々なツール(ブロックエクスプローラやDappreaderl)、取引所などは、サービス運営にフルノードを必要とされる場面が多く、それぞれ保持しているはずですが、これらの数自体はユーザーの数に比べたら小さなものです。

そういった側面からネットワーク全体では、ラインノードに対して、フルノードの数が少ない、またはこれからさらに少なくなる可能性があることは分散性を保ちたいブロックチェーンにとって恒久的な問題といえます。

d10n Labで配信をしたレポート全文では、具体的にフルノードが少ないことでどのような問題が考え得るかや、それらの対して考えられている解決策・プロジェクトなどについて解説しました。

目次

*前提・ブロックチェーンのフルノードが肥大化する問題

*フルノードの役割・フルノードを保持していることの利点

*フルノードが少ないブロックチェーンで起こりうる問題を顕在化する事例
*フルノードの実装自体を軽量化するアプローチ
*将来に向けての解決アプローチの事例、フルノード運営に経済的インセンティブを与える構想
*将来に向けての解決アプローチの事例 、Merkle treeを分割してライトノードが出来ることを増やす構想
*総論

d10n Labではより深く高品質なレポートの配信、ブロックチェーン領域におけるインサイトを高頻度で配信しています。
一度、ご入会して頂くと、過去の500本以上のレポートやコラムが全て閲覧できる他、毎月様々なゲストを呼んで行っている定例放送の過去ログ、不定期で行っているイベントなどにアクセスできます。(入会はこちらから)

暗号通貨とブロックチェーンは、インターネット以来の大きいイノベーションであり、私たちの世代にとって最も大きいインパクトを与えパラダイムシフトを起こすと考えています。

d10n Lab(ディーテンエヌラボ)は、未来を思考する離合集散的なコミュニティオンラインサロンです。

暗号通貨のこと全般・投資リテラシー・移住など多様なトピックを扱うほか、嗜好が近いメンバーとも出会える場を目指しています。読みたいレポートをリクエストしたり、リサーチャーがマネタイズできるリサーチプログラムもあります。

FOR MORE DETAILS