長年にわたり、アプリケーション チェーン理論はさまざまな方法で実装されてきました。ブロックチェーン開発者は、dApps の実行に関わる作業の一部をアウトソーシングすることでプラットフォームをより効率的に拡張できることに気づき、モジュール性の必要性が時間の経過とともに高まっています。
当初はソブリン チェーン専用であり、多くの場合インターチェーン スタックを使用して構築されていましたが、アプリケーション チェーンの進化には、現在では Cosmos Hub からセキュリティをリースするコンシューマ チェーンや、レイヤー 1 チェーンに依存して何らかの決済やブリッジング作業を実行するロールアップが含まれています。見事に。これらの変更により、セキュリティに関するさまざまな前提条件と対処する必要がある問題が生じます。 Celestia は、データの可用性と呼ばれる特別な問題を解決することを目的としていますが、この問題がプロジェクトにどのように関係するかを説明する前に、Web3 の最新の流行語であるモジュール性を理解してみましょう。
イーサリアムやソブリン #Cosmos チェーンを含む単一レイヤー 1 チェーンによって実行される作業は、おおまかに 4 つのレイヤーに分けることができます。
実行層はトランザクションを処理し、チェーン上の状態を更新する役割を果たします。例: 友人がトークンを送ってきたときにウォレットの残高を更新します。
決済ブリッジ層はトランザクションを完了する責任を負い、むしろトランザクションが有効であることを合理的な疑いを超えて確認する責任があります。これは特に要約に当てはまりますが、これについては後で説明します。最近では、決済層は、ロールアップがより広範なブロックチェーン ネットワークと通信する方法を提供するブリッジ層として見なされることが一般的になっていますが、決済自体はより物議を醸すトピックとなっています。 Cosmos Application Chain のような通常のネットワークでは、実行層に到達する前にコンセンサス層が各トランザクションを効果的に検証するため、決済は無料です。
コンセンサス層は、ブロックに含まれる内容とトランザクションの順序付けについて複数の当事者が合意する場所です。
データ可用性レイヤーは、ネットワークに送信された正しいトランザクションに全員が確実にアクセスできるようにする責任があります。後で説明するように、決済層は実行層が誠実であることを検証するためにこれらのトランザクションにアクセスする必要があります。
Cosmos SDK ベースのチェーン (独自のバリデーターのセットがあり、主権アプリケーション チェーンとして実行される) のコンテキストでは、コンセンサス層は基本的にデータの可用性とトランザクションの最終的な決済を担当します。ただし、Interchain Security のような共有セキュリティ ソリューションを選択しない限り、ソブリン チェーンを起動するには、一連のバリデーターとプルーフ オブ ステーク トークンが必要です。トークンを使用してチェーンを立ち上げる際の法的および運用上の複雑さに加えて、スケーラビリティについても注意する必要があります。
アグリゲーションによる効率的なスケーリング
ウェブが成長するにつれて、スケーラビリティのトリレンマがより明らかになります。一見すると、ブロックチェーンはネットワークのセキュリティ、分散化の程度、または 1 秒あたりに処理できるトランザクション数の点で犠牲を払わなければならないように思えるかもしれません。チェーン全体としては、従来、一方のチェーンを改善するには他方のチェーンが犠牲になってきました。ただし、モジュラー プロトコルで行われた作業を通じて、このトリレンマの一部のコンポーネントがモジュラー スタックの各層に固有であることがわかります。
たとえば、トランザクションを受け入れて状態変更を処理する実行層には、高速なスループットが必要です。分散型で安全かどうかは、正しいトランザクションが実行されていることを保証し検証するのに十分な分散型で安全な決済層、コンセンサス層、データ可用性層がある限り、おそらく無関係です。実行層でのある程度の分散化はネットワークの活性化に貢献しますが、あらゆる形態の不正行為を防止するためには重要ではありません。言い換えれば、ネットワークに関する信頼の前提には影響しません。
モジュール式ブロックチェーン スタックを使用すると、開発者はブロックチェーンの運用に必要な作業の大部分をアウトソーシングできます。アプリケーション開発者は実行層に対して全責任を負い、これによりスケーラビリティが向上し、開発時間が大幅に短縮されます。これが、ロールアップが現在非常に効果的で人気がある理由です。ロールアップ (レイヤー 2 とも呼ばれます) を使用すると、1 つ以上のサーバーが、遅いコンセンサス アルゴリズムがブロックの内容に同意するのを待たずに、オフチェーンでトランザクションを実行できます。これは安全ではないように思えるかもしれませんが、いわゆるゼロ知識 (ZK) 集約の場合に計算コストのかかる有効性の証明を提供するか、オペレーターが証明を送信できるノードに時間枠を提供することで、重大なリスクを負うことなくこれを実行できます。楽観的な集計の場合と同様に、誰かが不適切な行動をとった証拠として失敗を検出します。ただし、このフレームワーク内では、データの可用性の問題という新しい問題が発生します。
データの可用性の問題とは何ですか?
ユーザーがロールアップでトランザクションを送信すると、メッセージはシーケンサーに直接送信されます。シーケンサーは通常、オフチェーン プロセスを通じてこれらのトランザクションをバッチ処理する非常に高速なコンピューターにすぎません。より小さいサイズに圧縮した後、バッチはイーサリアムなどの決済レイヤーに送信されます。これらのネットワークではブロック スペースの需要が高いため、これは個々のトランザクションを決済層に直接公開するよりもはるかに安価なソリューションです。現在、ほとんどの集約では単一のシーケンサー (つまり、並べ替えを実行する 1 つのエンティティ) が使用されていますが、共有シーケンサーが検討されています。ユーザーは決済層で確認できる有効性証明または失敗証明を通じてトランザクションの実行が有効であることを保証できるため、これは一般に安全です。ただし、集約では、シーケンサーが送信されたトランザクションについて誠実であり、全員に同じデータを送信しているという保証はありません。
これがデータ可用性の問題の性質です。決済層、またはネットワークを監視するフルノードは、アグリゲーションによって実行されている作業を検査する役割を担っており、これを行うにはトランザクション データが必要です。デフォルトでは、集計では、シーケンサーがすべての受信トランザクションをブロックに処理したこと、またはブロックに追加されたすべてのトランザクションがパブリック ドメインにあることを簡単かつ安価に証明できません。その結果、シーケンサーはユーザーが送信した取引データを検閲したり、さらに悪いことに決済層による検証を妨げたりする可能性があります。
この種の検閲は技術的には通常のブロックチェーンでも発生する可能性がありますが、プルーフ・オブ・ステーク・ネットワークには多数のバリデーターが存在し、そのうちの 1 人だけが正直である必要があるという事実により、実際には不可能です。しかし、より重要なのは、トランザクションはコンセンサスプロセスを通じてすでに決済されているため、決済レイヤーでは検証のためのデータが必要ないことです。

