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