著者:
(1) パデュー大学、Zhongtang Luo ([email protected])。
(2) ロハン・ムルクトラ、上掲書 ([email protected])。
(3) Aniket Kate、パデュー大学/スープラ ([email protected])。
III. アプローチI: ローカルで台帳を管理する - フルノードを実行する
IV. アプローチ II: サードパーティの Ledger-Node-As-A-Service (NAAS) をクエリする
V. アプローチ III: ライトノード - 外部クエリとローカル検証
要約— 多くの研究がブロックチェーンを保護するさまざまな方法に焦点を当てていますが、チェーン上の情報はエンドユーザーがアクセスして初めて有用となります。このポジションペーパーでは、エンドユーザーがブロックチェーンにアクセスするさまざまな方法について調査します。フルノードの実行と信頼できるサードパーティのサービスの完全な利用という両極端の間に、ライトノードに関する多くのソリューションが出現していることがわかります。これらのソリューションを、Web 通信の 3 つの基本的な特性である整合性、可用性、プライバシーに基づいて分析します。現時点では、これら 3 つの特性を維持しながらブロックチェーンにアクセスする最良の方法は、依然としてフルノードを実行することであると結論付けています。将来のブロックチェーン アクセシビリティ サービスは、これら 3 つの期待を考慮しながら構築する必要があると考えています。
ブロックチェーンは、改ざんから保護された、公的に検証可能な取引台帳を維持しようとするノードのグループです。2009年にビットコイン[41]として初めて提案されて以来、ブロックチェーンは金融商品として非常に人気を博しています。ビットコインやイーサリアム[20]などの最もよく知られているブロックチェーンの成功は、主にその分散型の性質と、高度な暗号化プリミティブを使用して複雑な取引を処理する能力に起因しています。現在、大規模な市場を持つブロックチェーンは、21世紀の金融および電子商取引分野における主要なイノベーションになる可能性があります。
既存のブロックチェーン インフラストラクチャの研究とイノベーションの多くは、参加ノードがパブリック台帳 (レイヤー 1 プロトコルと呼ばれる) を維持するための安全で効率的な方法に重点を置いています。ただし、適切に管理された台帳から情報を取得することも簡単な問題ではないことに注意してください。ブロックチェーンが日常生活でより大きな役割を果たすためには、すべてのユーザーがブロックチェーンにアクセスできる状態を維持することが不可欠です。パブリック台帳は、定義上、人々がそれを操作できる場合にのみ役立ちます。
ブロックチェーンに対する最近の関心の高まりを受けて、毎月ブロックチェーンを利用するユーザーが増えており、イーサリアムなどの人気のブロックチェーンでは1日あたり875,000件ものトランザクションが行われている[20]。大量のトランザクションから有用な情報を抽出するには、利益を生み出す行為(マイニングなど)に従事していない標準的なブロックチェーンユーザーにとっても強力なハードウェアが必要であり、ほとんどのブロックチェーンのインセンティブメカニズムではこの問題に対処できないようです。
ビットコインやイーサリアムなどのほとんどのブロックチェーン プロトコルでは、参加ノード (プルーフ オブ ワーク システムのマイナーとプルーフ オブ ステーク システムのバリデーター) は、新しいブロックを台帳に提案する際に少額の手数料を稼ぐことで、台帳を維持するインセンティブが与えられます。これらのブロックチェーン プロトコルの参加ノードは、利益を確保するためにトランザクションを収集し、生のブロックをブロードキャストするインセンティブは与えられますが、維持している台帳に関する詳細な情報を公開するインセンティブは与えられません。次の 2 つの例を考えてみましょう。(1) ユーザーは、自分のビットコイン ウォレットにコインがいくつあるかを知りたい。(2) ユーザーは、実行したいスマート コントラクトの現在のステータスを知りたい。
これらの例と同様に、ユーザーが知りたい情報のほとんどは、マイナーやバリデータが公開する生のブロックとは直接関係がありません。ユーザーは資産を第三者の取引所に完全に委託し、取引所から情報を入手することもできますが、最近のFTX崩壊[31]からもわかるように、このアプローチは非常にリスクが高いです。そのため、ブロックチェーンユーザーは、所有する計算能力を利用するか、第三者のサービスプロバイダーに頼るかのいずれかの方法で、ブロックからそのような情報を抽出する方法を考案する必要があります。
本稿では、ブロックチェーンから精緻な情報を取得するためにユーザーが実際に採用している現在の 2 つの方法を比較します。1 つの方法は、フルノードをローカルで実行することです。この方法では通常、外部に依存せずにブロックチェーンから多くの情報を抽出できます。ただし、場合によっては、Ethereum アーカイブ ノードや Solana RPC ノードなど、クエリを高速化するために追加のインデックスが保持されます。もう 1 つの方法は、サードパーティのサービス プロバイダーに依存することです。特に Ethereum では、フルノードの実行コストが増加するにつれて、多くのユーザーが独自のセキュリティ リスクを伴うサードパーティ サービスに目を向ける傾向があることがわかります。フルノードを実行し、信頼できるサードパーティ サービスをフルに活用することは、ブロックチェーンのアクセシビリティに関する 2 つの極端な例であることがわかります。1 つは、依存が最小限でハードウェア要件が最大の場合、もう 1 つは、依存が最大でハードウェア要件が最小の場合です。
また、ブロックチェーン上の必要なデータが特定かつ限定的である場合、たとえばユーザーが所有する1つのアドレスのみを気にする場合など、特定のウォレットソフトウェアがユーザーに利用可能であることにも気付きました。ウォレットソフトウェアの中には、外部ノードに直接データを照会するものもあれば、ブロックチェーンの一部をダウンロードして直接分析し、ユーザーが気にする情報を取得するものもあります。私たちは、このようなソフトウェアを特定のライトノードとして分類しています。一方、私たちは、あらゆる情報を提供できるユニバーサルライトノードを実現する最近の傾向について概説します。
ブロックチェーンは、Ethereum [24] が提案したような 1 つのアドレス [12] だけではなく、複数のユーザーにまたがる、いわゆる超軽量ノードも研究されています。現在の研究には、Flyclient [10] などの超軽量ノードも含まれます。これは、フルノードのみに依存する従来の軽量ノードよりも、検証のための追加のコンテキストを提供するサードパーティのサービス (このコンテキストでは証明者とも呼ばれます) への依存に近づいています。図 1 は、ブロックチェーンにアクセスするためのさまざまな方法の一覧を示しています。
ブロックチェーンにアクセスする方法は数多くありますが、Web サービスの基本である整合性、可用性、プライバシーを検証することは依然として重要だと私たちは考えています。ブロックチェーン自体は分散化の技術ですが、少数の第三者に過度に依存することはこの前提に反します。データの正確性を検証する方法がなければ、その第三者が誤ったデータを提供した場合に整合性が損なわれる可能性があります。アクセシビリティの提供を特定の第三者に過度に依存すると、彼らがサービスを提供できない、または提供したくない場合に可用性が影響を受ける可能性があります。プライバシーも、第三者に問い合わせる際に対処する必要がある懸念事項です。
市場にある既存のプロトコルを調査したところ、その多くに少なくともこれらの側面の 1 つに欠陥がある可能性があることがわかりました。現在、整合性、可用性、プライバシーを維持しながらブロックチェーンにアクセスする最善の方法は、依然としてフルノードをローカルで実行することです。ブロックチェーンと対話するプロトコルを設計する際には、機能性を確保するためにこれら 3 つの側面に注意を払うことが重要であると考えています。
この論文は、CC BY-NC-ND 4.0 DEED ライセンスの下でarxiv で公開されています。