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