原作者:0xRJ_eth(Twitter:@0xRJ_eth)
今日は主にイーサリアムの拡張計画を時間開発と組み合わせたトップダウンの視点から整理しますが、その内容は、現在市場で言及されていない古い計画や、聞いたことがないものも含まれています。しかし、大きな枠組みと相互論理を明確にすることは非常に重要だと思います。これは、拡大の発展においてどのような革新と組み合わせが経験されたか、どのような問題に遭遇したか、さまざまな時期の市場の懸念は何であるかを理解するのに役立ちます、そしてなぜ現在ロールアップがソリューションの勝利となるのか。これらは、全体的な方向性を把握するのにも役立ちます。
最初のレベルのタイトル
1. 原因
イーサリアム ブロックチェーンの最初の層では、ネットワーク利用の需要が増大し続けるため、ネットワークの混雑が発生し、トランザクション コストが上昇しています。ストレージ、ネットワーク速度、スループットの向上は、イーサリアムの有意義な大量導入の基礎となります。
最初のレベルのタイトル
2. 目的
最初のレベルのタイトル
3. 拡張計画
拡張ソリューション: オンチェーン (レイヤー 1) とオフチェーン (サイドチェーン + レイヤー 2) の 2 つのカテゴリに分類できます。
オンチェーン、チェーン上の拡張
ブロックチェーン自体のパフォーマンスを改善するには、第 1 層のメインネット/イーサリアム プロトコルの変更が必要です。これには「レイヤー 1」が含まれます。レイヤ 1 ネットワークは、基盤となるブロックチェーンの別名です。イーサリアム (ETH) に加えて、ビットコイン (BTC)、Solana、Polkadot、Near、Cosmos、Aptos、Sui などは、エコシステムの主要なネットワークであるため、すべてレイヤー 1 プロトコルに属します。レイヤ 1 プロトコルは、独自のブロックチェーン上でトランザクションを処理して完了することができ、同時にトランザクション料金の支払い用のネイティブ トークンが付属しています。
(レイヤー 1 拡張全体は、イーサリアム アップグレードの非常に重要な部分です。この部分は、将来イーサリアム アップグレードのコンパイルと共有で詳しく説明される可能性があります。今日は、レイヤー 1 の概念を簡単に要約するため、詳細には触れません) )
オンチェーン レイヤ 1 拡張のオプションは次のとおりです。
a. コンセンサスメカニズムを変更します。イーサリアムのアップグレードではこのソリューションが採用されています。数週間前、ビーコン チェーンとメイン ネットワークの統合が成功し、コンセンサス メカニズムの pow から pos への変換が完了しました。
b. シャーディングを実装します。シャーディングは一般的なレイヤー 1 スケーリング ソリューションであり、主にトランザクション スループットを向上させるために使用されます。これはコンピュータ サイエンスにおけるデータベース セグメンテーション テクノロジであり、ネットワークとその上のノードを異なるシャードに分割して、ワークロードを共有し、トランザクション速度を向上させます。各シャードはネットワーク全体のアクティビティの一部を処理します。つまり、各シャードには独自のトランザクション、独自のノード、および独自の独立したブロックがあります。
シャーディングにより、各バリデーターの負担も軽減されます (ネットワーク全体のすべてのトランザクションを処理して保存する必要がなくなるため)。各ノードは完了した作業をメインチェーンに書き込み、ローカルデータをリアルタイムで共有します。これは eth 2.0 の元のアップグレード計画に含まれる拡張計画であり、danksharding に置き換えられました。
c. ブロック サイズを増やします。各ブロックがより多くのトランザクションを処理できるようにします (現在のイーサリアム アップグレード プロト ダンクシャーディングも同様のソリューションで、この部分をアップグレードすると、単一の共有が存在します)。
レイヤー1の拡張には多くの手間がかかります。多くの場合、すべてのインターネット ユーザーがそのような変更に同意するわけではありません。これはコミュニティの分裂やハードフォークにつながる可能性があります。 (2017 年にビットコインがビットコイン キャッシュに分割されたのはハードフォークの結果です)
オフチェーン、チェーン下での拡張
副題
Ⅰ. サイドチェーン
サイドチェーンは独立して運用されるブロックチェーンであり、そのセキュリティは完全に独自のプロトコル メカニズムに依存します。これは、サイドチェーンと現在主流のオフチェーン拡張ソリューションのレイヤー 2 との最大の違いでもあります。
独立したチェーンとしてのサイド チェーンと一部のレイヤー 1 パブリック チェーンの違いは、サイド チェーンがイーサリアム全体と競合するのではなく、イーサリアムの過剰容量の処理に特化していることです。これらのエコシステムはイーサリアム コミュニティと緊密に統合されており、補完的な方法でイーサリアム アプリケーションをホストします。
この部分の分類に関しては、インターネット上の多くの記事が非常にわかりにくく、側鎖は Layer2 に分類されることがわかりました。このパートでは主にイーサリアム財団とサイドチェーンのホワイトペーパーのサイドチェーンの定義を参照します。
https://ethereum.org/en/developers/docs/scaling/sidechains/
オフチェーン拡張の 2 番目のタイプは、今述べたレイヤー 2 ソリューションであり、誰もがよく耳にするものです。基本的な考え方は、オフチェーンで計算/実行し、結果をチェーンにアップロードする、つまりオフライン バッチ処理です。第 1 層の Ethereum コンセンサスから直接セキュリティを取得します。さまざまなレイヤー 2 ソリューションは、セキュリティ、拡張効率、分散化の程度、汎用性の間のバランスを見つけます。
まずサイドチェーンについて話しましょう。
サイドチェーン サイドチェーンは、イーサリアムメインネットから独立して並行して実行される独立したブロックチェーンです。
これらは通常、トランザクションを効率的に処理するように設計されています。第 2 レベルのスケーリング ソリューションとの最大の違いは、サイドチェーンが状態の変更やトランザクション データをイーサリアム メインネットに公開しないことです。そのため、サイドチェーンはイーサリアムのセキュリティ プロパティを継承しません。
サイドチェーンは多くの場合、ある程度の分散化やセキュリティを犠牲にして高スループットを達成するために選択されます。
サイド チェーンは主にメイン ネットワークとのリンクを実現し、双方向ペグ クロス チェーン ブリッジを通じてメイン ネットワークと相互運用します (この概念については後ほど詳しく説明します)。ここでのいわゆる双方向アンカリングとは、主にサポート資産の双方向アンカリング、つまりメインチェーンとサイドチェーンの間での資産の相互移転を指します。ただし、ここで注意が必要なのは、実際には、資産の移転は本当の意味で行われるのではなく、「あるチェーンにロックインし、別のチェーンに同じ額面の資産をキャストする」という方法で「クロスチェーン」されるということです。ただし、双方向アンカークロスチェーン橋を建設するプロジェクトはすべてサイドチェーンと見なすことができます。
まず、双方向ペグクロスチェーンブリッジとは何かを理解しましょう。
この概念は、2014 年に発行されたサイドチェーン ホワイト ペーパーで BlockStream によって提案されました。双方向アンカリングとは、10eth などのメイン チェーン上の資産を特定のアドレスにロックすることを指します。同時に、この「ロックされたトランザクション」の証拠をサイド チェーンに提供することで、同量のデジタル資産がラップされたトークンの形式 たとえば、10 ウェスがサイドチェーンで鋳造され、10 ウェスがサイドチェーンで取引できるようになりました。逆に、ユーザーがメインチェーンから eth を引き出したい場合は、サイドチェーンにある同じ額面の残りのラップされた eth を破棄できます。
メインチェーンにロック(ロック)トークン、サイドチェーンにミント(ミント)(ラップ)トークン。サイドチェーンのトークンを破壊/書き込み、メインチェーンのトークンを抽出します。
https://medium.com/techskill-brew/layer-2-blockchain-scaling-solutions-channels-sidechains-rollups-and-plasma-part-16-79819e058ef6
サイドチェーンの動作環境はメインチェーンと同じで、同じくEVM(イーサリアム仮想マシン)に基づいています。ただし、サイドチェーンには独自の台帳システム、コンセンサスアルゴリズム (権限の証明、資本の委任された証明、ビザンチンフォールトトレランスなど) スクリプトコントラクトなどがあります。しかし、さまざまな目的を達成するために、さまざまな方法でセキュリティを実現します。
以下にいくつかの例を示します。
シングル エスクロー モード 集中型 (基本的な第三者機関): これは、現段階でブロックチェーン間でデジタル資産を転送する最も簡単な方法です。メイン チェーン上の資産を単一のカストディアン (取引プラットフォームなど) に送信し、資産を受け取った後にエスクローします。当事者はサイドチェーン上で同等のアセットをアクティブ化し、アセットをサイドチェーン上で循環させることができます。このアプローチの最大の欠点は、集中化しすぎることです。
フェデレーション モデル フェデレーション - マルチシグ フェデレーション: フェデレーション モデルは、公証人同盟を使用して単一の管理者を置き換え、公証人同盟のマルチ署名を使用してサイドチェーン内のデジタル資産のフローを確認します。このモデルでは、メインチェーン上の凍結されたデジタル資産を盗もうとする場合、より多くの機関を突破する必要がありますが、サイドチェーンのセキュリティは依然として公証人同盟の誠実さに依存しています。この方法は依然として集中化されています。
SPV (簡易支払検証) モード: 上記 2 つのスキームは仲介者を通じて保護され、両方とも集中化されます。
SPV (Simplified Payment Verification)、つまり単純な支払い検証は、より安全な分散型の方法です。
SPV は、ナカモト氏が「ビットコイン ホワイト ペーパー」で言及した概念です (「ペッグ サイドチェーンによるブロックチェーン イノベーションの実現」興味のある方は読んでみてください。下にリンクを貼っておきます)。これは、ビットコインの基盤技術において非常に重要な概念でもあります。
SPVはトランザクションの存在を証明する手法であり、少ないデータ量で特定のブロック内のトランザクションの存在を証明できるのが特徴です。 SPV モードの場合:
1. ユーザーは、メインチェーン上の特別なアドレスにアセットを送信して、メインチェーン上のアセットをロックします。
2. メインチェーンでの確認期間の待機とは、コインがサイドチェーンに転送される前に親チェーンでロックされなければならない期間を指します。この確認期間の目的は、次の待機期間中のサービス拒否攻撃をより困難にするのに十分な作業を生成することです。一般的な確認期間は 1 ~ 2 日程度です。
特別な出力が親チェーンで生成されると、ユーザーは確認期間が終了するのを待ってから、その出力を参照するトランザクションをサイドチェーンで生成し、それが作成され、十分なワークロードによってカバーされていることを示す SPV 証明を提供します。親チェーン、確認期間はサイドチェーンに依存するセキュリティパラメータであり、クロスチェーントランザクションの速度とセキュリティの間のトレードオフです。
3. メインチェーンの確認期間が終了し、資産がロックされていると判断された後、SPV 証明書が作成され、サイドチェーンに送信されます。次に、この SPV プルーフを持つ対応するトランザクションがサイドチェーンに表示され、このトランザクションはサイドチェーン上に同じ値のサイドチェーン トークン資産を生成します。
4. 生成されたサイドチェーンアセットは最初にロックされ、その後ユーザーは競争期間を待つ必要があります。この期間中、新しく転送されたコインをサイドチェーンで使用することはできません。競争期間の目的は、再編中の二重支出を防止し、再編中に以前にロックされていたコインを移転することです。この遅延期間中の任意の時点で、ロックされた出力を生成したブロックを含まない、より蓄積された作業を含むチェーンに対応する新しいプルーフ・オブ・ワークが発行された場合、その遷移は遡って無効になります。これを組織再編の証拠と呼びますが、二重支出を防ぐために争議期間が必要です。競技期間中にユーザーがロックされたコインをメインチェーンに転送し、他のユーザーが最新のSPVを使用してこれを証明できた場合、サイドチェーンの鋳造取引は無効となり、この証明は再編証明と呼ばれます。
不正なプルーフが認識されるとすべてのコインの価値が薄れるため、サイドチェーン上のすべてのユーザーは可能な限り、再編成のプルーフを発行するインセンティブを持ちます。
5. 通常のコンテスト期間も 1 ~ 2 日です。競争期間が終了すると、サイドチェーン トークンが生成され、親チェーンとのさらなるやり取りなしでサイドチェーン内で自由に転送できます。ただし、親チェーンコインのアイデンティティは依然として保持されており、元のチェーンにのみ転送できます。
6. ユーザーがコインをサイドチェーンから親チェーンに転送したい場合、プロセスは上記のステップを繰り返します。コインをサイドチェーンの SPV ロック出力に送信し、コインが出力が完了しました。この証明を使用すると、以前に親チェーンでロックされていた額面出力のロックが解除されます。
(それほど重要ではありません) ドライブ チェーン モード ドライブチェーン: ドライブ チェーンの概念は、Bitcoin Hivemind の創設者である Paul Sztorc によって提案されました。ドライブ チェーンでは、マイナーはサイド チェーンの現在の状態を検出する「アルゴリズム プロキシ ガーディアン」として機能します。マイナーは資金の管理者であり、ドライブ チェーンはロックされた資産の監督権限をマイナーに発行し、いつロックを解除するか、およびロックされていない資産をどこに送信するかをマイナーが投票できるようにします。マイナーはサイドチェーンの状態を監視し、サイドチェーンからリクエストを受信すると、調整プロトコルを実行してリクエストの信頼性について合意します。ドライブ チェーンへの誠実なマイナーの参加が増えるほど、システム全体のセキュリティが強化されます。
(それほど重要ではありません) ハイブリッド モード: ドライブ チェーン + 公証/サイド チェーンとハイブリッド モードは、双方向アンカリングを取得する上記の方法を効果的に組み合わせたモードです。メインチェーンとサイドチェーンの実装メカニズムの根本的な違いにより、対称双方向アンカー モデルは完全ではない可能性があります。ハイブリッド モードは、サイド チェーンで SPV モードを使用し、メイン チェーン ネットワークでドライブ チェーン モードを使用するなど、メイン チェーンとサイド チェーンで異なるロック解除方法を使用することです。
データ可用性 (DA):
データの有効性に関しては、サイドチェーンは、データはサイドチェーンに保存され、固定されていないと述べているため、サイドチェーン自体のバリデータによってのみ保証でき、セキュリティははるかに弱いです。
サイドチェーンプロジェクト:
Polygon- このプロジェクトは単一のレイヤー 2 プラズマ ソリューション (以前は Matic Network として知られていました) から始まり、最終的にはイーサリアム互換のブロックチェーン ネットワークとスケーリング ソリューションの作成に使用できる現在のスケーリング フレームワークにまで拡張されました。 (これは単一のソリューションというよりはプロトコルです。その目標は、イーサリアム開発キットの周囲にポリゴンのようなマルチチェーン ネットワークを作成することです)。その中で、Polygon POS サイドチェーンはトラックのリーダーとみなされます。 Polygon チームは、将来的にもイーサリアムが高価値トランザクションと価値ストレージの主要なブロックチェーンであり続ける一方で、日常のトランザクションは Polygon の低コストのブロックチェーンに転送されると考えています。したがって、polygon pos サイドチェーンは、市場を獲得するためにイーサリアムのメインネットワークと直接競合するのではなく、イーサリアムの拡大を支援することによって価値を提供します。
Gnosis Chain- 以前は xDai サイドチェーンとして知られていましたが、後に Gnosis と合併して Gnosis Chain を開発しました。低コストとイーサリアム互換性が gnosis チェーンの 2 つの主なセールスポイントです。
Skale - ゲームをイーサリアムの「弾力性のあるサイドチェーン ネットワーク」として位置づけ、数千の独立したブロックチェーン、サイドチェーン、ストレージ チェーン、その他の種類のサブチェーンをサポートできます。これらのブロックチェーンはすべてイーサリアムメインネットに接続されており、イーサリアムエコシステムと完全に互換性があります。
Palm- イーサリアム共同作成者ジョセフ・ルービン、コンセンシス創設者、映画プロデューサー、ヘイデイ・フィルムズオーナーのデビッド・ヘイマン、アートテクノロジーグループHENIグループ創設者ジョー・ヘイジ。これは、ユーザーが NFT を作成できるようにするイーサリアム サイドチェーンです。
Ronin- チェーンゲーム Axie Infinity の開発者 Sky Mavis が立ち上げたチェーンゲームベースのサイドチェーン。なぜなら、ゲームでは、毎日発生する数万、さらには数百万のトランザクションアクティビティを拡大し、促進するために、高速なインタラクションと低いトランザクション手数料が必要だからです。ユーザーエクスペリエンスはフレンドリーでスムーズでなければなりません。したがって、チームはそれを自分たちでやっただけです。
フラグメント チェーン - 元の eth アップグレード プラン (eth 2.0) のフラグメント チェーンは、eth 独自のサイド チェーン バリアントにも属します。
長所と短所:
+ve:
1) サイドチェーンの互換性は非常に優れており、一般的なコンピューティングをサポートし、EVM と互換性があり、スマート コントラクトをサポートできます。
2) 大規模で複雑なトランザクションになると、サイドチェーンの TPS が非常に高くなる可能性があります。比較サイドチェーンの設計は、高スループットを達成するために、いくつかの分散化またはセキュリティ対策を犠牲にすることです (この部分は、ブロックチェーンの不可能な三角形を指す場合があります)。
3) サイドチェーンを設定する主な目的は、メインチェーンの混雑を軽減し、全員のコストを削減し、イーサリアムエコシステムの使いやすさとスケーラビリティを高めることです。
4) 開発者はサイドチェーンを使用して、メインチェーンでは利用できない新しい機能やユースケースを探索およびテストすることもできます。たとえば、最も初期のサイドチェーンの概念はどのようにして現れたのでしょうか?それは 2012 年のことでした。ビットコイン コア開発チームは、新しい機能を追加するためにビットコイン プロトコルを安全にアップグレードする方法を検討していましたが、ビットコイン ブロックチェーンに機能を直接追加するのは危険であると懸念していました。ネットワーク内でソフトウェア障害が発生すると、既存のビットコインネットワークに重大な影響を及ぼします。また、ビットコインのネットワーク構造の特性上、大規模な変更を行う場合には大多数のビットコインマイナーのサポートが必要となります。この時点で、ビットコインコアの開発者はサイドチェーンソリューションを提案しました。
したがって、最も初期のサイドチェーンは、開発者が新しい機能を探索して他のブロックチェーンに接続し、これらのサイドチェーンを既存のビットコインブロックチェーンに接続できるようにするものでした。ビットコインの親チェーンネットワークを保護するため。
-ve:
1) サイドチェーンとロールアップおよびチャネルの主な違いは、ロールアップとチャネルの両方がイーサリアムメインネットワークのセキュリティを継承しますが、サイドチェーンは通常、独自のコンセンサスメカニズムを使用するため、特定のタイプのトランザクション用に設計されていることです(目的はこれは、通常、イーサリアムのセキュリティ特性を継承しないことも意味します。技術的に言えば、サイドチェーン ソリューションはレイヤー 2 に属しません。
2)地方分権の度合いが低い。
副題
Ⅱ. Layer2 レイヤ2ソリューション
基本的な考え方は、オフチェーンで計算/実行し、結果をチェーンにアップロードすることであり、データはオフラインでバッチ処理されます。この方法は、イーサリアムの最初の層のコンセンサスから直接セキュリティを取得し、スキームには次のものが含まれます。
A.チャンネルチャンネル
これは非常に初期の長年にわたるブロックチェーン スケーリング ソリューションであり、ビットコインのライトニング ネットワークでの使用で最もよく知られています。使いやすさよりもセキュリティを重視します。
参加者は、マルチシグコントラクトで ETH 預金などのイーサリアムの状態の一部をロックする必要があります。初期状態のロックは最初のトランザクションであり、チャネルが開きます。その後、参加者はオフチェーンで迅速かつ自由に取引を行うことができます。インタラクションが終了したら、最終状態をチェーンに送信し、チャネルを閉じます。
これは、Payment Channel と State Channel の 2 つの支払いチャネルにさらに分けることができます。
Payment Channel: 次に、メイン チェーン上にマルチシグネチャ コントラクト アドレスを構築します。たとえば、A と B がこのようなマルチシグネチャ コントラクトを作成すると、相互の同意があった場合にのみ資金を転送できます。 A と B がそれぞれ 10e 回入金すると仮定して、自分のお金を入金します。この初期状態は、支払いチャネルを開くのと同じです。その後、チェーンの下でそれらの間で数十、さらには数千のトランザクションが発生し、各トランザクションの両当事者が署名とスタンプを押す必要があります。最後に、A は 5eth を持ち、B は 15eth を持ちます。しかし、ブロックチェーン上に非常に多くのトランザクションを記録するのではなく、最初の資金調達トランザクションと、すべてのトランザクションが終了した後の最終的な残高分配という 2 つだけを記録します。最終残高をメインチェーンにアップロードすることは、支払いチャネルを閉鎖することと同じです。
A と B の場合、チェーンの下でのトランザクションは手数料がかからず、ほぼ瞬時に行われます。両当事者はマイナー手数料を支払う必要がなく、ブロックの確認を待つ必要もありません。
State Channel: これは実際には Payment Channel の派生であり、名前から判断すると、このソリューションは「状態」、つまりトランザクションの状態だけでなく、ゲームの状態、アクティビティの状態などにも基づいています。たとえば、バックギャモン ゲームを開始するには、新しい「判定」プログラムを作成し、それに最初の賭け金を提供して、状態チャネルが開かれるようにする必要があります。彼らの動きはトランザクションとしてブロックチェーンに送信されません。ただし、次のステップに進む前に、各ステップで双方が署名してタイムスタンプを添付する必要があります。プログラムがルールに従って一方の側が勝ったと判断した場合にのみ、ゲームは終了し、a と b がステータス更新に署名し、賭け金はゲームの結果に従って単純に分配されます。これは、状態チャネルを閉じることと同じです。
データの可用性 データの可用性 (DA):
すべてのデータはレイヤー 2 に保存され、DA はチャネル当事者の両方によって保証されます (転送またはゲームのプロセス全体は参加者 a と b 自身が維持する必要があります)
状態の有効性 状態の有効性 (SV):
チャネルの終了後、どの当事者も最終状態を Layer1 に送信できますが、Layer1 は検証せず、最初に送信者に誓約を求めます。その後、Fraud Proof の期間が 1 週間あり、誰でもペンに対する疑いを解決し、証拠 (ステータスが間違っていることを証明する) を提出できます。この課題は検証可能です。先ほど述べたように、すべてのオフライン転送と動作では、双方が署名してタイムスタンプを追加する必要があります。したがって、質問者が提供した不正証拠が署名されていることを示し、**時間が以前より新しい**場合、これは検証可能な不正証拠です。この証明が最新の状態となり、状態を提出した人が質入れしたコインが差し引かれます。
チャンネルアイテム:
BTCのLightning Network照明ネットワーク
長所と短所:
+ve:
1) このチャネルは主に高頻度かつ少額の支払いを対象としています。
2) 取引時間と手数料を大幅に節約します。特に取引手数料に関しては、チャネルを作成するための初期費用がかかります。ただし、一度デプロイされると、チャネル内のすべての状態更新は非常に安価になります。実際にチェーン上に記録されるトランザクションは 2 つだけです。
3) 状態の正当性 SV は不正行為の証明によって十分に保証されます。
4) 国営チャンネルは強力なプライバシー パフォーマンスを備えています。公開放送やチェーン上での録画ではなく、すべてがチャンネル内で行われるためです。開始転送と終了転送のみをパブリックにする必要があります。しかし、サイドチェーン システムでは、各転送はサイドチェーン上で公開され、サイドチェーン上のすべての参加者がそれを受け取ります。
5) 状態チャネルには即時ファイナリティがあります。つまり、2 つの当事者が状態更新に署名するとすぐに、状態は完了したと見なされます。
-ve:
1) コインの出金が遅く、不正行為が証明されるまでに 1 週間かかります
2) 時々相手に送金するユーザーにとって、チャネルの作成と決済にかかる時間と経済的コストは比較的高く、あまり親切ではありません。なぜなら、複数署名の契約書を作成し、署名し、審査手順を設計する必要があるからです...
3) 自由参加はサポートされていません。まだ参加していない人にオフチェーンで資金を送金するためにチャネルを使用することはできません
4) TPS は平均的で、参加者数が少ない場合に適していますが、大規模で複雑なトランザクションの場合、パフォーマンスが追いつきません。
5) チェーンではないため、スマート コントラクトはサポートされていません。
6) ステータス チャネルでは、すべての参加者が 100% オンラインである必要があり、参加者が途中で退出した場合、誓約されたトークンは差し引かれます。
7) 明確な論理所有者を持たないオブジェクト (Uniswap など) を表すためにチャネルを使用することはできません。したがって、チャネルおよびチャネルのみを使用して、明確な論理所有者のないオブジェクト (Uniswap など) を表すことはできません。参加者のセットが定義されているアプリケーションに適しています。参加者の追加と削除は可能ですが、コントラクトを更新する必要があります毎回変更を加えます。
B. Plasma
チャネルの「大規模かつ大規模かつ複雑なトランザクションをサポートできない」という制限により、Plasma ソリューションが登場しました。サイドチェーンのいくつかの設計を組み合わせることで、任意の対象者にアセットを送信する問題を解決し、TPS の向上も保証できます。実際、開発者が Layer2 ソリューションを研究し始めたとき、Plasma は長い間「正しいもの」と考えられていました。
しかし、いくつかの欠陥があったため、後にレイヤー 2 に置き換えられたため、ここで皆さんに簡単に紹介します。
Plasma は独立したブロックチェーンです. 当初の設計でもサイドチェーンの主な目的を維持することが望まれていました. オフチェーントランザクションを通じて拡張することができ, 同時にサイドチェーン自体のセキュリティ問題をある程度解決することができます(つまり、サブチェーンが攻撃に遭遇したとき、サブチェーンに保存されている資産は常に安全です) したがって、サイドチェーンの一部のパフォーマンス(スマートコントラクトの実行など)はトレードオフの後に放棄されます。ただし、ブロックをメイン ネットワークに固定することでセキュリティが強化されます。彼とサイドチェーンの 2 つの最大の違いは次のとおりです。
1) サイドチェーンはブリッジを使用してメインチェーンと対話しますが、サイドチェーンのセキュリティは独自のコンセンサスメカニズムに依存します。そして、サイドチェーンはメインネットよりもはるかに小さい傾向があります。ただし、プラズマは自身の各ブロックの状態情報をブロックルートの形でイーサリアムメインネットワークに公開します。したがって、プラズマチェーン上のステータス情報は、イーサリアムメインネット上で確認することができます(ただし、サブチェーン上の特定のトランザクションデータストレージは、ユーザーがダウンロードして保存する必要があります。イーサリアムメインチェーンは、イーサリアムメインネット上で確認者の役割を担うだけです)このプロセスは検証者ではなく、そのためセキュリティ レベルが低いです)。したがって、プラズマチェーンとも呼ばれます。"息子"チェーンは本質的に「親」イーサリアム チェーンの小さなコピーであるためです。これは、メインチェーンのセキュリティの一部を継承することを意味するため、レイヤー 2 スキームにも属します。
2) プラズマではスマート コントラクトはサポートされておらず、基本的なトークン転送、交換、およびその他のトランザクション タイプのみがサポートされています。
「チェーンの中のチェーン」を無制限に作成:
各プラズマは親チェーンの作業負荷を軽減するためにより多くのサブチェーンを無限に作成でき、各サブチェーンには「オペレーター」と呼ばれる役割があります。
オペレーターの定期的な「ステータスコミットメント」:
すべてのオフチェーン トランザクションは、最初にサブチェーンのオペレーターに集約され、その後 (サブチェーンをメイン チェーンに固定し直す必要があるため)、オペレーターはサブチェーンの計算結果を定期的に要約します。マークル ツリーの形式でブロックにパックおよび圧縮し、ブロック ルートを作成し、最後にブロックをメイン チェーンに送信して状態記録を取得します。いわゆる「ステータスコミットメント」の定期提出です。このように、2 回の送信中にサブチェーン上でどれだけ多くのトランザクションが発生しても、サブチェーンはトランザクションの実行によって生じた状態情報をメイン チェーンに送信するだけで済みます。トランザクションデータはメインチェーンには送信されません。
入口 - メインネット契約:
サイドチェーンと同様に、Plasma はイーサリアム上で実行されるメイン コントラクトを使用してユーザーの出入りを処理します。ユーザーは、ETH または ERC-20 トークンを主契約に預け入れる必要があります。契約デポジットを監視しているプラズマ オペレーターは、ユーザーの最初のデポジットと同じ金額を再作成し、プラズマ チェーン上のユーザーのアドレスにリリースします。
終了 - 不正防止:
そして、プラズマチェーンを立ち上げる際、つまりお金を引き出す際に、プラズマは前述した「チャレンジ期間」を導入し、不正行為を処罰し、不正証明によって国家の正当性を確保した。この基本契約は、国家の約束 (前述) を追跡し、不正行為の証明を通じて不正行為を罰する責任もあります。 「不正証明」とは、このチャレンジ期間 (通常は 7 日以上) 内に、誰でもユーザー資産の引き出しが違法であることを証明するためにマークル ツリー検証方法を提出できることを意味します。
Drawn by RJ
状態ルート 状態ルート:
まず第一に、プラズマは、プラズマ サブチェーンのステータス レコードを維持するために、メイン チェーン上にコントラクト (または一連の相互関連した) コントラクトがあると述べました。このステータス レコードは、実際にはマークル ツリーのルート ノードによって保存されます。 . ハッシュ値、このハッシュ値は状態ルートと呼ばれます。
具体的な説明: マークル ツリー (バイナリ ツリー) では、現在のロールアップ層アカウントのステータス情報がバイナリ ツリーのリーフ ノードに記録されます。
2 つの状態情報 (状態 1/状態 2 など) ごとに、これら 2 つのリーフ ノードの親ノードとして特定のハッシュ式に従って一意のハッシュ値 (例: Hash(1,2) ) を計算できます。 1 つなど、最後にルート ノードに保存されているハッシュ値を取得します。ハッシュ値の計算方法を知る必要はなく、いくつかのことを覚えておくだけで済みます。
1) 状態が変化すると、ルート ハッシュが変化します。
2) 2 つのツリーのルート ハッシュ値が同じ場合、リーフ ノードに格納されている情報がまったく同じであることを意味します (したがって、確認するには 2 つのルート ノードのハッシュ値を比較するだけで済みます)基礎となる状態情報の一貫性)。
3) ルートノードのハッシュ値とダウンロードした隣接ハッシュ値に基づいて、このハッシュツリーに特定の状態情報が存在することを確認できます。
Drawn by RJ
ロールアップでトランザクションが発生すると、新しいステート ルートが生成されます。任意のサブチェーンのユーザーは、この時点でダウンロードされサブチェーンに記録されたトランザクション情報に従って、新しい状態ルートが正しいかどうかを比較および証明できます。 (先ほども触れましたが、記録されたトランザクション/リーフノードが完全に一貫している限り、ルートハッシュ値は同じでなければなりません。
資金を完全に安全に保つために、ユーザー (潜在的な「検証者」) は定期的にプラズマ チェーンを観察し、チェーン上のトランザクションを記録する必要があります。これには、プラズマ チェーンを自動的に同期 (ダウンロード) し、すべてが期待どおりに動作することを確認するソフトウェアの実行が含まれます。ユーザーは少なくとも数日ごとにソフトウェアを実行する必要がありますが、正確なタイミングは、Plasma MVP スマート コントラクトによって設定されたパラメーターによって異なります。
PlasmaChain が適切に機能している場合、ユーザーは他に何もする必要はありません。ただし、不可逆的なエラーが発生した場合 (まれであることが望ましい)、ユーザーのウォレットはプラズマ チェーンから自動的に資金の引き出しを開始します。この自動引き出しにより、悪意のあるオペレーターが資金を盗もうとする最悪のシナリオでも、ユーザーの資金は安全に保たれます。
データが利用できません:
しかし、プラズマにはデータが利用できないという大きな問題があります。不正行為の証明は、ユーザーの悪行を効果的に防止するだけでなく、誠実なノードが 1 つでも存在する限り、チェーンのセキュリティを保証することもできます。しかし、オペレーターが悪事を行っており、ユーザー/検証者が信頼性を証明できる関連取引情報を持っていない場合はどうなるでしょうか?ユーザーが不正証拠を提出できるため、ユーザーがサブチェーンにトランザクションデータを記録している+オペレーターがメインチェーンに実際のトランザクションデータをすべてパッケージ化していることが前提となるため、オペレーターが悪意を持って無効なデータを提出した場合、次のようになります。不正防止に必要な関連情報に限ります。 情報が隠蔽されると、ネットワーク内のユーザーは、取引が無効であることを証明するための実際の情報を入手できなくなります。
大量退場:
「オペレーターが悪事を行う」という問題は、血漿溶液では効果的に防ぐことができないため、解決策を考えるしかありません。プラズマは「大量離脱」計画を設計しましたが、この計画はイーサリアム自体のネットワーク混雑を引き起こす可能性があります...
プラズマプロジェクト:
Matic は初期の頃からプラズマを使用していましたが、その直後にブロックチェーン研究者がデータの可用性の問題を発見し (このレポートで詳しく説明します)、他のソリューションでプラズマが非推奨になる原因となりました。名前変更後、ポリゴン プロジェクトは包括的なオールストップ拡張ソリューションに変わりました。
長所と短所:
+ve:
1) 高スループットを提供し、
2) トランザクションあたりのコストが低い。
3) あらゆるユーザー間の取引に適用されます。これを使用する人は、プラズマ以外の人に資産を送ることができ、受取人は受領証明を持っていればいつでもプラズマに戻って現金化することができます。一方、両方がプラズマ チェーン上に構築されている場合、ユーザー ペアごとのオーバーヘッドはありません。したがって、プラズマはメインチェーンに関係のない特定のユースケースにも適応できます。企業を含む誰でも、Plasma スマート コントラクトをカスタマイズして、さまざまな環境で動作するスケーラブルなインフラストラクチャを提供できます。
4) チャネルのように事前に資金をロックする必要はありません。
5) 高いセキュリティ。プラズマのセキュリティはメインネットワークにある程度依存します。 (不正証明不正証明) サイドチェーンのバリデーターは定期的にステートツリーのステートルートをメインチェーンに送信しますが、メインチェーンは検証を行わないため、誰でも1週間以内にチャレンジと不正証明を提出できます。このようにして、sv 状態の正当性が保証されます。
-ve:
1) スマートコントラクトは実行できません。 Plasma は、基本的なトークン転送、スワップ、およびその他のいくつかのトランザクション タイプのみをサポートします。
2) 提出期間が定められており、この期間内に支払いを行った場合、支払いは確認されませんので、期間が終了するまで待つ必要があります。
3) 出金には時間がかかり、異議申し立てと不正行為の証拠の提出が可能になるまで通常 7 日間待つ必要があります。
4) 資金の安全性を確保するためにネットワークを定期的に監視するか (活動要件)、この責任を他の人に委任する必要がある
5) データを保存し、要求に応じてサービスを提供するために 1 人以上のオペレーターに依存します。
6) あまりにも多くのユーザーが同時に終了しようとすると、イーサリアムメインネットが混雑する可能性があります。
ここで、チャネルと比較したプラズマの主な利点は、ユーザーがシステムに参加したことのない参加者にアセットを送信でき、資本要件がはるかに低いことであることがわかります。ただし、トレードオフもあります。チャネルはオンチェーンで実行するためにデータを必要としませんが、Plasma では各チェーンが定期的にハッシュを発行する必要があります。また、プラズマ転送は即時ではありません。ユーザーはチャレンジが終了するまで待つ必要があります。
しかし、プラズマ自体の核心的な問題は、効率を向上させるために、プラズマ サブチェーンがすべてのトランザクション データではなくステータス結果をメイン チェーンに定期的にのみ送信することです。しかし、これを行う代償として、「データの有効性」を保証する責任はイーサリアムのメインネットワークではなく「運営者」にあるため、プラズマはイーサリアムのメインチェーンと同じレベルの信頼を確立できないということです。しかし、オペレーターには悪事を働く動機があります。
それ以来、ロールアップ ソリューションが存在します...
C. Roll-Up:
Rollup は現在最も主流の拡張ソリューションであり、元のメイン チェーンの処理方法と Plasma 方法の間の妥協点と見なすことができます。プラズマと同様に、イーサリアム メイン チェーン (つまり、最初の層) の外側でトランザクションを実行し、その後、複数のトランザクションをまとめてバッチ化し、最終的にそれらの状態をイーサリアムのメイン ネットワークに送り返します。ただし、違いは、1) ロールアップはトランザクション データをメイン チェーンにも送信すること、2) ロールアップはトランザクション データを最大限に圧縮すると同時に、ロールアップの特性に基づいて一部のデータを適切に削除および削減することです。最終的な送信が保証されている限り、それ自体はメインチェーン上の誰でも検証できます。 (両方のロールアップは血漿に基づいており、トランザクション データに対して異なる証明スキームを提供します。)
したがって、ロールアップはプラズマよりも安全です。そしてその中心的な利点は、状態の有効性とデータの可用性を同時に確保できることです。
ロールアップはどのように実装されますか?
状態ルート (前述):
まず、Rollup は、Rollup 層のステータス レコードを維持するために、メイン チェーン上にコントラクト (または一連の相互関係のある) コントラクトを持っています。このステータス レコードは、実際にはマークル ツリーのルート ノードによって保存されるハッシュ値です。このハッシュ値は、をステートルートと呼びます。
具体的な説明: マークル ツリー (バイナリ ツリー) では、現在のロールアップ層アカウントのステータス情報がバイナリ ツリーのリーフ ノードに記録されます。
2 つの状態情報 (状態 1/状態 2 など) ごとに、これら 2 つのリーフ ノードの親ノードとして特定のハッシュ式に従って一意のハッシュ値 (例: Hash(1,2) ) を計算できます。 1 つなど、最後にルート ノードに保存されているハッシュ値を取得します。ハッシュ値の計算方法を知る必要はなく、いくつかのことを覚えておくだけで済みます。
1. 状態が変化すると、ルート ハッシュが変化します。
2. 2 つのツリーのルート ハッシュ値が同じである場合、リーフ ノードに格納されている情報がまったく同じであることを意味します (したがって、確認するには 2 つのルート ノードのハッシュ値を比較するだけで済みます)基礎となる状態情報の一貫性。
3. ルート ノードのハッシュ値とダウンロードされた隣接ハッシュ値に基づいて、このハッシュ ツリーに特定の状態情報が存在することを確認できます。
Drawn by RJ
バッチ (これもロールアップの大幅な改善です):
ロールアップでトランザクションが発生すると、新しいステート ルートが生成されます。
ただし、すべてのトランザクションが署名され、メイン チェーンでステート ルートが更新される場合、コストはこれらのトランザクションを Layer1 で実行する場合よりも高くなります。
したがって、ロールアップで生成されたトランザクションはバッチにパッケージ化および集約され、このバッチ内のすべてのトランザクションが実行された後の状態に応じて新しい状態ルートが生成されます。メインチェーン上のスマートコントラクトにトランザクションパッケージを送信する人が誰であっても、この新しい状態ルートを計算し、以前の状態ルートとトランザクションデータと一緒に送信する必要があります。
パッケージ化のこの部分は「バッチ」と呼ばれます。オペレーターがバッチをロールアップ コントラクトに送信した後、メイン チェーンは新しい状態ルートが正しいかどうかを検証します。検証に合格すると、状態ルートは更新されます。最後に送信されたステート ルート、そして最後にロールアップでステート転送の確認を完了します。
したがって、Rollup の本質は、実際に生成された多数のトランザクションをメイン チェーン上のトランザクションに集約することであり、これらのトランザクションは Rollup チェーンによって実行および計算されますが、データはメイン チェーンに送信されます。これにより、メインチェーンのコンセンサスとセキュリティが活用されるだけでなく、実際のトランザクション効率が向上し、トランザクションコストが削減されます。
https://vitalik.ca/general/2021/01/05/rollup.html
https://vitalik.ca/general/2021/01/05/rollup.html
圧縮:
これら 2 つの技術ソリューションは拡張を実現でき、その中心となるのはトランザクション データの圧縮とパッケージ化です (前述したように、ロールアップの主な改良点はトランザクション データをチェーンにアップロードすることであるため、「圧縮」はこの部分に当てはまります)。これは、イーサリアムのブロックガス制限には上限があり、圧縮されたトランザクションが小さいほど、一度にメインチェーンに送信できるトランザクションの数が多くなり、償却コストが低くなるためです。では、どうやってこれを行うのでしょうか?
以下は、理解に役立つ例として、Vitalik 氏の記事で説明されている zk 圧縮モードです。
イーサリアム メイン チェーン上の単純なトランザクション (ETH の送信など) は通常、約 112 バイトを消費します。ただし、zk-Rollup での ETH の送信は約 12 バイトに削減できます。
https://vitalik.ca/general/2021/01/05/rollup.html
このような圧縮効果を実現するために、一方ではよりシンプルで高度なエンコードが採用され、他方ではいくつかの巧妙な圧縮技術が存在します。
このチャートは非常に興味深いもので、ロールアップに関係なく、これらのパラメーターは通常、イーサリアム ネットワーク上のトランザクションに関係します。
Nonce: このパラメータの目的は、リプレイを防止することです。アカウントの現在のノンスが 5 の場合、そのアカウントからの次のトランザクションが処理された後、アカウントのノンスは 6 に増加します。一般に、ノンスは数万に達する可能性がありますが、rlp エンコーディングを通じて動的にバイトを短縮できるため、イーサリアム ネットワーク上のノンスは約 3 バイトです
Gasprice: 10 の負の 18 乗を単位とする数値で、rl エンコードされており、約 8 バイトです
ガス: これは、支払ってもよいガスの量を指しますが、一般的にはそれほど多くありません。一般に、イーサリアムのブロックのガス制限は 2,000 万ガスです。一般的に、譲渡取引のガスは約 20,000、契約のガスは約 100,000 ~ 200,000、最大で数十万です。したがって、ここでの平均はほぼ 3 バイトです
To: イーサリアム上のアドレスはほぼ 21 バイトであり、イーサリアムのアドレス範囲は非常に広いです
金額: 送金する際の金額を指しますが、契約に送金する必要がないため、多くの場合、契約金額は 0 になります。しかし、例えば5ethをあなたに送金した場合、その価値は価値を持つことになります。単位も 10 の負の 18 乗、rlp エンコーディング、ほぼ 9 バイトです
署名: 署名は比較的固定されており、ほぼ 68 バイトです。
このように計算すると、1 eth トランザクションはほぼ 112 になります。ロールアップは L2 に送信されるため、完全な情報を表現できる限り、L2 ソリューションの形式をカスタマイズできます。しかし、彼はこの情報を選択して圧縮することができます。例えば:
Nonce: Nonce はロールアップで完全に省略できます。 nonce は前の状態から復元できるためです。
GasPrice: 各バッチに固定料金レベルを設定したり、ガスの支払いを集約プロトコルから完全に外して、トレーダーがチャネルを通じてバッチ作成者に支払えるようにすることも可能です。
ガス: バッチレベルでガス制限を設定し、いくつかの特定の値を選択できます。
To: 20 バイトのアドレスは、マークル ツリー上のインデックスで置き換えることができます (たとえば、アドレスがツリーに追加された 4527 番目のアドレスの場合、インデックス "4527" を使用して単純に参照できます。以下に制限できます) 4バイト
値: 金額の単位を変更するか、他の技術的な方法を使用して金額を保存します。
署名: BLS 集約署名を使用して、複数の署名を 1 つに統合します。その後、署名はメッセージの「バッチ」全体に対して一度に検証できます。ブロックごとに検証可能に集約される署名の上限は 100 であるため、100 個の署名の大きなバッチでも 1 つの署名に集約できます。
最終的には約 12 バイトが節約されました。実際には精度を制限することに相当しますが、情報範囲は変わらず、ほぼ完全な情報を表現しています。これがロールアップが拡大できる理由の重要なポイントです。しかし、この拡張の理由は主に、メイン チェーンで calldate が制限されているためです。これは、calldate の各バイトがメイン ネットワーク上で少量のガスを消費し、メイン チェーン上のブロックの総ガス量が制限されているためです。したがって、calldata に含めることができる合計バイト数は制限されています。
これらの圧縮技術がロールアップ展開の鍵となり、トランザクションデータを圧縮しなければメインチェーンベースでは10倍程度しかロールアップの効率向上が期待できませんが、これらの圧縮技術を使用することで100倍以上の効率化が可能になります。さらに高い圧縮効率を実現。
Data availability :
送信された情報が正しく、利用可能であることを確認するにはどうすればよいですか?
ロールアップとプラズマの大きな違いは、トランザクション データをメイン チェーンに送信して、誰でも検証できるようにすることです。それでは、送信された情報が正しく、利用可能であることをどのように検証するかが問題になるのでしょうか?
この問題には一般に 2 つの解決策があり、異なる解決策に応じて、ロールアップも 2 つのカテゴリに分類されます: 楽観的ロールアップとゼロ知識 (ZK) ロールアップ。
a) 楽観的ロールアップ 名前が示すように、すべてのトランザクションが有効であると楽観的に仮定し、最初の証明なしでバッチをコミットします。チャレンジ期間中は、誰でも一部のデータが虚偽であることを検出し、証明することができます。
Drawn by RJ
バッチが不正であることが判明した場合、Optimistic rollps は不正証明を実行し、イーサリアム メイン チェーンで利用可能なデータを使用して正しいトランザクション計算を実行します。
また、今の図 (以下) を使用して、楽観的ロールアップの不正防止構造を説明することもできます。
バッチに含まれる情報には、状態前のルート、状態後のルート、およびトランザクション情報が含まれます。
状態前のルートの部分に従って、完全なマークル ツリーを構築できます。
トランザクション情報に従って、バッチで送信されたトランザクションの実行をシミュレートして、新しいアカウント状態、新しいマークル ツリー、および新しい状態ルートを取得できます。
前の手順で取得した状態ルートとバッチ内の状態ルートを比較して、バッチが正しいことを確認します。
https://vitalik.ca/general/2021/01/05/rollup.html
https://vitalik.ca/general/2021/01/05/rollup.html
https://vitalik.ca/general/2021/01/05/rollup.html
投稿者の悪行を阻止するために、投稿者は資金を差し入れる必要があり、投稿が不正であることが確認された場合、罰として差し入れた資金の一部が差し引かれます。同時に、対応する不正証拠を提出した検証者は、不正証拠を監視し提出する行動を奨励するために、差し引かれたデポジットを受け取ります。
OR と Plasma を比較すると、いくつかの類似点が見つかります。たとえば、どちらも不正防止メカニズムを使用しており、メイン チェーンへの OR の送信を監視するバリデーターの役割が必要です。ただし、OR は同時にトランザクション データをメイン チェーンに送信するため、OR 上の検証者は OR 上のトランザクションを保存および記録する必要がありません。
Drawn by RJ
長所と短所:
+ve:
1) 高スループットを実現
2) 取引コストが低い
3) ロールアップ トランザクション データは第 1 層チェーンに保存され、透明性、セキュリティ、検閲防止、分散化が向上します。セキュリティやトラストレス性を犠牲にすることなく、スケーラビリティが大幅に向上します。
4) 楽観的なロールアップの不正証明は、トラストレスの最終性と状態の正当性を保証し、正直な少数派がチェーンを保護できるようにします (理論的には、1 つの正直なノードでもチェーン全体のセキュリティを保証できます)。
5) オプティミスティック ロールアップでは、トランザクション データをメイン ネットワークにアップロードすることでデータの可用性も確保します。
6) EVM および Solidity との互換性により、開発者は Ethereum ネイティブ スマート コントラクトを Rollup に移植したり、既存のツールを使用して新しい dapps を作成したりできます。
-ve:
1) 出金には時間がかかり、異議申し立てと不正行為の証拠の提出が可能になるまで通常 7 日間待つ必要があります。
2) セキュリティ モデルは、集約されたトランザクションを実行し、無効な状態遷移に異議を唱えるために不正行為の証拠を提出する少なくとも 1 つの正直なノードに依存しています。
3) オプティミスティックロールアップでは、チェーン上のすべてのトランザクションデータを公開する必要があり、これには一定のコストも必要です。
楽観的なロールアップ プロジェクト:
b) 別の種類のロールアップ ソリューションは、ゼロナレッジ ロールアップ (ZK ロールアップ) です。
まず、ゼロ知識証明 ZKP とは何ですか?
ゼロ知識証明 (ZKP) は現代の暗号化の重要な部分であり、証明者が検証者に有用な情報を提供することなく、特定の主張が正しいと検証者に納得させることができるという事実を指します。
証明者は検証者に対して証明し、自分が特定のメッセージを知っている、または持っていると信じ込ませますが、証明プロセスでは証明されたメッセージに関する情報が検証者に漏洩することはできません。平たく言えば:
証明したいことを証明するだけでなく、検証者に情報を開示します。"ゼロ"。例: 数独
信頼性
信頼性
ゼロ知識
Optimistic Rollup とは異なり、ZK Rollup では提出者に「有効性の証拠」を携行することが求められます。有効性証明がメイン ネットワークのロールアップ コントラクトに送信されると、誰でもそれを使用して、zk Rollup レイヤーの特定のバッチのトランザクションが正しいかどうかを検証できます。証明はバッチの送信から数分以内に完了でき、検証が成功すると、メイン チェーン ロールアップ コントラクトによってステート ルートが最新の送信データに更新されます。これは基本的にバリデーターの作業を省略し、送信と同時に検証を完了するのと同じです。
これは次のことを意味します: 1. zk ロールアップでは、検証者がデータを保存し、チャレンジ期間中に不正証拠を提出するリンクが省略されます (下の図を参照); 2. 7 ~ 14 日間待つ必要がなくなりました。提出後の確認。したがって、トランザクション速度は他の L2 ソリューションよりもはるかに高速です。
Drawn by RJ
現在、市場には 2 つのゼロ知識証明ソリューションがあります。
zk-SNARK (Succinct Non-Interactive Argument of Knowledge) は、Succinct Non-Interactive Argument of Knowledge の頭字語です。この方式の特徴は、検証プロセスに大量のデータ転送が含まれず、検証アルゴリズムが単純であるため、検証時間が計算処理量の増加に伴って指数関数的に増加しないという単純さです。
zk-STARK (Scalable Transparent Argument of Knowledge) は、SNARK の代替バージョンとして作成された、スケーラブルで透明な知識の議論です。 SNARK の Succinct の「S」とは異なり、STARK の「S」は Scalable (スケーラビリティ) を表し、これは主に STARK 生成証明 (Proof) の時間計算量が計算の複雑さに似ているという事実に反映されています (準線形関係にある)、Verify Proof の時間計算量は計算量よりもはるかに少ないです。つまり、STARK のスケーラビリティが向上しても、それに応じて STARK の証明の複雑さは増加しません。
ただし、ゼロ知識証明の部分には非常に複雑な基盤技術と暗号化の概念が含まれるため、将来的には選択して共有できる可能性があります。今日は、具体的な内容には触れずに、ここで簡単に説明します。
要約すると、ZK ロールアップに特有の重要な圧縮テクニックが次のとおりであることがわかります。
1. 生成されたプルーフのボリュームは、プルーフのコンテンツのボリュームよりもはるかに小さいです (したがって、op によってメイン ネットワークにアップロードされるバイトよりもはるかに小さくなります)。
2. トランザクションの一部が検証のみに使用され、状態の更新とは何の関係もない場合、その部分をオフチェーンにしてバイトを削減できます。しかし、これは楽観的なロールアップでは実行できません。なぜなら、後で不正証明でチェックする必要がある場合に備えて、そのデータを依然としてオンチェーンに含める必要があるからです (zk の比較にはチャレンジ期間と不正証明は必要ありません)。
しかし、zk の課題は、zk 証明の生成と検証自体に非常に大規模で複雑な計算が必要であることです。これが、現在の開発の進捗と ZK-Rollup の実用化が非常に遅い理由の 1 つです。そして、その技術的な複雑さのため、どの言語、コンパイル環境、仮想マシン、命令セットでも上記のプロセスの完了をシームレスにサポートでき、追加の適応が必要となるため、zk プロジェクトは本質的に困難になります。 evm と互換性があります (この部分も、将来の zk の共有について話すことができます)。
以下は、@W3.Hitchhiker チームが作成した別のスキームのコストと TPS の比較です。
https://w3hitchhiker.mirror.xyz/7dwD76ZZIlR7ep731K6y9vTTuXGHOojxWSnkXKzqPzI
長所と短所:
+ve:
1) 有効性の証明により、オフチェーントランザクションの正当性が保証されます。
2) バリデーターの作業の省略とチャレンジ期間の概念により、L1 で有効性証明が検証されると、状態の更新が承認されるため、より迅速なトランザクションのファイナリティが実現します。 (さらに 7 ~ 14 日待つ必要はありません)
3) OR のデータ利用可能性は経済学から生まれます。 OR がうまく機能するためには、メイン チェーン上の検証者のグループを駆動して、いつでも提出者を監視し、不正証明の提出に備えるための合理的なインセンティブ メカニズムを設計する必要があります。また、zk データの可用性は暗号化とコードに依存します。
4) セキュリティは、メイン ネットワークのセキュリティとコンセンサスに依存します。オフチェーン状態を復元するために必要なデータは L1 に保存されるため、セキュリティ、検閲耐性、分散化が保証されます。
5) より優れたデータ圧縮により、イーサリアム上での通話データ公開のコストが削減され、ユーザーの集約料金が最小限に抑えられます。現在のところ、最も強力な圧縮機能と最高の効率を備えたソリューションです。
6) したがって、ユーザーの取引手数料も低くなります。
-ve:
1) 有効な証明に必要な計算量と複雑性が高いため、開発速度が遅い
2) したがって、あまり広く使用されていません。 op ほど多くの should と反復はありません
3) 現在、イーサリアム仮想マシン (EVM) をサポートすることが困難であり、スマート コントラクトや DeFi プロトコルなどの分散型アプリケーションを実行することが困難になっています。
4) ハードウェアにおける集中化のリスク。有効性証明の生成には特殊なハードウェアが必要であり、ハードウェアの独占はチェーンの集中制御につながる可能性があります。
ZK ロールアップ プロジェクト:
data from https://l2beat.com/scaling/tvl/, 22/09/2022
ロールアップの概要:
これで、ロールアップ スキームがプラズマ スキームを置き換えることができる理由が理解できました。
1) 効率 - zk-rollup は、オフチェーン トランザクション処理の有効性の証明を生成します。データのパッケージ化、「国家コミットメント」の発行、ユーザーの不正証明の提出といったオペレーターのリンクを直接省略するため、チャレンジ期間や終了メカニズムの必要性が排除されます。これは、ユーザーが資金を保護するためにチェーンを定期的に監視する必要がないことも意味します。
2) スマート コントラクトのサポート - Plasma のもう 1 つの問題は、Ethereum スマート コントラクトの実行をサポートできないことです。 Optimistic roll-upはイーサリアム仮想マシンと互換性があり、現在でも多くのzkプロジェクト(zkSync、StarkWareなど)がzkEVMの実現を推進しています。より理想的で安全かつ便利な分散型拡張ソリューションになります。
データの利用不能 - 前述したように、Plasma にはデータの利用可能性の問題があります。悪意のあるオペレーターがプラズマ チェーン上で無効なデータを送信した場合、ユーザーは不正行為の証拠を異議を申し立てて提出することができなくなります。ロールアップは、オペレーターにイーサリアム上でトランザクションデータを公開することを強制することでこの問題を解決し、誰でもチェーンの状態を検証し、必要に応じて不正行為の証拠を作成できるようにします。
3) 大量離脱問題 - ZK ロールアップとオプティミスティック ロールアップは両方とも、プラズマの大量離脱問題をさまざまな方法で解決します。たとえば、ZK-rollup の暗号化メカニズムにより、オペレーターはいかなる状況でもユーザーの資金を盗むことができなくなります。
同様に、楽観的なロールアップでは、誰でもチャレンジを開始でき、悪意のある出金リクエストを防ぐことができる出金の遅延期間が課せられます。これはプラズマに似ていますが、異なる点は、バリデーターが不正証明を作成するために必要なデータにアクセスできることです。そのため、ロールアップ シナリオには、メイン ネットワークに損害を与える可能性のある「大規模ロールアウト」は含まれません。
V God はここ数年、イーサリアムの将来の開発はロールアップを中心とすることも強調しており、基盤となるチェーンはブロックのデータ可用性を保証し、ロールアップはブロックの拡張と有効性を保証します。
しかし…
レイヤ 2 への大規模な移行が進むと、強力な圧縮機能を備えたロールアップでも、最終的には同じ拡張の問題に戻ります。ロールアップ トランザクション データは依然としてすべてのフル ノードに伝播される必要があるため、拡張の程度は依然としてイーサリアム データによって制限されます。処理能力の制限。
メイン ネットワークと比較して、Optimistic ロールアップは 25 倍のスケーラビリティ アップグレードを達成でき、zk ロールアップは 100 倍、約 3000 TPS を達成できます。
ロールアップ スキームは、容量拡張に関して指数関数的な増加ではなく、直線的な増加をもたらすと言えます。指数関数的な拡張を実現しながらパフォーマンスを保証することは可能ですか?
副題
D. バリジウムチェーン
ZK ロールアップと同様に動作し、ゼロ知識証明を発行することでイーサリアムのオフチェーン トランザクションも検証しますが、主な違いは、Validium のデータの可用性がオフチェーンであることです。スループットはイーサリアムのデータ処理能力によって制限されないため、スケーラビリティとトランザクション速度が向上し、ユーザー料金を削減できます(calldata のリリースコストが低くなります)。
入金と出金:
入出金もロールアップと同様であり、ユーザーの入出金はイーサリアム上のスマートコントラクトによって制御されます。 ETH (または任意の ERC 互換トークン) をイーサリアムのメイン チェーン コントラクトにデポジットすることで、ユーザーはデポジットに等しいトークンを Validium チェーンに鋳造します。
出金の場合、validium ユーザーは出金トランザクションをオペレーターに送信します。 Validium チェーン上のユーザーの資産も、システムを終了する前に破棄されます。バッチの有効性の証明が確認されると、ユーザーはマークル証明を提供して主契約に電話して引き出しを行うことができます。そのため、zk-rollup と同様に、Validium はほぼ即時の出金を提供します。
バッチバッチ:
ロールアップと同様に、ユーザーはトランザクションをオペレーターに送信し、オペレーターはトランザクションをバッチにパッケージ化してメイン チェーンに送信します。バッチにはステート ルート/マークル ルートと有効性の証明が含まれます。状態の更新を実行するには、オペレーターは新しい状態ルートを (トランザクションの実行後) 計算し、それをメイン チェーン上のコントラクトに送信する必要があります。有効性証明に合格すると、新しい状態のルートに切り替わります。
ZK ロールアップとは異なり、validium のオペレーターはトランザクション データを公開する必要がありません。これにより、validium は純粋なオフチェーン スケーリング プロトコルになります。
Drawn by RJ
Validium のオフチェーン データ ストレージの主な利点は、スケーラビリティのさらなる向上 (スループットはイーサリアムのデータ処理能力によって制限されない)、トランザクション速度の向上、ユーザー料金の削減 (通話データのリリース コストが低い)、プライバシーの保護です。 public はオンチェーンのトランザクション データにアクセスできません。
データの利用可能性:
ただし、オフチェーン データの可用性は問題を引き起こします。オペレーターがオフチェーン状態データをユーザーから隠し、ユーザーが取引データにアクセスできない場合、ユーザーは引き出しを実行するために必要なマークル証明を計算できません。ユーザーの資金は凍結されます。
以下の図に示すように、オペレーターがトランザクション 6 を変更すると、証明プロセスに必要なノード ハッシュ (5、6、7、8) 情報が失われるため、トランザクション 1 の所有者は自分のアカウント所有権を証明できなくなります。
(プラズマよりは良いようですね。プラズマスキームでは、運営者は悪事を働いてユーザーの資金を盗むことができます。検証では、不正証明は使用されず、正当性証明が使用されるため、運営者がデータを隠す最悪のケースはユーザーの資金を凍結することです)撤回できないように…)
Drawn by RJ
したがって、Validium では、ユーザーが必要に応じてオフチェーンのトランザクション データにアクセスできるように、追加のオフチェーン データ管理メカニズムを採用する必要があります。
オフチェーン データの可用性管理に対する Validiums のアプローチは、大きく 2 つのカテゴリに分類できます。オフチェーン データの保存を信頼できる関係者に依存するものと、ランダムに割り当てられたバリデータを使用してタスクを完了するものがあります。
最初のカテゴリ: データ可用性委員会 (DAC)
この問題を解決するために、StarkWare は、ユーザーの信頼をオペレーターに依存しないようにするための Data Availability Committee (DAC) の概念を提案しました。
オフチェーン データのコピーを保存し、オペレーターがユーザーのサービスを提供しない緊急事態が発生した場合にそれら (オフチェーン データのコピー) を一般に利用できるようにする一連の信頼できるエンティティ (総称してデータ可用性委員会として知られる) を指定することによって出金リクエストへのアクセス。メンバーが少ないほど、DAC の実装が容易になり、必要な調整が少なくなります。しかし、それには中央集権化のリスクも伴います。
通信事業者を経由せずに直接サインアウトします。
緊急時には、メインネット上のアプリケーション スマート コントラクト (ASC) は新しい状態の更新を受け付けなくなり、代わりに最新の状態のマークル証明を提供できるユーザーのみが資金を直接引き出すことができます。つまり、この場合、ユーザーはオペレーターを介さずに、主契約の出金機能を直接呼び出して資金を出金することができます。
依然としてゼロ知識証明を使用しているため、誤った状態をブロードキャストする危険はありません。
ただし、ユーザーは、必要な場合 (マークル証明の生成など) にデータを提供するために DAC を信頼する必要があります。データ可用性委員会のメンバーは、悪意のある攻撃者によって侵害される可能性があり、オフチェーン データが保留される可能性があります。
2 番目のカテゴリ: 制限されたデータの可用性
これは、経済的インセンティブと分散化を通じてオフチェーン データの可用性を確保するためです。このスキームでは、オフライン データの保存を担当する参加者は、その役割を引き受ける前にスマート コントラクトにトークンをステーク (つまりロック) する必要があります。このトークンは、データ可用性マネージャー間の誠実な動作を保証し、信頼の前提を軽減するための「絆」として機能します。これらの参加者がデータの可用性を証明できなかった場合、保証金は削減されます。
結合データ可用性スキームでは、必要なトークンがステークされると、誰でもオフチェーン データの保存を割り当てることができます。これにより、資格のあるデータ可用性マネージャーのプールが拡大され、データ可用性評議会 (DAC) に影響を与える集中化のリスクが軽減されます。さらに、悪意のある活動を防ぐために暗号経済的なインセンティブに依存するこのアプローチは、オフライン データを保護するために信頼できる当事者を指定するよりも安全です。
Validium の長所と短所:
+ve: zk ロールアップ検証の多くの利点と欠点には、次のようなものもあります。
1) 有効性証明により、オフチェーントランザクションの整合性が強化され、オペレーターが無効な状態で更新されるのを防ぎます。
2) 速いトランザクション速度。イーサリアムに資金を引き出す際に遅延はありません (不正行為の証明は必要ありません)
3) プライバシーとスケーラビリティが優先されるトランザクションやブロックチェーン ゲームなどの特定のユースケースに適しています。 (たとえば、DeversiFi は、プライベート トランザクションとスケーラビリティを実現するために第 2 層ネットワーク (Validium) を使用する分散型 * 取引所です。 * DEX V1.0 がオフチェーン データ ソリューションを選択する主な理由の 1 つは、顧客が次の理由からです。プロのトレーダーは、自分の戦略を競合他社に公開してしまうため、取引履歴をオンチェーンに記録することはできません。
4) オフチェーン データの可用性により、より高いレベルのスループットが提供されます。
5) トランザクションデータをイーサリアムメインネットに公開しないことでユーザーのガスフィーを削減
6) 指数関数的なスケーラビリティの成長はより高い流動性をもたらし、これが新興 DEX の重要な属性となる
-ve:
1) 有効な証明に必要な計算量が多く複雑であるため、開発速度が遅い。低スループットのアプリケーションでは費用対効果が高くありません。
2) したがって、あまり広く使用されていません。運用ほど多くのアプリケーションと反復はありません
3) 現在、イーサリアム仮想マシン (EVM) をサポートすることが困難であり、スマート コントラクトや DeFi プロトコルなどの分散型アプリケーションを実行することが困難になっています。
4) ハードウェアにおける集中化のリスク。有効性証明の生成には特殊なハードウェアが必要であり、ハードウェアの独占はチェーンの集中制御につながる可能性があります。
5) このモデルは、純粋に暗号化と暗号セキュリティ メカニズムに依存する ZK ロールアップとは異なり、信頼の仮定と暗号化の経済的インセンティブに依存します。
6) オフチェーンデータの利用可能性の問題: マークル証明の作成または検証に必要なデータが利用できない可能性があります。これは、運営者が悪意を持って行動している場合、ユーザーはオンチェーンコントラクトから資金を引き出すことができない可能性があることを意味します。データ可用性委員会があっても、依然として集中化のリスクが存在します。
バリジウムプロジェクト:
from https://l2beat.com/scaling/tvl/, 22/09/2022
E. Volition
画像の説明
https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb
最初のレベルのタイトル
4. 概要:
さまざまなスキームと比較して、ロールアップは状態の有効性とデータの可用性を効果的に保証し、以前のスキームの利点を保持し、同時にその制限を解決します。こうして、拡大分野のリーダーとなるのです。
ロールアップスキームでは、短期的には、オプティミスティックロールアップテクノロジーがより成熟し、広く使用されており、一般的なEVM計算ではOPロールアップが勝つ可能性があり、単純な支払い、為替、その他の特定の勝利ではZKロールアップが勝つ可能性があります。アプリケーションの使用例。しかし、長期的には、ZK Rollup の弱点は基本的に技術的な問題であり、多くの優秀な開発者が関連研究に投資しているため、ZK Rollup は将来的にはより優れた拡張ソリューションとなるでしょう。 ZK-Rollup テクノロジーの基本原理により、Optimistic Rollups の代替として、より高速な速度、より高いセキュリティ、より包括的なパフォーマンスを実現できるため、より幅広い採用が可能になります。現在、Scroll、zkSync、Polygon などの多くのレイヤー 2 プロジェクトがすでに zk-EVM のコンピューティング環境を導入しようとしています。これにより、ZK-Rollups があらゆる種類の汎用スマート コントラクトを独立して実行できるようになります。
将来的にはさらに統合が進むでしょう。拡張計画の開発プロセスの観点から見ると、イーサリアムの拡張は一度に実行できる単一の解決策ではありません。多くのソリューション プロバイダーも、複数のパスを検討し展開しています。私は個人的に、これは必然的により多くの融合ソリューションにつながるだろうと信じています (例: Optimism の "Bedrock"、StarkEx の Volition、Polygon)
この記事を読むと、拡張ソリューションの開発反復は、多くの場合、ソリューションの限界の後に実現され、利点を可能な限り維持し、欠点を解決するために、別のより優れたソリューションを使用できることが直感的にわかるはずです。限界を突破します。開発者が長い間 Plasma が「正しい」と考えていたのと同じように、その限界を突破できないことに気づき、ロールアップを検討したように、現在ではロールアップが受け入れられているようです。しかし、探求が深まるにつれて、ロールアップを破壊するためのより良い解決策が見つかるかもしれません?
最終的に整理してみると、拡張計画には無数の方向性があるように感じますが、私のようなセカンダリ投資を行う自営業者にとっては、プロジェクトがうまくいくまで時間をかけて待つことができると感じています-ハンドトランザクション。変化が早すぎるため、理解するのが難しいかもしれません。、彼らは行くことが不可能であると判断し、方向を変えました(プラズマのように)。そうなると、全体的な傾向としてネットが広く広がっていると判断され、広く賭けるのが愚かではあるがより効果的な方法かもしれません(笑)。ただし、これは第 2 レベルのアイデアであり、第 1 レベルには適用されません。第 1 レベルの最後でも、プロジェクトの背後にあるチーム、ネットワーク、リソースに注目します。
この記事は個人的な学習と共有のみを目的としており、投資アドバイスを構成するものではありません。
