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