UTXO バインディング:BTC スマートコントラクトソリューション RGB、RGB++ と Arch Network の詳細解説
紹介
ビットコインは現在、流動性が最も高く、最も安全なブロックチェーンです。インスクリプションの爆発後、BTCエコシステムは大量の開発者を引き寄せ、彼らはすぐにBTCのプログラマビリティの問題とスケーラビリティの問題に注目しました。ZK、DA、サイドチェーン、ロールアップ、リステーキングなどの異なるアプローチを導入することで、BTCエコシステムの繁栄は新たな高みを迎え、まるでこの牛市の主なストーリーラインとなっています。
しかし、これらの設計の多くは、ETHなどのスマートコントラクトのスケーラビリティの経験を引き継いでおり、中央集権的なクロスチェーンブリッジに依存しなければならないため、システムの弱点となっています。BTC自体の特徴に基づいて設計された提案は少なく、これはBTC自体の開発者体験があまり友好的でないことに関連しています。いくつかの理由により、ビットコインはイーサリアムのようにスマートコントラクトを実行できません:
- ビットコインのスクリプト言語は安全性のためにチューリング完全性を制限しており、イーサリアムのようにスマートコントラクトを実行することができません。
- 同時に、ビットコインのブロックチェーンのストレージは単純な取引を対象に設計されており、複雑なスマートコントラクトに対して最適化されていません。
- 最も重要なのは、ビットコインにはスマートコントラクトを実行するための仮想マシンがないことです。
2017年に隔離証明(SegWit)が導入され、ビットコインのブロックサイズ制限が増加しました。2021年のTaprootアップグレードにより、バッチ署名の検証が可能になり、取引をより簡単かつ迅速に処理できるようになりました(原子交換、多重署名ウォレット、条件付き支払いの解除)。これにより、ビットコインのプログラマビリティが可能になりました。
2022年、開発者のCasey Rodarmorは彼の「Ordinal Theory」を提案し、ビットコイン取引に画像などの任意のデータを埋め込むための番号付けスキームを概説しました。これにより、ビットコインチェーン上に状態情報とメタデータを直接埋め込む新たな可能性が開かれ、アクセス可能で検証可能な状態データを必要とするスマートコントラクトなどのアプリケーションに新たな道を開きました。
現在、ビットコインのプログラミングを拡張するプロジェクトのほとんどは、ビットコインの二層ネットワーク(L2)に依存しており、これによりユーザーはクロスチェーンブリッジを信頼しなければならず、L2がユーザーと流動性を獲得する上で大きな課題となっています。さらに、ビットコインは現在、ネイティブな仮想マシンやプログラマビリティが不足しており、追加の信頼仮定なしにL2とL1の通信を実現することができません。
RGB、RGB++、およびArch Networkは、BTCのネイティブ属性に基づいてビットコインのプログラマビリティを強化し、異なる方法でスマートコントラクトや複雑な取引の能力を提供しようとしています:
- RGBは、オフチェーンクライアントによって検証されるスマートコントラクトのスキームであり、スマートコントラクトの状態変化はビットコインのUTXOに記録されます。一定のプライバシーの利点がありますが、使用が煩雑で、契約の組み合わせ性が欠けており、現在の発展は非常に遅いです。
- RGB++は、NervosがRGBのアイデアに基づいて提案した別の拡張ルートで、依然としてUTXOにバインドされていますが、チェーン自体を合意を持つクライアント検証者として使用することで、メタデータ資産のクロスチェーン解決策を提供し、任意のUTXO構造のチェーンの移転をサポートします。
- Arch Networkは、BTCにネイティブなスマートコントラクトのスキームを提供し、ZK仮想マシンと対応する検証者ノードネットワークを作成し、取引を集約することで状態変化と資産の段階をBTC取引に記録します。
RGB
RGBはBTCコミュニティの初期のスマートコントラクト拡張のアイデアであり、UTXOを封装する方法で状態データを記録し、後のBTCネイティブのスケーリングに重要なアイデアを提供しました。
RGBはオフチェーン検証方式を採用し、トークン移転の検証をビットコインの合意層からオフチェーンに移し、特定の取引に関連するクライアントによって検証されます。この方法は全ネットワークのブロードキャストの必要性を減少させ、プライバシーと効率を向上させます。しかし、このプライバシー強化の方法は両刃の剣でもあります。特定の取引に関連するノードのみが検証作業に参加することで、プライバシー保護は強化されますが、第三者には見えなくなり、実際の操作プロセスが複雑で開発が難しく、ユーザー体験が悪化します。
さらに、RGBは一度使用するシールの概念を導入しました。各UTXOは一度だけ消費でき、UTXOを作成する際にロックされ、消費する際に解除されます。スマートコントラクトの状態はUTXOに封装され、シールによって管理されるため、効果的な状態管理メカニズムを提供します。
RGB++
RGB++はNervosがRGBのアイデアに基づいて提案した別の拡張ルートで、依然としてUTXOにバインドされています。
RGB++はチューリング完全なUTXOチェーン(例えばCKBや他のチェーン)を利用してオフチェーンデータとスマートコントラクトを処理し、ビットコインのプログラマビリティをさらに向上させ、BTCに同型バインディングを通じて安全性を保証します。
RGB++はチューリング完全なUTXOチェーンを採用しています。CKBのようなチューリング完全なUTXOチェーンをシャドーチェーンとして使用することで、RGB++はオフチェーンデータとスマートコントラクトを処理できます。このチェーンは複雑なスマートコントラクトを実行できるだけでなく、ビットコインのUTXOとバインドされることで、システムのプログラミング性と柔軟性を向上させます。さらに、ビットコインのUTXOとシャドーチェーンのUTXOは同型バインディングされており、二つのチェーン間での状態と資産の一貫性を保証し、取引の安全性を確保します。
その上、RGB++はすべてのチューリング完全なUTXOチェーンに拡張され、もはやCKBに限定されず、クロスチェーン相互運用性と資産流動性を向上させます。この多チェーンサポートにより、RGB++は任意のチューリング完全なUTXOチェーンと組み合わせることができ、システムの柔軟性を強化します。また、RGB++はUTXOの同型バインディングを通じてブリッジなしのクロスチェーンを実現し、従来のクロスチェーンブリッジとは異なり、「偽コイン」問題を回避し、資産の真実性と一貫性を保証します。
シャドーチェーンを通じてオンチェーン検証を行うことで、RGB++はクライアント検証プロセスを簡素化しました。ユーザーはシャドーチェーン上の関連取引を確認するだけで、RGB++の状態計算が正しいかどうかを検証できます。このオンチェーン検証方式は、検証プロセスを簡素化するだけでなく、ユーザー体験を最適化します。チューリング完全なシャドーチェーンを使用することで、RGB++はRGBの複雑なUTXO管理を回避し、より簡素化され、ユーザーフレンドリーな体験を提供します。
Arch Network
Arch Networkは主にArch zkVMとArch検証ノードネットワークで構成され、ゼロ知識証明(zk-proofs)と分散型検証ネットワークを利用してスマートコントラクトの安全性とプライバシーを確保し、RGBよりも使いやすく、RGB++のように別のUTXOチェーンにバインドする必要はありません。
Arch zkVMはRISC Zero ZKVMを使用してスマートコントラクトを実行し、ゼロ知識証明を生成し、分散型の検証ノードネットワークによって検証されます。このシステムはUTXOモデルに基づいて動作し、スマートコントラクトの状態をState UTXOsに封装して安全性と効率を向上させます。
Asset UTXOsはビットコインや他のトークンを表し、委任方式で管理できます。Arch検証ネットワークはランダムに選ばれたリーダーノードによってZKVMの内容を検証し、FROST署名スキームを使用してノード署名を集約し、最終的に取引をビットコインネットワークにブロードキャストします。
Arch zkVMはビットコインにチューリング完全な仮想マシンを提供し、複雑なスマートコントラクトを実行できます。スマートコントラクトが実行されるたびに、Arch zkVMはゼロ知識証明を生成し、これらの証明は契約の正確性と状態変化を検証するために使用されます。
ArchはビットコインのUTXOモデルも使用しており、状態と資産はUTXOに封装され、一度使用するという概念を通じて状態変換が行われます。スマートコントラクトの状態データはstate UTXOsとして記録され、元データ資産はAsset UTXOsとして記録されます。Archは各UTXOが一度だけ消費できることを保証し、安全な状態管理を提供します。
Archは革新的なブロックチェーン構造を持っていませんが、検証ノードネットワークが必要です。各Archエポックの期間中、システムはステークに基づいてランダムにリーダーノードを選択し、リーダーノードは受け取った情報をネットワーク内の他のすべての検証者ノードに伝播させます。すべてのzk-proofsは分散型の検証ノードネットワークによって検証され、システムの安全性と検閲耐性を確保し、リーダーノードに署名を生成します。取引が必要な数のノードによって署名されると、ビットコインネットワーク上でブロードキャストされます。
結論
BTCのプログラマビリティ設計において、RGB、RGB++、およびArch Networkはそれぞれ特徴がありますが、いずれもUTXOのバインディングの考え方を引き継いでおり、UTXOの一度だけ使用する認証属性はスマートコントラクトが状態を記録するのに適しています。
しかし、その欠点も非常に明白であり、悪いユーザー体験、BTCと一致する確認遅延と低性能、つまり機能は拡張されましたが、性能は向上していないことが、ArchとRGBの中で特に顕著です。一方、RGB++の設計は、より高性能なUTXOチェーンを導入することでより良いユーザー体験を提供していますが、追加の安全性仮定を提起しています。
より多くの開発者がBTCコミュニティに参加するにつれて、op-catのアップグレード提案など、さらに多くのスケーリングソリューションが見られるでしょう。そして、BTCのネイティブ属性に合ったソリューションは重点的に注目する必要があります。UTXOバインディングの方法は、BTCネットワークをアップグレードせずにBTCのプログラミング方式を拡張する最も効果的な方法であり、ユーザー体験の問題を解決できれば、BTCスマートコントラクトの大きな進歩となるでしょう。