#Celestia この問題を解決するにはどうすればよいですか?
#Celestia は、Cosmos SDK を使用して構築されたレイヤー 1 ブロックチェーンであり、集約サービスとしてデータの可用性を提供します。最も一般的には、Celestia ネットワークはシーケンサーからすべての受信ユーザー トランザクションを受信しますが、ロールアップの構成によっては、これらのトランザクションが実行のためにロールアップに入る前の最初の受信者になることもあります。例を使用して、トランザクションの観点から説明してみましょう。ここでは、Cosmos SDK に基づいたオプティミスティック ロールアップとして構築された、Roll Protocol という架空のネットワークを想定します。
Keplr を使用して、Roll プロトコル経由で友人に $ROLL トークンを送信しているとします。送信トランザクションは、送信されると、まずロール プロトコルのシーケンサーに送信されます。
シーケンサーは、Roll プロトコルのオフチェーン プロセスを実行するコンピューターであり、すべてのトランザクションを調べ、Roll プロトコルの現在の状態に対してテストして、トランザクションが実際に有効であるかどうかを確認します。送信するメッセージについて、有効な受信者アドレスが含まれているかどうか、友人に送信するのに十分な $ROLL トークンがあるかどうかなどがチェックされます。
次に、有効なトランザクションがブロックに収集され、シーケンサーによって実行されます。これは、ストレージに変更が加えられることを意味します。あなたとあなたの友人のウォレット残高は、交換されたコインを反映して更新されます。
トランザクションを含むこのブロックは、シーケンサーによって Celestia と共有され、「ロール プロトコル」名前空間の下に配置されます。これは実際には、データを簡単に分離するためのラベルにすぎません。その後、Celestia ネットワーク上のバリデーターがブロックの内容に同意し、ネットワーク上で最終的に決定され、すべてのノードに配布されます。
同時に、ブロックの一部である成功したすべてのトランザクションはシーケンサーによってバッチに変換され、決済レイヤーに送信されます。決済レイヤーは通常、イーサリアムのようなレイヤー 1 チェーン上の単なるスマート コントラクトです。決済層は、誰かが特定のトランザクションが無効であることを発見した場合に、失敗の証明が送信されるブロックチェーンです (たとえば、友人にコインを送るための資金が実際にはありません)。しかし、誰がこの仕事をしているのでしょうか?
別の dApp (DEX など) によって実行される他のフル ノードも、シーケンサーの実行と同時にトランザクションを実行します。これにより、最新の状態を維持し、残高などの最新情報を提供できるようになります。さらに、無効な取引がないかどうかを事前に確認できます。そうである場合、失敗の証明が決済層に送信されます。
楽観的な集計では、取引が決済されるまでに時間がかかることを覚えているかもしれません。フル ノードを操作しているエンティティを信頼している限り、それらのフル ノードに事前に有効性をチェックさせることで、ユーザーはオプティミズム ウィンドウが閉じる前にトランザクションを「最終」とみなすことができます。このシステムを「最小限の信頼」と呼ぶのは、楽観的な時間枠をスキップするには、ネットワークに多数の正直なノードのうち少なくとも 1 つが含まれていることを真に信頼するだけでよいためです。
シーケンサーが無効なトランザクションを実行した可能性があるため、シーケンサーが不正に動作しているかどうかをテストするには、フルノードと決済層が Celestia に公開された一部のデータにアクセスする必要があります。幸いなことに、Celestia ネットワークは、以前にバッチに含まれていたすべてのロール プロトコル受信トランザクションを含むブロックを公開したため、必要が生じた場合に注文者の完全性を証明するために必要な情報を入手できると確信しています。
Celestia は各トランザクションに何が含まれているかを気にしないことに注意してください。実際、Celestia には同じ言語を使用する実行環境がないため、これらのトランザクションを理解することさえできません。このモジュラースタックを通じてこれらの懸念を分離することで、注文者はトランザクションの迅速な実行に集中でき、決済層はセキュリティに集中してブリッジ機能を提供でき、コンセンサス層とデータ可用性層は分散化に集中できます。これにより、ネットワーク操作を担当する各サブコンポーネントが高度に専門化されるため、スケーラビリティと最適化が大幅に向上します。
この例では Cosmos SDK ベースのロールアップを使用していますが、EVM 互換のロールアップは除外されません。 Celestia は EVM エコシステムのデータ可用性レイヤーとしても動作し、イーサリアム上の EIP-4844 (Danksharding とも呼ばれる) などの代替手段よりもおそらくはるかに安価です。
アグリゲーションチェーンとソブリンチェーンの比較
ロールアップを構築し、Celestia ネットワークを使用することには多くの利点があります。すでにインターチェーンを開発している場合は、使い慣れたツールやソフトウェアを引き続き使用しながら、プロトコルのスループットを向上させ、ネットワーク上のバリデーターの必要性を排除し、必要に応じてトークンなしで起動することもできます。ロールアップの構築とソブリン アプリ チェーンの違いをいくつか見てみましょう。
スケーラビリティと効率: Celestia を使用したロールアップは、通常、ソブリン Cosmos SDK チェーンと比較して優れたスケーラビリティと効率を提供します。これは、ロールアップによってトランザクション処理の大部分がレイヤー 2 に移動され、より多くのトランザクションをより高速に処理できるようになりますが、ソブリン チェーンはコンセンサス アルゴリズムによってボトルネックになっているためです。アプリケーションで大量のトランザクションが必要な場合は、ソブリン チェーンよりもロールアップの方が適している可能性があります。この場合、アプリケーションは決済レイヤーでトークンを消費する必要があり、Celestia は公開するデータの量を削減しますが、選択したチェーンによってはコストが高くなる可能性があります。
ライブ性と分散化: ロールアップは通常、単一のシーケンサーを使用して実行されます。効率的な共有シーケンサーを構築するための研究が進行中ですが、この作業はまだ時代の先を行っており、プールの効率が低下する可能性があります。現在、実行レベルでの分散化は実際には存在しません。したがって、シーケンサーがオフラインになると、ロールアップの冗長性と稼働性に影響が出るリスクが大きくなります。冗長メカニズムを設計することはできますが、ロールアップ開発者は、ソブリンブロックチェーン上のバリデーターによって通常共有されるインフラストラクチャの複雑さを継承します。
セキュリティ: ロールアップは基礎となる決済層のセキュリティを利用しますが、ソブリン チェーンは独自のネットワークのセキュリティを確保する必要があります。ソブリン Cosmos SDK チェーンの使用を選択した場合は、ネットワークを保護するための大規模で多様なバリデーターのセットと、(プルーフを使用する場合に備えて) 賭け金を賭けるのに十分な時価総額があることを確認する必要があります。トークン。ロールアップを使用すると決済層のセキュリティを継承できるため、アプリチェーンの要件の一部を自分で実装するのが難しい場合に役立ちます。
複雑さ: ロールアップ システムの構築は、Cosmos SDK を使用してソブリン チェーンを作成するよりも複雑になる場合があります。これは、ロールアップ、Celestia、決済層の間のやり取りを管理する必要があるためです。チームに集約の経験がない場合、または追加の複雑さに対処したくない場合は、ソブリン チェーンの方が良い選択となる可能性があります。ただし、Rollkit フレームワークを使用すると、開発プロセスがはるかに簡単になり、比較的簡単にロールアップを構築できるようになります。
相互運用性: Cosmos SDK チェーンは、異なるチェーンの相互運用を可能にするブロックチェーン間通信 (IBC) プロトコルの恩恵を受けます。ロールアップは他のチェーンと対話できますが、詳細は特定の実装に依存し、より複雑になる場合があります。ほとんどの場合、アグリゲーションでは決済レイヤーをブリッジング ハブとして使用します。