ビットコインマガジン:ロールアップはどのようなジレンマに直面していますか?

robot
概要作成中

出典:ビットコインマガジン; コンピレーション:ファイブバーツ、ゴールデンファイナンス

最近、ロールアップはBTCのスケーリングの焦点となっており、ライトニングネットワークから注目を集める最初の本当のものとなりました。ロールアップは、広く注目されている点で、ライトニングネットワークのコアな流動性制限や制約に影響を受けないオフチェーンのセカンドレイヤーとなることを目指しています。つまり、最終ユーザーは事前に資金を割り当て(または「貸出」)してもらう必要があり、または中間のノードがチャネルの残高を持っている必要があります。これにより、送信者から受信者への支払いが円滑に行われるよう促進されます。

これらのシステムは最初、イーサリアムや他のチューリング完全なシステムで動作することが意図されていましたが、最近では、UTXOベースのブロックチェーン(例えばBTC)に移植することに重点が置かれています。この記事では、現在BTC上で実装されている状況ではなく、BTCが現在サポートしていない機能、すなわちBTC上でゼロ知識証明(ZKP)を直接検証する機能に依存する理想的なロールアップの機能について議論します。

Rollの基本構造は次のとおりです。単一のアカウント(BTCではUTXOと呼ばれる)が、Rollup内のすべてのユーザーの残高を保持します。このUTXOには、MerkleツリーのMerkleルートとして存在するコミットメントが含まれており、Rollup内のすべての現在のアカウントの残高を表します。これらのすべてのアカウントは、公開鍵/秘密鍵ペアを使用して承認されます。したがって、オフチェーンの支出を行うには、ユーザーは依然として秘密鍵であるコンテンツに署名する必要があります。この構造のこの部分により、ユーザーは常に許可を必要とせずに退出できます。トランザクションを作成し、自分のアカウントがMerkleツリーの一部であることを証明するだけで、ユーザーは運営者の許可なしにRollupから単方向に退出できます。

Rollup オペレーターは、オフチェーンのトランザクションに ZKP を含める必要があり、オンチェーンの口座残高のメルクルルートを更新することでオフチェーンのトランザクションを完了します。この ZKP がない場合、トランザクションは無効になり、ブロックチェーンに含めることはできません。この証明により、オフチェーンの口座に対するすべての変更が適切な権限を持つ口座所有者によって承認され、オペレーターが資金を盗むために残高を悪意で更新したり、不正に他のユーザーに再割り当てしたりしないかどうかを人々が検証できます。

問題は、もしMerkleツリーのルートだけがオンチェーンに公開され、ユーザーがそれを見ることができる場合、彼らはいつでも許可なしに自分のブランチを木に配置し、出て行くことができるようにする方法は何ですか?

適切なロールアップ

適切なRollupでは、新しいオフチェーン取引が確認され、Rollupアカウントの状態が変化するたびに、情報が直接ブロックチェーンに入力されます。全体のツリーではなく、ツリーを再構築するために必要な情報です。簡単な実装では、Rollup内のすべての既存のアカウントのサマリーには残高が含まれ、アカウントはRollupのトランザクションが更新されるたびに追加されます。

より高度な実装では、残高差分を使用します。これは、更新プロセス中にどのアカウントが資金を増やしたか、または減らしたかの要約です。これにより、各Rollup更新には、アカウント残高の変更のみが含まれます。その後、ユーザーは単純にチェーンをスキャンし、Rollupの先頭から「計算」して現在のアカウント残高の状態を求めることができます。これにより、彼らは現在の残高のMerkle Treeを再構築することができます。

このようにして、大量の費用とブロックスペース(したがって資金)を節約しつつ、ユーザーが片方向の退出に必要な情報を保証できるようになります。ロールアップルールにより、これらのデータをユーザーに提供される正式なロールアップに含める必要があります。つまり、アカウントの要約またはアカウントの差分を含まない取引は無効と見なされます。

有効期限

ユーザーデータの取り出し可能性の問題を処理する別の方法は、データをブロックチェーンの外の他の場所に置くことです。これには微妙な問題が生じ、rollup は依然として他の場所でデータを利用可能であることを強制しなければなりません。従来、他のブロックチェーンがこの目的で使用されており、rollup などのシステムのデータ利用可能性レイヤーとして特に設計されています。

これは、同等に強力なセキュリティ保護に関するジレンマを引き起こします。データがBTCブロックチェーンに直接公開される場合、コンセンサスルールにより、それが絶対に正しいことが保証されます。しかし、外部システムに公開された場合、その最善の選択肢は、SPV証明を検証することです。つまり、データが別のシステムに公開されたことを証明することです。

これは他のオンチェーンの証明に存在するデータを検証する必要があり、最終的にはオラクルマシンの問題になります。BTCのブロックチェーンは自身のブロックチェーンで起こること以外の何も完全に検証できませんが、ZKPを検証することができます。しかし、ZKPはrollupデータが生成された後に実際に公開されたかどうかを検証することができません。外部情報が本当に誰にでも公開されているかどうかを検証することはできません。

これにより、データの拘留攻撃が可能になります。つまり、公開データに対する約束を作成し、それをロールアップの推進に使用しますが、実際にはデータが利用できません。これにより、ユーザーは資金を引き出すことができません。唯一の真の解決策は、BTC以外のシステムの価値とインセンティブ構造に完全に依存することです。

ジレンマ

これはロールアップにとってジレンマを引き起こします。データの可用性の問題が発生する場合、BTCブロックチェーンにデータを公開するか、他の場所に公開するかという二者択一が基本的に存在します。この選択はロールアップのセキュリティと主権、およびスケーラビリティに重大な影響を与えます。

一方面、BTCブロックチェーンをデータの可用性層として使用することで、ロールアップの拡張性には硬性の上限が設けられます。ブロックスペースは限られています。これにより、一度に存在できるロールアップの数や、すべてのロールアップがオフチェーンで処理できるトランザクションの数に上限が設けられます。ロールアップの更新ごとに、前回の更新以来残高に変更があったアカウント数に比例してブロックスペースが必要です。情報理論により、データを圧縮することができる限界があり、それ以上の拡張余地はありません。

一方、異なるレイヤーを使用してデータ可用性を実現することは、拡張性の利点の厳密な上限を取り除きますが、新たなセキュリティと主権の問題ももたらします。BTCを使用してデータ可用性を実現するRollupでは、ユーザーが取り出す必要のあるデータが自動的にブロックチェーンに公開されていない場合、Rollupの状態は変化しません。Validiumsを使用すると、この保証は完全に使用される外部システムが詐欺やデータの隠蔽に対抗する能力に依存します。

現在、外部データ可用性システム上のどのブロック生産者も、実際にブロックをブロードキャストする代わりにブロックを生産することによってBTCRollupユーザーの資金を乗っ取ることができます。これにより、データが利用可能になります。

では、もしBTCで理想的なRollup実装を実現し、一方的なユーザー引き出しを本当に実現した場合、どのような状況になるでしょうか?

原文表示
  • 報酬
  • コメント
  • 共有
コメント
コメントなし