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