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