出典:ビットコインマガジン; コンピレーション:ファイブバーツ、ゴールデンファイナンス
Rollupsは最近、BTCの拡張の焦点となっており、ライトニングネットワークから注目を浴びる最初のものになりました。Rollupsは、ライトニングネットワークの主要な流動性制約や制限を受けずにオフチェーンのセカンドレイヤーとなることを目指しています。つまり、最終ユーザーは事前に資金を割り当て(または「貸出」)する必要があり、または中間ルーティングノードはチャネルの残高を持つ必要があります。これにより、送信者から受信者への支払い金額の移動が円滑に行われます。
これらのシステムは元々、イーサリアムや他のチューリング完全なシステム上で動作していましたが、最近はUTXOベースのブロックチェーン(例えばBTC)に移植することに重点が置かれています。この記事では、現在BTC上で実装されている状況ではなく、BTCが現在サポートしていない機能、つまりBTC上でゼロ知識証明(ZKP)を直接検証する能力に依存する理想化Rollupの機能について議論します。
Rollの基本的なアーキテクチャは次のとおりです:単一のアカウント(BTCではUTXO)が、Rollup内のすべてのユーザーの残高を保持します。このUTXOには、MerkleツリーのMerkleルートに存在するすべての現在の残高を持つRollup内のすべてのアカウントを約束するものが含まれています。これらすべてのアカウントは公開鍵/秘密鍵ペアを使用して承認されます。したがって、オフチェーンの支出を行うには、ユーザーは引き続き秘密鍵で何かを署名する必要があります。この構造のこの部分により、ユーザーはライセンスなしでいつでも退出できます。彼らのアカウントがMerkleツリーの一部であることを証明する取引を作成するだけで、ユーザーは運営者の許可なしにRollupから単方向に退出することができます。
RollupオペレータはトランザクションにZKPを含める必要があります。これにより、オフチェーンのトランザクションのプロセス中にオンチェーンのアカウント残高のMerkleルートを更新できます。このZKPがない場合、トランザクションは無効であり、ブロックチェーンに含めることはできません。この証明により、オフチェーンアカウントへのすべての変更がアカウントの所有者による適切な承認を受けたものであること、およびオペレータがユーザーの資金を盗むために意図的に残高を更新したり、不正に他のユーザーに再分配したりしないことを他の人々が検証できます。
問題は、もしもMerkleツリーのルートだけがオンチェーン上で公開され、ユーザーがそれを表示してアクセスできる場合、彼らがいつでも許可なしに退出するために自分のブランチをツリーに配置する方法はどうなるのかということですか?
適切なロールアップ
適切なRollupでは、新しいオフチェーン取引が確認され、Rollupアカウントの状態が変化するたびに、情報が直接ブロックチェーンに格納されます。全体のツリーを格納するのではなく、ツリーを再構築するために必要な情報のみが格納されます。シンプルな実装では、Rollup内のすべての既存アカウントの概要には残高が含まれ、アカウントは単にRollupの取引の更新時に追加されます。
より高度な実装では、残高の差分を使用します。これは、更新プロセス中にどのアカウントが資金を増減させたかを要約したものです。これにより、各ロールアップの更新には発生したアカウント残高の変更のみが含まれます。その後、ユーザーはチェーンをスキャンし、ロールアップの先頭から「計算」することで、アカウント残高の現在の状態を再構築できます。これにより、現在の残高のMerkleツリーを再構築することができます。
これにより、多額の費用とブロックスペース(それによって資金が節約されます)を節約しながら、ユーザーが単方向の退出に必要な情報にアクセスできることを可能にします。ロールアップルールにより、これらのデータをユーザーに提供する公式のロールアップに含める必要があります。つまり、アカウントの要約やアカウントの差分が含まれていないトランザクションは無効と見なされます。
ユーザーの引き出しデータの利用可能性の問題を処理する別の方法は、データをブロックチェーンの外の他の場所に置くことです。これには微妙な問題が生じ、ロールアップは依然として他の場所でのデータの利用可能性を強制する必要があります。従来、この目的のために他のブロックチェーンが使用され、ロールアップなどのシステムのデータ利用可能性レイヤーとして専門に設計されています。
これは同じくらい強力なセキュリティのジレンマを引き起こしました。データが直接BTCブロックチェーンに公開されると、コンセンサスルールによって絶対に正しいことが保証されます。しかし、外部システムに公開されると、最高のことはSPV証明を検証することです、つまり、データが別のシステムに公開されました。
これには、他のオンチェーンの証明にデータを検証する必要があり、最終的にはオラクルマシンの問題となります。BTCのブロックチェーンは、自身のブロックチェーンで起こること以外のことを完全に検証することはできませんが、それが最善であるのは ZKPを検証することです。しかし、ZKPはロールアップデータが生成された後に本当に公開されたかどうかを検証することはできません。外部情報が本当にすべての人に公開されているかどうかを検証することはできません。
これにより、データの拘留攻撃が可能となり、公開データに対する約束を作成し、それをrollupの推進に使用しますが、実際にはデータは使用できません。これにより、ユーザーは資金を引き出すことができません。唯一の真の解決策は、BTC以外のシステムの価値とインセンティブ構造に完全に依存することです。
これにより、ロールアップはジレンマに直面しています。データの可用性に関する問題については、基本的にBTCブロックチェーンまたは他の場所にデータを公開する2つのバイナリ選択肢が存在します。この選択は、ロールアップのセキュリティ、主権、および拡張性に重大な影響を与えます。
一方、データの可用性レイヤーとしてBTCブロックチェーンを使用することは、ロールアップのスケーラビリティに対して制約を設けます。ブロックスペースは限られており、一度に存在できるロールアップの数およびオフチェーンで処理できるすべてのロールアップのトランザクション数に制限を設けます。ロールアップの更新ごとに、前回の更新以降に残高が変化したアカウントの数に比例したブロックスペースが必要です。情報理論ではデータの圧縮は一定の範囲まで可能ですが、それ以上の拡張の可能性はありません。
一方、データ可用性を実現するために異なるレイヤーを使用すると、拡張性の利益の上限がなくなりますが、新しいセキュリティと主権の問題も引き起こします。BTCを使用してデータ可用性を実現するRollupを使用する場合、ユーザーが抽出する必要のあるデータが自動的にブロックチェーン上に公開されない場合、Rollupの状態は変化しません。Validiumsを使用すると、この保証は完全に外部システムの詐欺やデータの隠蔽に対する耐性に依存します。
現在、外部データ可用性システム上の任意のブロック生産者は、実際にそのブロックをブロードキャストする代わりにブロックを生産することによってBTCRollupユーザーの資金を乗っ取ることができ、データを利用できるようにすることができます。
では、もしBTCで理想的なRollup実装を実現し、一方的なユーザー引き出しを実現するとしたら、どうなるでしょうか?
20.11K 人気度
28.69K 人気度
20.42K 人気度
79.99K 人気度
191.76K 人気度
ビットコインマガジン:ロールアップはどのようなジレンマに直面していますか?
出典:ビットコインマガジン; コンピレーション:ファイブバーツ、ゴールデンファイナンス
Rollupsは最近、BTCの拡張の焦点となっており、ライトニングネットワークから注目を浴びる最初のものになりました。Rollupsは、ライトニングネットワークの主要な流動性制約や制限を受けずにオフチェーンのセカンドレイヤーとなることを目指しています。つまり、最終ユーザーは事前に資金を割り当て(または「貸出」)する必要があり、または中間ルーティングノードはチャネルの残高を持つ必要があります。これにより、送信者から受信者への支払い金額の移動が円滑に行われます。
これらのシステムは元々、イーサリアムや他のチューリング完全なシステム上で動作していましたが、最近はUTXOベースのブロックチェーン(例えばBTC)に移植することに重点が置かれています。この記事では、現在BTC上で実装されている状況ではなく、BTCが現在サポートしていない機能、つまりBTC上でゼロ知識証明(ZKP)を直接検証する能力に依存する理想化Rollupの機能について議論します。
Rollの基本的なアーキテクチャは次のとおりです:単一のアカウント(BTCではUTXO)が、Rollup内のすべてのユーザーの残高を保持します。このUTXOには、MerkleツリーのMerkleルートに存在するすべての現在の残高を持つRollup内のすべてのアカウントを約束するものが含まれています。これらすべてのアカウントは公開鍵/秘密鍵ペアを使用して承認されます。したがって、オフチェーンの支出を行うには、ユーザーは引き続き秘密鍵で何かを署名する必要があります。この構造のこの部分により、ユーザーはライセンスなしでいつでも退出できます。彼らのアカウントがMerkleツリーの一部であることを証明する取引を作成するだけで、ユーザーは運営者の許可なしにRollupから単方向に退出することができます。
RollupオペレータはトランザクションにZKPを含める必要があります。これにより、オフチェーンのトランザクションのプロセス中にオンチェーンのアカウント残高のMerkleルートを更新できます。このZKPがない場合、トランザクションは無効であり、ブロックチェーンに含めることはできません。この証明により、オフチェーンアカウントへのすべての変更がアカウントの所有者による適切な承認を受けたものであること、およびオペレータがユーザーの資金を盗むために意図的に残高を更新したり、不正に他のユーザーに再分配したりしないことを他の人々が検証できます。
問題は、もしもMerkleツリーのルートだけがオンチェーン上で公開され、ユーザーがそれを表示してアクセスできる場合、彼らがいつでも許可なしに退出するために自分のブランチをツリーに配置する方法はどうなるのかということですか?
適切なロールアップ
適切なRollupでは、新しいオフチェーン取引が確認され、Rollupアカウントの状態が変化するたびに、情報が直接ブロックチェーンに格納されます。全体のツリーを格納するのではなく、ツリーを再構築するために必要な情報のみが格納されます。シンプルな実装では、Rollup内のすべての既存アカウントの概要には残高が含まれ、アカウントは単にRollupの取引の更新時に追加されます。
より高度な実装では、残高の差分を使用します。これは、更新プロセス中にどのアカウントが資金を増減させたかを要約したものです。これにより、各ロールアップの更新には発生したアカウント残高の変更のみが含まれます。その後、ユーザーはチェーンをスキャンし、ロールアップの先頭から「計算」することで、アカウント残高の現在の状態を再構築できます。これにより、現在の残高のMerkleツリーを再構築することができます。
これにより、多額の費用とブロックスペース(それによって資金が節約されます)を節約しながら、ユーザーが単方向の退出に必要な情報にアクセスできることを可能にします。ロールアップルールにより、これらのデータをユーザーに提供する公式のロールアップに含める必要があります。つまり、アカウントの要約やアカウントの差分が含まれていないトランザクションは無効と見なされます。
有効期限
ユーザーの引き出しデータの利用可能性の問題を処理する別の方法は、データをブロックチェーンの外の他の場所に置くことです。これには微妙な問題が生じ、ロールアップは依然として他の場所でのデータの利用可能性を強制する必要があります。従来、この目的のために他のブロックチェーンが使用され、ロールアップなどのシステムのデータ利用可能性レイヤーとして専門に設計されています。
これは同じくらい強力なセキュリティのジレンマを引き起こしました。データが直接BTCブロックチェーンに公開されると、コンセンサスルールによって絶対に正しいことが保証されます。しかし、外部システムに公開されると、最高のことはSPV証明を検証することです、つまり、データが別のシステムに公開されました。
これには、他のオンチェーンの証明にデータを検証する必要があり、最終的にはオラクルマシンの問題となります。BTCのブロックチェーンは、自身のブロックチェーンで起こること以外のことを完全に検証することはできませんが、それが最善であるのは ZKPを検証することです。しかし、ZKPはロールアップデータが生成された後に本当に公開されたかどうかを検証することはできません。外部情報が本当にすべての人に公開されているかどうかを検証することはできません。
これにより、データの拘留攻撃が可能となり、公開データに対する約束を作成し、それをrollupの推進に使用しますが、実際にはデータは使用できません。これにより、ユーザーは資金を引き出すことができません。唯一の真の解決策は、BTC以外のシステムの価値とインセンティブ構造に完全に依存することです。
ジレンマ
これにより、ロールアップはジレンマに直面しています。データの可用性に関する問題については、基本的にBTCブロックチェーンまたは他の場所にデータを公開する2つのバイナリ選択肢が存在します。この選択は、ロールアップのセキュリティ、主権、および拡張性に重大な影響を与えます。
一方、データの可用性レイヤーとしてBTCブロックチェーンを使用することは、ロールアップのスケーラビリティに対して制約を設けます。ブロックスペースは限られており、一度に存在できるロールアップの数およびオフチェーンで処理できるすべてのロールアップのトランザクション数に制限を設けます。ロールアップの更新ごとに、前回の更新以降に残高が変化したアカウントの数に比例したブロックスペースが必要です。情報理論ではデータの圧縮は一定の範囲まで可能ですが、それ以上の拡張の可能性はありません。
一方、データ可用性を実現するために異なるレイヤーを使用すると、拡張性の利益の上限がなくなりますが、新しいセキュリティと主権の問題も引き起こします。BTCを使用してデータ可用性を実現するRollupを使用する場合、ユーザーが抽出する必要のあるデータが自動的にブロックチェーン上に公開されない場合、Rollupの状態は変化しません。Validiumsを使用すると、この保証は完全に外部システムの詐欺やデータの隠蔽に対する耐性に依存します。
現在、外部データ可用性システム上の任意のブロック生産者は、実際にそのブロックをブロードキャストする代わりにブロックを生産することによってBTCRollupユーザーの資金を乗っ取ることができ、データを利用できるようにすることができます。
では、もしBTCで理想的なRollup実装を実現し、一方的なユーザー引き出しを実現するとしたら、どうなるでしょうか?