🤖 新着:Quicknode AIクックブック AIプログラミングの10の実証済みレシピ エージェント.
レシピを見る Web3インフラストラクチャ・スタック:5層構造の完全ガイド |QuicknodeSOC 2 タイプ II 認証取得・ISO 27001
回答>Web3インフラストラクチャのアーキテクチャについて学ぶ>Web3インフラストラクチャのスタック // Tags
Web3スタックブロックチェーン スタック
要約:Web3インフラストラクチャ・スタックとは、コンセンサス層からユーザー インターフェースに至るまで、分散型アプリケーションを支えるプロトコル、サービス、ツールからなる階層型アーキテクチャです。その基盤となるレイヤー1のブロックチェーン は、コンセンサスとスマートコントラクトの実行を提供します。その上位では、ノードアクセスプロバイダーが、アプリケーションとチェーンを接続するRPCエンドポイントを提供します。 データサービス(インデクサー、ストリーミングパイプライン)は、ブロックチェーン の生データをクエリ可能な形式に変換します。アプリケーションサービスは、認証、ストレージ、アイデンティティ、およびクロスチェーン通信を処理します。最上層のアプリケーション層では、フロントエンド、スマートコントラクト、バックエンドロジックが統合され、ユーザー 向けの製品となります。ブロックチェーン 上で構築を行う際、各層とその相互作用を理解することは、適切なアーキテクチャ上の意思決定を行うために不可欠です。
わかりやすい説明
Web3アプリケーションの構築は、家を建てることに似ています。基礎(ブロックチェーン )、配管や電気設備(ノードへのアクセスやデータサービス)、壁や骨組み(アプリケーションサービス)、そして実際に人が暮らす部屋(フロントエンドやユーザー 体験)が必要です。ほとんどの人は完成した家しか目にしませんが、目に見えない各層の質こそが、その家がしっかりしているか、それとも崩れ落ちてしまうかを決定づけるのです。
Web3スタックは、従来のWebスタックよりも複雑です。その理由は、中央集権型データベース(単一の企業が管理・維持するもの)を、分散型ネットワーク(数千人の独立した参加者がプロトコルのルールに従って維持するもの)に置き換えているためです。この分散化により、検閲耐性、信頼不要性、ユーザー 主権といったメリットがもたらされますが、一方で、ブロックチェーン の持つ基本的な機能と、ユーザー が期待する洗練されたアプリケーション体験とのギャップを埋めるために、各レイヤーで専用のインフラストラクチャが必要となります。
レイヤー1:そのブロックチェーン
このスタックの基盤となるのは、レイヤー1(Layer 1)ブロックチェーン です:Ethereum 、Solana 、Bitcoin 、あるいはコンセンサス、トランザクション処理、スマートコントラクトの実行を提供するその他数十のネットワークのいずれかです。L1は「真実の源」であり、どのトランザクションが有効か、現在の状態は何か、そして紛争がどのように解決されるかを決定します。
各L1は、独自のコンセンサスメカニズム(プルーフ・オブ・ステーク、プルーフ・オブ・ワーク、デリゲート型PoS、BFTのバリエーション)、独自の仮想マシンまたは実行環境(EVM、SVM、MoveVM)、独自のトランザクション形式、そして独自のパフォーマンス特性を備えています。Ethereum は最大のエコシステムと最強のセキュリティ保証を提供しますが、スループットは比較的低め(15~30 TPS)です。Solana は高いスループット(数千TPS)と1秒未満のファイナリティを提供しますが、バリデーターセットは小規模です。Bitcoin は最強のセキュリティと分散性を提供しますが、プログラム可能性は最小限です。
レイヤー2ネットワーク(Arbitrum 、Base 、Optimism 、zkSync 、StarkNet )は、L1の機能を拡張しby 、オフチェーンでトランザクションを処理し、証明や圧縮データをL1に送り返して決済を行います。これらはL1のセキュリティを継承しつつ、劇的に高いスループットと低い手数料を実現します。スタックの観点から見ると、L2へのアクセスはL1と同じインフラストラクチャパターン(RPCエンドポイント、インデクサー、データstreams )を通じて行われますが、チェーン固有の設定が適用されます。
スタックのレイヤー2:ノードへのアクセス
ブロックチェーン そのものの上位には、ノードアクセス層があります。アプリケーションはブロックチェーン と直接やり取りすることはありません。アプリケーションは、RPC(リモートプロシージャコール)エンドポイントを介して、ブロックチェーン のノードを通じて通信を行います。複数のチェーンにまたがって独自のノードを運用・維持することは、運用上の複雑さがあり、コストもかかり、専任の担当者を必要とする作業です。これが、ノードアクセスプロバイダーが存在する理由です。
ノードアクセスプロバイダーは、ブロックチェーン ノードからなるグローバルに分散されたネットワークを運用し、APIエンドポイントを通じてそれらを提供します。アプリケーションがRPCリクエスト(残高の確認やトランザクションの送信など)を送信すると、プロバイダーはそのリクエストを正常に動作し、同期が完了しているノードにルーティングし、リクエストを処理して結果を返します。プロバイダーは、ハードウェアのプロビジョニング、クライアントソフトウェアの更新、ハードフォークの管理、同期の監視、フェイルオーバー、スケーリングなど、運用上のあらゆる複雑な処理をすべて担当します。
ノードアクセス層の品質は、アプリケーションのパフォーマンスと信頼性 を直接左右します。エンドポイントの応答が遅いと、ユーザー の操作が重くなります。エンドポイントの信頼性が低いと、ダウンタイムが発生します。エンドポイントのデータが古くなると、誤ったデータが返されます。本番環境のアプリケーションにおいて、この層はインフラストラクチャの中で最も重要な依存要素です。
スタックのレイヤー3:データサービス
RPCエンドポイントを通じて提供される生のブロックチェーン データは、大規模な処理を行う上で扱いが困難です。RPCメソッドサポート はポイント検索(このブロックを取得、この取引を取得、この残高を取得)には対応していますが、複雑なクエリ(過去30日間のこのアドレスからのすべての送金を表示、今週のDEX取引高の合計を算出)には対応していません。データサービスは、生のブロックチェーン データを、アプリケーションが効率的にクエリを実行できる形式に変換します。
インデクサーはすべてのブロックを処理し、トランザクションやイベントをデコードして、構造化されたレコードをクエリ可能なデータベースに格納します。『The Graph』は業界をリードする分散型インデックスプロトコルであり、開発者 は「サブグラフ」を定義することで、どのコントラクトやイベントをインデックス化し、それらをクエリ可能なスキーマにどのようにマッピングするかを指定します。ストリーミングパイプラインを用いて構築されたカスタムインデクサーは、特定のデータ要件を持つチーム に対して、より高い柔軟性を提供します。
ストリーミングサービスは、ブロックが生成されるたびに、リアルタイムのブロックチェーン データをアプリケーションのバックエンド、データベース、およびデータウェアハウスに配信します。アプリケーションが新しいデータをポーリングする(これは低速で、リソースを浪費し、信頼性が低い)代わりに、ストリーミングサービスはデータが利用可能になり次第、それをプッシュします。これが、リアルタイムダッシュボード、イベント駆動型アーキテクチャ、および継続的なデータパイプラインの基盤となります。
アナリティクスプラットフォームは、研究、ビジネスインテリジェンス、プロトコル分析向けに、前処理済みでクエリ可能なデータセットを提供します。Dune Analyticsのようなプラットフォームは、SQLインターフェースを通じてブロックチェーン の履歴データを公開しており、独自のデータインフラを構築することなく、アドホックな分析を行うことができます。
スタックのレイヤー4:アプリケーションサービス
アプリケーション・サービスは、ブロックチェーン への生のアクセスと、ユーザー 向けの機能との間を橋渡しするミドルウェアやユーティリティを提供します。
ウォレット認証(「Ethereum 」によるサインイン、「Solana 」ウォレットアダプター)により、ユーザー は、従来のユーザー名/パスワード認証に代わって、自身のウォレットでメッセージに署名することで身元を証明by できます。これにより、ユーザー のオンチェーン 資産を管理するキーと同じキーを用いて暗号的に保護されたby 、シームレスでパスワード不要のログイン体験が実現されます。
分散型ストレージ(IPFS 、Arweave、Filecoin)は、ブロックチェーン 自体では容量が大きすぎる、あるいはコストがかかりすぎるデータを保存するための場所を提供します。NFT画像、メタデータファイル、アプリケーションアセット、大規模なデータセットは、分散型ストレージネットワーク上に保存され、コンテンツハッシュやURIを通じて参照されます(オンチェーン )。IPFS は、コンテンツアドレス指定型ストレージを採用しており、ファイルは暗号ハッシュに基づいて取得されます(by )。Arweaveは、1回限りの支払いモデルを通じて永続的なストレージを提供しています。
アイデンティティおよびネーミングサービス(ENS:Solana Name Service)は、人間が読みやすい名前をブロックチェーン アドレスに紐付けます。ユーザー は、42文字の16進数アドレスを共有する代わりに、「alice.eth」を共有することができます。また、アイデンティティプロトコルは、評判、資格情報、社会的つながりも集約しますオンチェーン 。
クロスチェーン通信(ブリッジ、メッセージングプロトコル)により、アプリケーションは複数のチェーンにまたがって動作することが可能になります。ブリッジプロトコルはチェーン間で資産を転送する一方、メッセージングプロトコル(LayerZero、Wormhole、Hyperlaneなど)は、異なるチェーン上のスマートコントラクト同士が相互に通信できるようにします。
スタックの第5層:アプリケーション
スタックの最上層には、アプリケーションそのものが位置しています。これは、ユーザー 向けの製品を構成するフロントエンド、スマートコントラクト、およびオプションのバックエンドから成ります。
フロントエンドは通常、React または Next.js で構築され、ウォレットライブラリ(EVM用:ethers.js、viem、wagmi;Solana 用:@solana/web3.js)を介してブロックチェーン に接続します。フロントエンドは、UIのレンダリング、ウォレットへの接続、トランザクションの構築、および状態管理を担当します。また、RPCエンドポイントを通じてブロックチェーン と通信し、GraphQLまたはREST APIを通じてインデックス化されたデータと通信します。
スマートコントラクトは、オンチェーン のビジネスロジックそのものです。これらはブロックチェーン 、immutable by default にデプロイされ、呼び出されるたびに決定論的に実行されます。スマートコントラクトの開発には、Solidity (EVM)、Rust (Solana)、Move (Aptos 、Sui) などの言語が使用され、テストやデプロイには Hardhat、Foundry、Anchor などのフレームワークが用いられます。
バックエンドは、APIの集約、キャッシュ、イベント処理、トランザクションのキューイング、通知の配信、および従来のサービスとの統合といった、オフチェーンのロジックを処理します。一部の単純なdAppは、従来のバックエンドなしで動作することも可能ですが(フロントエンドがRPCやインデックス化されたデータに直接接続する場合など)、実運用環境のアプリケーションのほとんどは、パフォーマンスの最適化、ビジネスロジック、運用管理を提供するバックエンドを活用することでメリットを得ています。
Web3インフラストラクチャ・スタックにはどのような層がありますか?
Web3スタックは、5つの層から構成されており、各層は下位の層に依存していると考えれば最も理解しやすいでしょう。最下層はコンセンサスと実行を担い、中間層はブロックチェーンへの生のアクセスを、利用可能なデータやサービスに変換し、最上層はユーザー が実際に扱う製品となります。信頼性の高いブロックチェーン ノードへの接続が、その中核を成しています。なぜなら、上層のすべての層は、最終的にはノードアクセス層を介して読み書きを行うからです。以下の表では、各層の役割と代表的な例を示しています。
レイヤー | 役割 | 例 |
|---|
レイヤー1とレイヤー2 | 合意形成と実行 | Ethereum,Solana,Bitcoin,Arbitrum,Base |
ノードへのアクセス | チェーンへのRPC接続 | RPCエンドポイント、ノードプロバイダー |
データサービス | オンチェーン データのクエリおよびストリーム処理 | インデクサー、ストリーミングパイプライン、分析 |
アプリケーションサービス | ミドルウェア:認証、ストレージ、ID管理 | ウォレットでのログイン、IPFS 、ENS、ブリッジ |
用途 | ユーザー~向けの製品 | フロントエンド、スマートコントラクト、バックエンド |
Web3スタックは、従来のWebスタックとどのように異なるのでしょうか?
最大の違いは基盤層にあります。従来のアプリは、ある企業が所有するデータベースに対して読み書きを行うのに対し、Web3アプリは、by プロトコルのルールによって管理される分散型ネットワークに対して読み書きを行います。この切り替えにより、Web2には直接対応するものが存在しない層が追加されます。具体的には、チェーンにアクセスするためのノードアクセス層と、オンチェーン のデータをクエリ可能にするためのデータサービスです。これらの要素がどのように連携しているかについてより詳しく知りたい場合は、「Web3インフラストラクチャの仕組み」をご覧ください。
Web3インフラは自社で構築すべきか、それとも購入すべきか?
独自のノードやインデクサーを運用することも、各レイヤーごとにマネージドプロバイダーを利用することも可能です。セルフホスティングでは最大限の制御が可能ですが、その一方で、ハードウェアのプロビジョニング、クライアントのアップグレード追跡、ハードフォークへの対応、同期状況の監視、オンコール当番の体制整備など、インフラ管理がフルタイムの運用業務となってしまいます。サポート 追加するチェーンごとに、コストとリスクは倍増します。チーム のほとんどの場合、複数のネットワークにまたがってノードを運用する現実的なコストは、それがもたらす制御権を上回ります。これが、古典的な「自社構築か外部調達か」という判断の核心です。正しい答えは、equipe の規模、予算、そしてコアインフラが製品にとってどれほど重要かによって異なります。
Web3インフラプロバイダーはどのように選べばよいでしょうか?
ノードアクセス層は他のすべての層が依存する基盤であるため、アプリケーションを常に稼働状態に保つための品質という観点からプロバイダーを評価する必要があります。ノード信頼性 は、読み取り操作で正確かつ最新のデータが返されるかどうかを決定し、高可用性は、 エンドポイント トラフィックが急増したり、リージョンがダウンしたりした際にも到達可能かどうかを決定します。チェーンの幅(サポート )は拡張を計画している場合に重要であり、インデックス作成やストリーミングといった上位レイヤーが備わっていれば、複数のプロバイダーを組み合わせるのではなく、1つのプロバイダーに統合することができます。価格モデルとレート制限は、コストとスループットの上限の両方を左右するため、比較の重要な要素となります。
よくある質問
Web3スタックには何層あるのでしょうか?
ほとんどのモデルでは、5つの層が定義されています。すなわち、ブロックチェーン (レイヤー1およびレイヤー2)、ノードアクセス、データサービス、アプリケーションサービス、そしてアプリケーションそのものです。具体的な層の数はby の著者によって異なりますが、重要な点は、各層がその下の層に依存しているため、いずれかの層に弱点があると、その上のすべての層に影響が及ぶということです。
スタックの中で最も重要なレイヤーはどれですか?
本番環境では、通常、ノードアクセス層が最も重要な依存関係となります。これは、すべての読み取りおよび書き込みがここを経由するためです。エンドポイントの応答が遅かったり信頼性が低かったりすると、製品の動作が重くなったり正常に動作しなくなったりするため、この層において自動フェイルオーバーなどの機能が極めて重要となるのです。
Dappを構築するには、インデクサーが必要ですか?
アプリ の標準機能ではRPCエンドポイントから直接データを読み取ることができますが、複雑なクエリ(by アドレスの転送、集計ボリューム、履歴検索など)が必要な場合は、ブロックチェーン のインデックス機能を活用すると効果的です。この機能では、デコードされたデータがクエリ可能なデータベースに格納されるため、各クエリの処理が高速化されます。
1つのプロバイダーでスタック全体をカバーすることは可能でしょうか?
確かに、その傾向はますます強まっています。一部のプロバイダーは、ノードへのアクセス、データサービス、およびアプリケーションサービス層の一部を網羅しており、これにより、RPC、インデックス作成、ストリーミング、ストレージの各機能について別々のベンダーを統合するのではなく、単一のプラットフォーム上で構築することが可能になります。
レイヤー2はスタックのどこに位置するのでしょうか?
レイヤー2ネットワークは、レイヤー1ネットワークと同様にベースレイヤー上に存在します。スタックの観点からは、RPCエンドポイント、インデクサー、およびstreams を通じて、レイヤー1ネットワークと同じ方法でアクセスされますが、チェーン固有の設定が適用されます。
Quicknode がスタック全体でどのように位置づけられるか
Quicknode Web3スタックの複数のレイヤーにわたるインフラストラクチャを提供します。ノードアクセス層では、Core APIが80以上のチェーンにわたって、99.99%の稼働率と、世界中に分散された低遅延のノードを備えた、本番環境レベルのRPCエンドポイントを提供します。データサービス層では、Quicknode Streams が、順序保証、再編成(reorg)処理、およびリアルタイムストリーミングと履歴データのバックフィル双方に対応したサポート を備えたプッシュ型データ配信を提供します。 アプリケーションサービス層では、Quicknode が分散型ストレージ向けのIPFS ゲートウェイとピンニング機能、マーケットプレイス がAPI機能を強化するアドオン、そしてQuicknode SDK が統合プロセスを効率化するソリューションを提供しています。
このフルスタックな対応により、開発者 は、各レイヤーごとに別々のプロバイダーをつなぎ合わせるのではなく、単一のインフラストラクチャプラットフォーム上で構築することができます。アプリケーションが単一チェーンのDeFiプロトコルであれ、数十のネットワークにまたがるマルチチェーン プラットフォームであれ、Quicknode は、その他すべての基盤となるインフラストラクチャを提供します。
参考資料