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