出典:ビットコインマガジン; コンピレーション:ファイブバーツ、ゴールデンファイナンス
Rollupsは最近、BTCのスケーリングの焦点となり、ライトニングネットワークから注目を集める最初のものとなりました。Rollupsは、ライトニングネットワークのコアの流動性制約や制限を受けないオフチェーンの第2層となることを目指しており、最終ユーザーは事前に資金を割り当てる(または「借りる」)必要があるか、中間のノードはチャネルの残高を持っている必要があります。これにより、送信者から受信者までの支払いがスムーズに行われることが期待されます。
これらのシステムは最初、イーサリアムや他のチューリング完全システム上で実行されていましたが、最近ではUTXOベースのブロックチェーン(例えばビットコイン)に移植することに重点が置かれています。この記事では、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のブロックチェーンは、自身のブロックチェーンで起こること以外のことを完全に検証することはできません。BTCのブロックチェーンは、自身のブロックチェーンで起こること以外のことを完全に検証することはできません。しかし、ZKPは rollup データが生成された後に実際に公開されたかどうかを検証することはできません。外部情報が実際に全ての人に公開されているかどうかを検証することはできません。
このデータの抑留攻撃は、公開されたデータを約束してrollupを推進することで開かれましたが、実際にはデータは利用できなかったため、ユーザーは資金を引き出すことができませんでした。唯一の真の解決策は、BTC以外のシステムに完全に依存することです。その価値とインセンティブ構造に。
これはrollupにジレンマをもたらしました。データの可用性の問題が関係する場合、基本的にはデータをBTCブロックチェーンに公開するか、他の場所に公開するかの二者択一が存在します。この選択は、rollupのセキュリティと主権、および拡張性に重大な影響を与えます。
一方面,BTCブロックチェーンをデータの利用可能性レイヤーとして使用することは、rollupのスケーラビリティに厳格な上限を設定します。ブロックスペースは有限ですので、一度に存在できるrollupの数やオフチェーンで処理できるトランザクションの総数に上限が設定されます。各rollupの更新には、直前の更新から残高が変化したアカウントの数に比例したブロックスペースが必要です。情報理論ではデータをある程度まで圧縮することしか許可されていないため、これ以上の拡張可能性はありません。
一方、データ可用性を実現するために異なるレイヤーを使用することによって、拡張性の利点の硬い上限を排除することができますが、新しいセキュリティと主権の問題も引き起こします。BTCを使用してロールアップでデータ可用性を実現する場合、ユーザーが取り出したいデータが自動的にブロックチェーンに公開されない限り、ロールアップの状態は変化しません。 Validiumsを使用する場合、この保証は完全に使用される外部システムが詐欺やデータの隠蔽に抵抗する能力に依存します。
現在、外部データ可用性システム上の任意のブロックプロデューサーは、実際にブロックをブロードキャストするのではなく、ブロックを生成することによってBTCRollupユーザーの資金を乗っ取ることができ、データを利用できるようにします。
それでは、BTCで理想的なRollup実装を実現した場合、本当に片側のユーザー引き出しが実現されると、どのようなものになるでしょうか?
44.89K 人気度
5.49K 人気度
3.94K 人気度
1.52K 人気度
1.5K 人気度
ビットコインマガジン:ロールアップはどのようなジレンマに直面していますか?
出典:ビットコインマガジン; コンピレーション:ファイブバーツ、ゴールデンファイナンス
Rollupsは最近、BTCのスケーリングの焦点となり、ライトニングネットワークから注目を集める最初のものとなりました。Rollupsは、ライトニングネットワークのコアの流動性制約や制限を受けないオフチェーンの第2層となることを目指しており、最終ユーザーは事前に資金を割り当てる(または「借りる」)必要があるか、中間のノードはチャネルの残高を持っている必要があります。これにより、送信者から受信者までの支払いがスムーズに行われることが期待されます。
これらのシステムは最初、イーサリアムや他のチューリング完全システム上で実行されていましたが、最近ではUTXOベースのブロックチェーン(例えばビットコイン)に移植することに重点が置かれています。この記事では、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のブロックチェーンは、自身のブロックチェーンで起こること以外のことを完全に検証することはできません。BTCのブロックチェーンは、自身のブロックチェーンで起こること以外のことを完全に検証することはできません。しかし、ZKPは rollup データが生成された後に実際に公開されたかどうかを検証することはできません。外部情報が実際に全ての人に公開されているかどうかを検証することはできません。
このデータの抑留攻撃は、公開されたデータを約束してrollupを推進することで開かれましたが、実際にはデータは利用できなかったため、ユーザーは資金を引き出すことができませんでした。唯一の真の解決策は、BTC以外のシステムに完全に依存することです。その価値とインセンティブ構造に。
ジントチュイグ
これはrollupにジレンマをもたらしました。データの可用性の問題が関係する場合、基本的にはデータをBTCブロックチェーンに公開するか、他の場所に公開するかの二者択一が存在します。この選択は、rollupのセキュリティと主権、および拡張性に重大な影響を与えます。
一方面,BTCブロックチェーンをデータの利用可能性レイヤーとして使用することは、rollupのスケーラビリティに厳格な上限を設定します。ブロックスペースは有限ですので、一度に存在できるrollupの数やオフチェーンで処理できるトランザクションの総数に上限が設定されます。各rollupの更新には、直前の更新から残高が変化したアカウントの数に比例したブロックスペースが必要です。情報理論ではデータをある程度まで圧縮することしか許可されていないため、これ以上の拡張可能性はありません。
一方、データ可用性を実現するために異なるレイヤーを使用することによって、拡張性の利点の硬い上限を排除することができますが、新しいセキュリティと主権の問題も引き起こします。BTCを使用してロールアップでデータ可用性を実現する場合、ユーザーが取り出したいデータが自動的にブロックチェーンに公開されない限り、ロールアップの状態は変化しません。 Validiumsを使用する場合、この保証は完全に使用される外部システムが詐欺やデータの隠蔽に抵抗する能力に依存します。
現在、外部データ可用性システム上の任意のブロックプロデューサーは、実際にブロックをブロードキャストするのではなく、ブロックを生成することによってBTCRollupユーザーの資金を乗っ取ることができ、データを利用できるようにします。
それでは、BTCで理想的なRollup実装を実現した場合、本当に片側のユーザー引き出しが実現されると、どのようなものになるでしょうか?