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