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