Rooch Network:ビットコインのネイティブアプリケーション層と未来のエコシステムビルダー
著者:Rooch Network
Rooch Network とは?
Rooch Network は Bitcoin のネイティブアプリケーション層であり、スタッキング型 L2 ソリューションに基づいて、ユーザーと開発者に Bitcoin 資産のスタートプラットフォームと Bitcoin アプリケーションインフラを提供します。
なぜ Rooch Network が必要なのか?
2023 年の Bitcoin エコシステムでは、さまざまな新しい資産プロトコルが登場しました。これらの新しい資産の特徴は、Bitcoin 上で資産の所有権を登録し、有効性をオフチェーンで検証することにあります。これらはクライアントサイド検証(Client side validation)に基づく資産と総称されます。これらの新しい資産プロトコルが示す Bitcoin エコシステムの展望とは何でしょうか?業界にはさまざまな見解がありますが、私たちは Bitcoin 上の新しい資産プロトコルが新しいアプリケーションエコシステム構築のパラダイムを示していると考えています。
クライアントサイド検証資産は、資産の有効性をオフチェーンで検証するため、クロスレイヤー資産移転プロトコルを設計することができ、実際に資産をオンチェーンからオフチェーンに移転し、デジタル世界で「現金」の効果をシミュレートします。これにより、資産の使用シーンはチェーンのスケーラビリティの問題に制約されることなく、新しいスケーリングソリューションを提供し、アプリケーションに無限の可能性をもたらします。
同時に、このモデルは新しいアプリケーションエコシステムの立ち上げモデルを示唆しています。アプリ内資産を通じてユーザーを引き付け、ユーザーコミュニティを構築し、その後コミュニティ内でアプリケーションが生まれ、アプリケーションのコールドスタート問題を解決します。
では、このモデルにはどのようなインフラが必要でしょうか?
- まず、オフチェーンでスケーラブルなアプリケーション環境が必要です。この環境は、オンチェーン資産プロトコルに検証サービスとスケーラビリティを提供し、アプリケーションを実行し、資産にアプリケーションシーンを提供します。
- 次に、資産のクロスレイヤー移転プロトコルが必要です。これにより、資産をオンチェーンからオフチェーンに移転できます。
- 最後に、オフチェーンアプリケーションを相互接続するネットワークが必要で、アプリケーション間の相互運用性を保証します。
これが Rooch Network が探求し、試みる方向性です。
技術的なソリューションとロードマップ
検証可能なアプリケーションコンテナ(VApp Container)
オフチェーンのアプリケーション環境は、まず検証可能であることを保証する必要があります。検証可能性は分散型の前提条件です。私たちは検証可能なアプリケーション(Verifiable App)を VApp と略称しています。
スマートコントラクトが計算の検証可能性を保証し、状態ツリーが状態の検証可能性を保証し、これらを組み合わせることで検証可能なアプリケーションコンテナが形成されます。
Rooch チームは1年間の開発を経て、Move 言語の VApp コンテナを完成させました。これには以下のモジュールが含まれています:
- MoveOS:MoveVM とスタッキングされた状態ツリーを含み、アプリケーションに実行環境を提供し、アプリケーションの状態を保存し、計算と状態の検証可能性を保証します。
- Move 基本ライブラリおよびフレームワーク:Move Stdlib、MoveOS Stdlib、RoochFramework、BitcoinMove などを含み、アプリケーションにアカウント抽象、資産定義、Bitcoin プロトコル実行などの基本機能を提供します。
- 基本的な開発ツール、RPC インターフェース、インデックスサービス、および SDK。
このアプリケーションコンテナに基づいて、アプリケーション開発者はほぼすべての Web2 アプリケーションを Move 言語で実装し、検証可能なアプリケーションに変えることができます。Rooch は同時に WASM 仮想マシンを導入し、Move 仮想マシンがアプリケーションロジックを実行し、状態を管理し、WASM 仮想マシンが拡張能力を提供し、開発者が既存のプログラミング言語のライブラリを再利用しやすくします。
Root から Bitcoin へ
VApp コンテナができたら、Bitcoin と統合する必要があります。Rooch が採用するソリューションは、VApp コンテナ内で Bitcoin ネットワーク上のすべてのブロックを実行し、UTXO および UTXO に追加された拡張プロトコルを検証し、Move のオブジェクトに変換し、Bitcoin に L1 状態を含む L2 ソリューションを提供することです。
このスマートコントラクト層は主に3つの能力を提供します:
- Bitcoin エコシステムアプリケーションに Bitcoin の状態証明を提供します。Bitcoin 上の状態、UTXO や Inscription などはすべて状態ツリーに含まれるため、状態ツリーのルート(Root)を Bitcoin ネットワークに書き込むことで、Bitcoin エコシステムアプリケーションに Bitcoin の状態証明を提供できます。特定のブロック高で、ユーザーが特定の UTXO または特定の Inscription を所有しているかどうかを証明できます。
- Bitcoin L1 の資産プロトコルに拡張能力を提供します。既存の資産プロトコルに基づいて新しいプロトコルを拡張する主な作業は、新しいプロトコルの検証ルールを定義し実装することです。これらはスマートコントラクトプロトコルプラグインの形で実現できます。これにより、開発者は新しいインデクサを構築する必要がなくなります。
- Bitcoin 上のすべてのデータおよび資産にプログラマブルな能力を提供し、アプリケーションシーンを創出します。
Bitcoin の全量状態を持つことで、上に L2 の状態をスタッキングし、Bitcoin 上のデータと資産に基づいてアプリケーションシーンを作成できます。主にいくつかのソリューションがあります:
Bitcoin L1 資産で決済
主に「原子交換(opens in a new tab)」、「PSBT(opens in a new tab)」、「オンチェーン決済がオフチェーン決済をトリガーする」3つのモデルがあります。これらのモデルはすべて交換または支払いシーンに適しており、直接 Bitcoin 上で決済を行い、開発者は Rooch が提供するスマートコントラクトを利用して取引注文の表示、マッチング、および Bitcoin との決済を簡素化できます。
原子バインディング
UTXO と Move オブジェクトの原子バインディングを通じて、L2 の資産を Bitcoin L1 の資産にバインドし、L2 上の資産の所有権が Bitcoin L1 資産の移転に伴って移転します。例えば、L1 上に土地を表す Inscription があるとします。そして、L2 上に家を建て、その所有権が L1 の土地にバインドされ、土地を移転するときに家も一緒に移転します。
派生資産
Bitcoin L1 の資産を利用して新しい資産を派生させることは、既存の資産に基づいて新しい資産を発行する一つのモデルです。例えば、特定の L1 資産を保有していると、特定の L2 資産を得ることができます。
アイテムとアイデンティティマーク
アプリケーション内で Bitcoin L1 の資産をアイテムまたはアイデンティティマークとして使用します。例えば、特定の Inscription がゲーム内の装備を表し、直接 L2 のゲームで使用されます。または、L1 の資産を使用して投票ガバナンスを行います。
Bitcoin スクリプトのプログラミング
スマートコントラクト内で Bitcoin のスクリプトおよび取引を生成し、L2 で構築された制約(ガバナンスまたは担保)を通じて、ユーザーがこの取引に署名し、L1 のブロックに含める必要があることを保証します。そうでない場合は罰せられます。この特性を利用して、Bitcoin 上のオンチェーンマルチシグウォレット、DAO、およびマルチシグブリッジに追加のセキュリティ保証を提供できます。
さらに多くのモデルを探求する必要があります。このモデルを「スタッキング型」のアプリケーション構築モデルと呼び、アプリケーションがチェーンの状態の上にもう一つの状態をスタッキングして、既存のデータと資産を再利用することを実現します。詳細な「スタッキング型」モデルの提案については Stackable L2 を参照してください。Bitcoin と Move のプログラミングドキュメントおよび事例については Bitcoin の拡張 を参照してください。
分散状態ツリープロトコル(Distributed State Tree Protocol - DSTP)
VApp コンテナはすべて独立しており、どのようにそれらをネットワークとして接続し、状態と資産の相互運用を実現するかが分散状態ツリープロトコルが解決すべき問題です。
分散状態ツリープロトコルの考え方は、スタッキング状態ツリーの異なるサブツリーを P2P ネットワークのノードに分散させ、スケーリングと並列計算を実現することです。分散状態ツリープロトコルを通じて、ネットワーク全体が無限のアプリケーションをサポートし、並列的な水平スケーリングを実現しつつ、グローバルな状態を通じてデータと資産を共有し、アプリケーションの相互運用性を実現できます。
「スタッキング型」の状態モデルに基づき、各 VApp ノードは Bitcoin と Rooch の状態を含み、これらはグローバルな状態です。アプリケーションの状態はグローバル状態ツリーのサブツリーであり、特定のノードにのみ存在することができます。もし特定の取引がアプリケーションの状態のみを変更し、グローバル状態を変更しない場合、その取引はネットワークにブロードキャストする必要がなく、アプリケーションは定期的に自分の状態ルートをグローバル状態に同期させるだけで済みます。これはアプリケーションに基づくシャーディングの一種です。
こうして Root が Bitcoin 上にあり、データが各アプリケーションノードに分散した分散状態ツリー が形成されます。アプリケーション内の資産は状態ツリー間で移動でき、Bitcoin 上の資産とも相互運用できます。
分散状態ツリープロトコルはさらに2つの方向に拡張できます:
- 状態チャネルの統合。状態チャネルは、ライフサイクルを持つ特別な状態ツリーと理解できます。複数の参加者の状態チャネルが開かれると、状態ツリーが作成され、状態チャネルが決済されると、アプリケーションは状態ツリーの状態を破棄または前のレイヤーに決済できます。このシーンは P2P ネットワークと組み合わせると、非常に多人数の即時インタラクション型アプリケーション(ゲーム)に適しています。
- 他の形式の状態ツリーをサポート。理論的には、既存の状態ツリーはすべてサブツリーとして分散状態ツリーにマウントできます。例えば、git リポジトリなどです。これにより、アプリケーションは git リポジトリ内のファイルを直接読み取ることができます。
資産跳躍プロトコル(Asset Leap Protocol)
Bitcoin L1 で直接決済を行うと、依然として取引コストが高く、確認待ち時間が長いというユーザー体験の問題があります。Bitcoin 上の資産を L2 に跨がせるには、現在業界にはいくつかのソリューションがあります:
- 管理型クロスチェーンブリッジのモデル。このモデルは広く使用されており、Bitcoin を利用してブリッジのセキュリティと分散化を保証する方法は依然として探求の方向性です。Rooch は専門のクロスチェーンブリッジプロジェクトと協力し、資産のブリッジを実現し、Rooch が提供するプログラミング能力を通じてブリッジのセキュリティを強化します。
- 非管理型モデル:これは Rooch が主に探求する方向であり、statechains(opens in a new tab) のようなものです。
Bitcoin 上の新しいプロトコルの資産に対して、私たちは資産跳躍プロトコルを試みます。将来的に大量の新型資産が Bitcoin 上で発行される場合、Bitcoin ネットワークと L2 の間で資産を移転するプロトコルが必要で、Bitcoin 上の状態ストレージの圧力を軽減します。同時に、L2 上の新型資産も Bitcoin に移転できるようにし、より高いセキュリティと広範な流通能力を得ることができます。
資産跳躍プロトコルの核心思想
RGB/Ordinals のようなクライアントサイド検証(Client side validation)に基づく資産は、Bitcoin を利用して資産の所有権を登録しますが、その有効性はクライアント側で検証されます。もし私たちがプロトコル層で leap
命令を定義し、資産を L1 から L2 に移転する、または L2 から L1 に移転することを表現し、クライアントが同時に両層で検証できるようにすれば、資産のクロスレイヤー移転を実現できます。
このプロトコルは現在のブリッジモデルに比べていくつかの利点があります:
- 大量の資産がブリッジに集中することがなく、集中リスクを回避し、資産移転モデルのリスクが分散されます。資産の移転と移入はすべてユーザーによってトリガーされ、クライアントは所有権を追跡します。移転時の破棄操作と移入時の再発行操作が一致していれば、資産は安全です。
- 資産は「現金」のようにさまざまなネットワーク間で移転できます。資産のストレージと資産のアプリケーションシーンを分離することで、状態爆発問題を解決し、新型資産の大規模発行問題を解決できます。
- このモデルは、ウォレットが重要な役割を果たすことを要求し、単に現在のように RPC を信頼する「愚かな」ウォレットではなく、より「スマート」なものが必要です。
そのため、Rooch チームは Ordinals に基づく SFT プロトコル Bitseed(opens in a new tab) を設計し、将来的には Bitseed プロトコルに基づいて資産の移転プロトコルを探求します。詳細については クライアントサイド検証プロトコル の資産跳躍プロトコル部分を参照してください。
セキュリティ問題
前述の提案にはセキュリティソリューションが含まれていませんが、Rooch ネットワークにおけるセキュリティは主に2つの側面を含みます:
- アプリケーション側のセキュリティソリューション、主にアプリケーション状態ルートの更新権限。
- クライアント側のセキュリティソリューション、クライアントは状態検証能力を持つ必要があります。
アプリケーション側のセキュリティは、アプリケーションがシーンや発展段階に応じてカスタマイズする必要があります。主にいくつかの選択肢があります:
- Bitcoin のタイムシェアリングノード + データ可用性層 + 詐欺証明:タイムシェアリングを通じて複数ノードの切り替えを実現し、アプリケーションの高可用性と分散化を保証し、詐欺証明を使用して悪意のあるノードを罰します。これは Rooch Network が採用するソリューションであり、私たちはパートナーと共に Bitcoin を安全源として利用する方法を探求します。
- PoA ノード + データ可用性層:このタイプのアプリケーションはデータの検証可能性を保証し、誰でも独立したノードを実行してデータを検証できます。
- PoA ノード:このタイプのアプリケーションは外部に状態証明を提供でき、ユーザーのウォレットは自分のデータを検証できますが、データ可用性層がないため、取引の可用性にリスクがあります。これは Web2 アプリケーションから Web3 アプリケーションへの中間的な移行として機能します。
- すべての参加者のマルチシグ:状態チャネル型アプリケーションに適しています。
クライアントサイド検証資産は、ウォレットが RPC ノードを完全に信頼するのではなく、一定の検証能力を持つことを要求します。これをスマートウォレットと呼ぶことができます。
- クライアントウォレットは P2P ネットワークに接続し、ネットワーク内のアプリケーションノードを発見し、ランダムサンプリングメカニズムを通じてアプリケーションの状態ツリーのルートを検証する能力を持つ必要があります。場合によっては、ローカルでスマートコントラクト仮想マシンを実行して自分の取引を検証することもできます。
- クライアントウォレットは資産の移転を追跡する能力を持ち、少なくとも資産移転の有効性を検証する必要があります。
こうして インフラ、アプリケーション、ユーザーの三者のゲームメカニズムが形成され、スケーラビリティとセキュリティの間でバランスを求めます。アプリケーションはまず偏った分散型のソリューションを通じて市場を検証し、徐々に移行し、権限を譲渡し、漸進的な分散化のルートを取ります。
フェーズ別ロードマップ
Rooch VApp コンテナの開発は新しい安定版を発表する準備が整っており、このバージョンに基づいて Rooch Network の先行ネットワークを立ち上げます。
先行ネットワークでは、まずクロスレイヤー資産プロトコルの設計を試みます。主に2つの方向があります:
- 自ロック倉庫派生資産モデルを通じて、オフチェーンの新しい資産を発行し、オフチェーンからオンチェーンへの移転を試みます。
- Bitseed 資産を基にしたオンチェーンからオフチェーンへの移転を試みます。NFT と FT の2種類の Bitseed の SFT 標準で発行された資産を含みます。
同時に、Bitcoin 資産に基づくゲームを試み、開発者がゲームやアプリケーションを構築することを奨励し、VApp モードのアプリケーションエコシステムを構築します。ゲームやアプリケーションを通じてユーザーに Rooch Network メインネットトークンのオプション資産を配布し、将来的にはメインネットトークンと交換できるようにします。
その後、P2P ネットワークに接続し、データ可用性層を接続し、ノードの分散化を実現し、パートナーと共に Bitcoin に基づくセキュリティソリューションの開発を進め、先行ネットワークをメインネットにアップグレードします。詳細なロードマップについては Roadmap を参照してください。
まとめ
この記事では、Rooch Network の青写真と目標、そして検証の試みについて紹介しました。これは完璧なホワイトペーパーではありません。
VApp はアプリケーションに実行環境を提供し、分散状態ツリープロトコルはアプリケーションを P2P ネットワークで接続し、資産移転プロトコルは資産を Bitcoin とアプリケーションの間で流動させます。これにより、私たちは完全な Bitcoin アプリケーション層の青写真 を得ることができます。
もちろん、この青写真の実現にはまだ多くの解決すべき問題がありますが、私たちは多くの技術的ソリューションが実践に基づいて進化してきたものであり、計画的に設計されたものではないと考えています。私たちは大航海時代の探検者のようで、宝物の方向と価値を大まかに知っていますが、具体的な道筋は探し、模索する必要があります。私たちはまずいくつかの仮説を立て、最小限のプロトコルと製品を設計し、市場で検証し、問題を解決し、方向を調整し、不断に循環し、最終的にはその One Piece を見つけることができるでしょう。