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