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