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