BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

イーサリアムのスケーラビリティの過去と現在の 4D 解釈

Block unicorn
特邀专栏作者
2022-03-10 07:49
この記事は約12923文字で、全文を読むには約19分かかります
ZK ロールアップ、オプティミズム ロールアップ、プラズマとは何なのかをもう一度学びましょう。
AI要約
展開
ZK ロールアップ、オプティミズム ロールアップ、プラズマとは何なのかをもう一度学びましょう。

原文の翻訳: ブロックユニコーン

原文の翻訳: ブロックユニコーン

ブロックチェーンは拡張できない「あなたはおそらくこの言葉を何百万回も聞いたことがあるでしょう。数年前、これは業界に対する本当の脅威のように感じられました。1 秒あたり 15 件の取引さえ処理できないのに、銀行口座を持たない人たちにどうやって銀行を提供するのでしょうか?」

しかし、大きな疑問がイノベーションを促進し、ブロックチェーンのスケーラビリティが大きな課題となります。これはすぐにエンジニアや科学者の注目を集め、現在ではブロックチェーンが拡張できるという確信が高まっています。実際、現在の議論のほとんどは、どのスケーラビリティ ソリューションが勝つかに焦点を当てています。

最初のレベルのタイトルまとめ

「スケーラビリティのトリレンマ」に直面する

有名な「スケーラビリティのトリレンマ」に触れずにスケーラビリティについて語ることはできません。この用語は、ブロックチェーンが持つように設計されている 3 つの特性 (スケーラビリティ、分散化、セキュリティ) を説明するために Vitalik によって造られました。これまでのところ、これらのプロパティのうち 2 つを実装できることは明らかです。しかし、この3つを同時に手に入れるのは非常に困難です。

その理由を理解する前に、条件を明確にしましょう。

1. スケーラビリティこれは単に、ブロックチェーンが 1 秒あたりのトランザクション (TPS) で測定される多数のトランザクションを処理できることを意味します。

2. 分散化つまり、ブロックチェーンは「信頼できる」ノードの小さなクラスターではなく、世界中の多くの「信頼できない」ノードによって実行されます。

3. セキュリティこれは、ネットワーク内の一定の割合のノードが悪意のあるノードであっても、ブロックチェーンは攻撃に抵抗できることを意味します。理想的には、悪意のあるノードの最大 50% を処理できる必要があります。
最初のレベルのタイトル

分散化とセキュリティ

三角形の最下部には、ビットコインやイーサリアム 1.0 (1 層) などの従来のブロックチェーンがあります。

これらのタイプのブロックチェーンは次のとおりです。

  • 分散型: はい。なぜなら、世界中の誰もがマイニングノードになることを選択できるからです。世界中で何千人ものマイナーがビットコインとイーサリアムのネットワークの保護に携わっています。また、自分自身をマイナーとして承認する必要もなく、完全にトラストレスです。

  • セーフ: はい。ネットワーク内のすべてのノードがブロックチェーンのコピーを保持し、すべてのトランザクションを検証するためです。さらに、Proof of Work は最大 50% の悪意のあるノードを処理するように設計されています。

  • 最初のレベルのタイトル

安全でスケーラブルな

三角形の右側は、典型的な高TPSチェーン安全性

  • 安全性:はい。すべての「選挙」ノードは許可されているため、システム内の反対者を制御します。

  • スケーラブル:できる。選択された少数のノードがいつでも新しいブロックを生成するため、より高いトランザクション スループットとより低いレイテンシを実現できます。これは、すべてのノードがすべてのトランザクションを検証する必要がある場合よりも対話手数料が低いことを意味します。

  • 分散化 :最初のレベルのタイトル

スケーラブルで分散型

三角形の左側には、Cosmos、Polkadot、Avalanche などのマルチチェーン エコシステムがあります。これらのシステムには多くの独立したブロックチェーン ネットワークがあり、すべてが大規模なブロックチェーン ネットワークの一部として通信します。

  • スケーラブル:分散化:

  • 分散化:場合によります。エコシステム内の各ブロックチェーンには、ブロックチェーンを検証する一連のノードがあります。エコシステム内の一部のチェーンには多くのバリデーターが含まれる場合もありますが (例: 分散化を必要とするステーブルコイン チェーン)、他のチェーンではほとんど、または 1 つしかない場合もあります (例: あまり分散化を必要としないエンタープライズ チェーン)。したがって、分散化の程度は、エコシステム内のどのチェーンを参照しているかによって異なります。

  • 安全性:あまり安全ではありません。エコシステム内の 1 つのチェーンが侵害されると、システムの残りの部分に波及効果が生じる可能性があります。たとえば、チェーン B が攻撃され、チェーン A、C、D がすべてそれに依存している場合、他のチェーンも影響を受けます。

ご覧のとおり、ブロックチェーンをスケーリングするためにさまざまな試みが行われていますが、ほとんどの場合、これら 3 つのプロパティのいずれかが犠牲になります。 Vitalik とイーサリアム コミュニティはこの妥協に消極的であり、彼らの目標は 3 つすべてを取得することです。

最初のレベルのタイトル

レイヤ 1 およびレイヤ 2 拡張機能について

最高レベルで、ティア1スケーリングとは、コアのブロックチェーン自体を拡張することを指します。対照的に、レイヤー 2 スケーリングとは、トランザクションをメインのブロックチェーン層から、メインチェーンと通信できる別の層に移動することを指します。

最初のレベルのタイトル

イーサリアムの初期のレイヤー 2 ソリューション

文章

状態チャネル

国営チャンネルは古くから存在しているため、新しいものではありません。ここでは、それらがどのように機能するかを簡単に説明します。アリスとボブという二人がお互いに取引したいと考えているとします。アリスはツイートするたびにボブに 1 ドルを支払います。しかし、ボブは毎日たくさんツイートするため、トランザクションにイーサリアムを使用するには遅すぎ、コストが高すぎます。

代わりに、「状態チャネル」を使用します。

  • アリスはイーサリアム スマート コントラクトに 500 ドルを投資しました。

  • アリスがボブに 1 ドルあげたいときは、ボブにいくらあげたいかを示すメッセージに署名します。彼女は、ボブが資金を「現金化」する準備ができるまで、メッセージに署名し続けます。

  • ボブは、状態チャネルを閉じる準備ができていることを示す新しいメッセージを送信します。イーサリアム上のスマートコントラクトは、アリスとボブの署名を検証し、ボブに未払い額を支払い、残りをアリスに返します。

ブロックチェーン上でトランザクションを行う必要があるのは最初と最後のステップのみであり、これらのステップの間に、アリスとボブは支払いを示す署名付きメッセージを無制限に相互に送信できることに注意してください。
この場合、イーサリアム ブロックチェーンは、1 回限りの支払いの最終トランザクションを処理するための決済層としてのみ使用され、基盤となるブロックチェーンの負担が軽減されます。

初め

  • 初め、ほとんどのトランザクションはオフチェーンで行われます。つまり、二者間のオフチェーン更新では、ブロックチェーン ネットワーク上での処理と検証に追加の時間が必要ないため、支払いを即座に処理できます。

  • 第二に、ステートチャネルの開閉時にオンチェーントランザクションのみを行う必要があるため、支払いにかかる手数料が低くなります。これは、ほとんどの取引がはるかに低い手数料でオフチェーンで行われることを意味します。

では、なぜこれが最終的な解決策ではないのでしょうか?まあ、州チャンネルができることには限界がある。
たとえば、状態チャネルを使用して、状態チャネルに参加していない人々と取引することはできません。また、状態チャネルで可能な状態更新の種類は限られています。 Uniswap のような複雑なアプリケーションをステート チャネルで使用することはできません。Uniswap で 2 つのトークンを交換すると、スマート コントラクトは、各ステップ署名でユーザーを承認することなく、一連の中間ステップを自動的に実行してスワップを実行します。
国家チャネルのもう 1 つの欠点は、チャネルをインスタンス化し、悪意のある取引相手がコミットされた資金を実際に支払わない可能性がある状況を防ぐために流動性をロックする必要があることです。これは単一のチャネルでは問題ないかもしれませんが、国家チャネルのネットワークを通じて支払いを行おうとすると、中間チャネルに流動性がロックされるため、むしろ「資本効率が非効率」になります。
最後に、状態チャネルには、ネットワークを定期的に監視できる (またはこの責任を他の人に委任できる) 人が必要です。これにより資金が安全に保たれるため、さらに複雑さと非効率性が加わります。
側鎖

側鎖

サイドチェーンも古くから存在しており、よく理解されています。簡単に言うと、サイドチェーンはメインのブロックチェーンに「固定」された独立したブロックチェーンです。

あるブロックチェーンを別のブロックチェーンに「フック」すると、2 つのブロックチェーン間で資産を移動できることになります。 「一方向」ペグは、資産をメインのブロックチェーンからサイドチェーンに移動するものであり、その逆ではありません。これは、使用できないアドレスにトークンを送信することでメイン ブロックチェーン上でトークンを「焼き付け」、その後サイドチェーン上で同等のトークンを「鋳造」することで実現されます。

つまり、「双方向ペッグ」とは、メインのブロックチェーンとサイドチェーンの間で資産を移動できるときのことです。これには、メインチェーンでトークンを「ロック」し、その後、サイドチェーンで同量のトークンを「鋳造」する必要があります。元のトークンに戻したい場合は、サイドチェーン上のトークンを「焼き付け」、メインチェーン上のトークンのロックを解除します。

したがって、サイドチェーンとは、メインのブロックチェーンに双方向でペグされる新しいブロックチェーンを作成することです。より速く取引したい場合は、メインチェーンからサイドチェーンに資金を転送し、そこで取引を行うことができます。完了したら、資金をメインチェーンに戻します。

ビットコイン サイドチェーンの例としては、リキッド ネットワークがあります。 Liquid Network はビットコインに固定されているため、より速く、より安価なビットコイン支払いが可能になります。もう 1 つの人気のある例は、イーサリアムにペグされたサイドチェーンである Polygon です。

ユーザーがより高速に取引したい場合は、一部の ETH をロックして、同量の Matic トークンを Polygon サイドチェーン上に作成できます。 Polygon サイドチェーンでは、より高速かつ安価なトランザクションを享受できます。トランザクションが完了すると、Matic トークンを ETH に戻すことができます。

注: Matic はサイドチェーンの状態を定期的にイーサリアムにコミットするため、技術的にはサイドチェーンではありません。したがって、彼らは自らを「コミットチェーン」と呼ぶことを好みます。

全体として、サイドチェーンは、通常、スケーラビリティを可能にするさまざまなコンセンサス アルゴリズムを使用することで分散化やセキュリティをトレードオフするため、スケーラブルです。
最初のレベルのタイトル

Plasma

Plasma は、トランザクションをベース レイヤの外に移動できるようにするもう 1 つの「レイヤ 2」ソリューションです。 Plasma について説明する前に、Plasma は時間の経過とともに何度か反復されており、それぞれに独自のトレードオフがあることに注意することが重要です。プラズマの世界地図には、プラズマが引き起こす課題を解決するために人々が作成しようとしたさまざまな種類のデザインがリストされています。たくさんあります。

もちろん、この記事の目的のために、個々の実装にあまり焦点を当てずに、プラズマの概念を一般化する必要があります。もっと深く知りたい場合は、必ず世界地図をチェックしてください。
では、プラズマとは何でしょうか?プラズマは本質的に、メインのブロックチェーンの外側で実行される一連のスマート コントラクト (または「プラズマ チェーン」) です。

プラズマ チェーンは木の枝のようなもので、イーサリアムはバックボーンであり、各プラズマ チェーンは枝であり、各枝は独自のブロックチェーン履歴と計算を持つブロックチェーンと見なされます。
「ルート ブロックチェーン」(つまり、イーサリアム ブロックチェーン)は、「不正証明」と呼ばれるものを使用して、プラズマ チェーン内の状態の正当性を強制します。不正証明は、誰もが数学的証明を使用してデータが無効かどうかを判断できる特定のデータを提供するメカニズムです。

各 Plasma ブロックチェーンは、トランザクション データをルート チェーンに公開する必要はありません。代わりに、各プラズマ チェーンには「オペレーター」があります。これは、集中化されたアクター、複数の個人を代表するマルチシグ、またはオペレーターとして参加する委員会である可能性があります。プラズマ チェーンのオペレーターは、プラズマ チェーン上で発生する転送のマークル ルートを送信します。
注: マークル ツリーがどのように機能するかわからない場合は、続行する前にこの説明を読むことを強くお勧めします。高いレベルでは、マークル ツリーを使用すると、大規模なデータセット (ブロック内のトランザクションなど) を取得し、データセット全体を表す単一のルート ハッシュを生成できます。

後で、そのデータへの分岐を提供するだけで、大規模なデータセットのデータの一部 (つまり、トランザクションのブロックからの 1 つのトランザクション) がそのデータセットに存在することを簡単に証明できます。

誰かが不正取引の存在を証明しようとした場合、ハッシュが一致しないため、すぐにわかります。

さて、プラズマの話に戻ります。

各プラズマ チェーンは、そこで発生した転送のマークル ルートをコミットしています。ユーザーが後でアセットをプラズマ チェーンからルート チェーンに戻そうとすると、ユーザーはアセットを送信した最新のトランザクションのマークル ブランチ (現在の残高がプラズマで待機していることがわかる程度の最新のもの) を送信できます。 )。これにより、ユーザーの Merkle フォークが不正であることを誰でも証明できるチャレンジ期間が始まります。マークル支店が不正である場合は、不正行為の証拠を提出できます。
ルート ブロックチェーンはマークル ルートのみを追跡するため、メイン チェーンで発生するトランザクションよりもはるかに少ないデータを処理する必要があります。これにより、ルート ブロックチェーンに保存されるデータの量が大幅に削減され、ルート チェーンを拡張できるようになります。
さらに、特定のプラズマ チェーンが悪意を持って攻撃された場合、「大量退場”。

プラズマは、誰にでもアセットを送信できるのに対し、状態チャネルでは状態チャネル内の人々とのみ取引できるため、状態チャネルよりも有益です。また、サイドチェーンに対する Plasma の利点は、Plasma チェーンがイーサリアムによって保護されていることです。

この 2 つの基本的な違い (プラズマとサイドチェーン) は、サイドチェーンには独自のセキュリティ モデルがあることです。これらには、状態を検証するための独自のコンセンサス メカニズムと別個のノード セットがあります。サイドチェーンが攻撃されても、メインチェーンには何も起こりませんし、その逆も同様です。サイドチェーンが攻撃された場合、メインチェーンはユーザーを保護できません。

一方、プラズマには、依存するセキュリティモデル、各プラズマチェーンは独自のメカニズムを使用してトランザクションを検証できますが、それでも最終的な真実の裁定者としてイーサリアムブロックチェーンを使用します。ビザンチン攻撃が発生した場合、Plasma ユーザーはイーサリアムに抜けることができます。

しかし、Plasma にはいくつかの欠点があり、スケーラビリティ ソリューションとしては精彩を欠いています。

まず、ユーザーが自分の資産をプラズマコントラクトからメインのイーサリアムブロックチェーンに転送したい場合、7日間待つ必要があります。これは、引き出し取引が不正なものではないことを証明するのに十分です。そうであれば、プラズマ チェーン上のマークル ツリーを使用して不正行為の証明を構築できます。

第 2 に、各プラズマ チェーンでは、オペレーターがマークル ルート コミットメントをメイン チェーンにポストする必要があります。これには、マークル ルート コミットメントをチェーンに正確に公開するためにサードパーティに依存する必要があります。残念なことに、オペレーターは、悪意のある理由で特定のトランザクションをメインチェーンに公開することを拒否する、いわゆる「データ可用性攻撃」を実行する可能性があります。

この場合、オペレータは無効なブロックを証明できなくても、ネットワークに無効なブロックを受け入れるよう説得できます。これにより、他のユーザーはブロックチェーンの正確な状態を知ることができなくなります。これにより、証明を構築するための情報が不足しているため、人々がブロックやトランザクションを作成することもできなくなります。詐欺とは異なり、データ可用性攻撃は固有の原因によるものではありません。攻撃が起こっていることを知る方法はありません。

オペレーターは、不正なトランザクションを送信するなど、より露骨な方法で悪意のある操作を行うこともあります。この場合、前述のように人々は「大量撤退」する可能性があります。しかし、これらを実際に実装するのははるかに難しいことが判明しています。多くのユーザーが大規模に出金したい場合、メインチェーンで混雑が発生し、ユーザーが出金が間に合わずに資金が失われる可能性があります。

第三に、プラズマでは、取引される資産の所有者の立ち会いが必要です。これにより、所有者の同意がなければトランザクション (承認されたアドレスへの ERC 20 トークンの送信など) が事実上不可能になるため、プラズマ チェーンのセキュリティが確保されます。プラズマは単純な転送に最適ですが、トランザクションがより複雑になると、設計空間が不規則になります。

上記の理由により、Polygon と OMG Networks は当初、スケーリングのために Plasma アーキテクチャを追求しましたが、後にそれを放棄しました。
まとめ

まとめ

ステート チャネル、サイドチェーン、プラズマと同様に、ロールアップは「レイヤー 2」ソリューションです。実際、ロールアップはオフチェーンでトランザクションをバッチ処理し、メインのブロックチェーンに更新を公開するという点でプラズマと非常によく似ています。ただし、主な違いは、集約では、トランザクションの各バッチのトランザクション データもオンチェーンで公開されることです。 Plasma では、マークル ルートのみを公開します。

言い換えれば、アグリゲーションではトランザクション処理はオフチェーンで行われますが、トランザクションデータはオンチェーンで公開されます。当社がオンチェーンで公開するデータの量は、集約されたトランザクションをローカルで検証するために必要な最小限の量です。データをオンチェーンに配置することで、誰もが不正行為を検出したり、引き出しを開始したり、トランザクション バッチの生成を自分で開始したりできるようになります。したがって、ロールアップはプラズマ チェーンやサイドチェーンよりも高いセキュリティ保証を提供します。
ロールアップとプラズマのもう 1 つの重要な違いは、データの可用性を心配する必要がないことです。結局のところ、トランザクションデータをメインチェーンに公開します。これは大きな勝利です。
ロールアップを使用すると、ロールアップ層内で EVM のバージョンを効果的に実行できます。これは、イーサリアム上で考えられるあらゆるトランザクションをロールアップで実行できることを意味します。
ここで疑問が生じます。トランザクション データを依然としてオンチェーンで公開する場合、レイヤー 1 はどのように拡張されるのでしょうか?スケーラビリティは依然としてメインチェーンのデータ帯域幅によって制限されているのではありませんか?
はい。ここで重要なのは、ロールアップにより 5 倍から 100 倍のスケーラビリティが得られるが、無限のスケーラビリティは得られないということです。また、ロールアップでは、オンチェーンにポストするトランザクション データの量を最小限に抑えるために、多くの巧妙な圧縮トリックが使用されているため、他の場合よりもはるかに少ないデータがオンチェーンに保存されます。

同時に、オフチェーントランザクション実行の重労働をすべてロールアップにアウトソーシングします。トランザクションの実行中、トランザクションはイーサリアム仮想マシン (EVM) 状態 (ストレージ、アカウント残高など) を処理し、対話します。これは高価です。

最初のレベルのタイトル

概要を詳しく見てみる

ここで、ロールアップがバックグラウンドでどのように機能するかを見てみましょう。
メインチェーンには、ロールアップ層の現在の状態を維持する「ロールアップ コントラクト」があります。これには、取引を行うユーザーのアカウント残高と、その中に存在する契約のスマート コントラクト コードが含まれます。つまり、ロールアップ コントラクトは、ロールアップ層のトランザクションの「状態ルート」を追跡します。

「状態ルート」はキーと値のマップで構成され、キーはアドレス、値はアカウントです。各アカウントには、残高、ノンス、コード (スマート コントラクトのみ)、ストレージ (スマート コントラクトのみ) の最大 4 つのプロパティがあります。

状態の変化は、トランザクションが集約層で発生すると発生します。もちろん、これは状態ルートも更新する必要があることを意味します。ただし、トランザクションごとにステート ルートを更新する代わりに、トランザクションはメイン チェーン上のサマリー コントラクトに「バッチ化」されます。バッチには、バッチのトランザクションの圧縮形式と、バッチのトランザクションの処理されたデータを表す更新された状態ルートが含まれます。
メイン チェーンのロールアップ コントラクトは、バッチ内の以前の状態ルートが現在の状態ルートと一致するかどうかを確認します。一致する場合は、状態ルートを新しい状態ルートに切り替えます。

ポストされたトランザクション データは実際には EVM によって解釈されないため、状態へのアクセスや書き込みは行いません。これはコストがかかりすぎます。代わりに、圧縮されたトランザクション データを「calldata」パラメータとして集約コントラクトにポストします。

これが適切な理由です。Solidity では、calldata (データ構造を保存する方法) が最も安価なストレージ形式です。実際、calldata パラメータとして渡されたパラメータはイーサリアムの状態にはまったく保存されません。これは、大量のガスコストを回避できることを意味します。同時に、イーサリアムノードは、ブロックの作成時にトランザクションデータを(履歴ログに)保存できます。

賢明な読者は、Plasma と Rollup の違いは何なのか疑問に思うかもしれません。これが主な違いです。集約では、トランザクション データをステート ルートとともにオンチェーンで公開します。 Plasma では、トランザクションのステート ルートを公開するだけです。

マークル ルートをルート チェーンに公開するオペレーターがいる Plasma とは異なり、ロールアップでは誰でもトランザクションの新しいバッチをオンチェーン ロールアップ コントラクトに公開できます。これについては後ほど詳しく説明します。

ここでも、次のような疑問が生じます。トランザクション データをメイン チェーンにポストするだけで、オンチェーンでトランザクションを実行しないのであれば、メイン チェーンにポストされるトランザクション データとステート ルートが不正なものではないことは、どのようにしてわかるのでしょうか?

最初のレベルのタイトル

楽観的なまとめ

おそらく、オプティミスティック ロールアップが何であるかは名前から推測できると思います。トランザクションの新しいバッチがメイン チェーンに「ロールアップ」されると、各バッチの状態ルートとハッシュが公開されますが、トランザクションが実際に検証されることはありません。少なくとも公開時点では正しく実行されませんでした。
このようにして、新しいステート ルートとトランザクション データをメイン チェーンの集約コントラクトに「楽観的に」公開します。誰かが新しい状態ルートをメインチェーンに投稿すると、ロールアップ スマート コントラクトはその言葉をそのまま受け入れます。
無効な状態遷移がロールアップ スマート コントラクトに発行されたことを誰かが発見した場合、「不正証拠」を生成できます。
詐欺の証拠には次のものが含まれます。

  • 「前の状態」の証明、つまりトランザクションが適用される前の様子

  • 「事後状態」の証明、またはトランザクション適用後の状態の処理方法

  • 状態遷移中に適用されるトランザクション証明

ワークフローは単純です。この不正行為の証拠はメイン チェーンの要約契約に公開されます。次に、契約検証の証拠が集約され、トランザクション ロジックが事前状態に適用されます。次に、結果を後の状態と比較します。不一致がある場合は、バッチを発行した人がトランザクションを正しく適用しなかったことを証明します。その後、スマート コントラクトは、そのトランザクションのバッチと後続のすべてのバッチを元に戻します。

最初のレベルのタイトル

ZKの概要

楽観的ロールアップが「有罪が証明されるまでは無実」という考え方を使用する場合、ZK ロールアップは「信頼しない、検証する」という考え方を使用します。
ZK ロールアップでは、各バッチには、ステート ルートがバッチのトランザクションを実行した正しい結果であることを証明する、ZK-SNARK と呼ばれる暗号証明が含まれています。 ZK-SNARK 証明は、トランザクションが zk-rollup 層で実行された後のブロックチェーンの状態の変化を表すハッシュです。この有効性の証明はロールアップ コントラクトに公開されるため、誰でもそれを使用してロールアップ レイヤー上の特定のバッチのトランザクションを検証できます。
ここでの魔法は、ZK-SNARK の仕組みにあります。これらを使用すると、データを明らかにすることなく、基礎となるデータの証拠を生成できます。データ自体にアクセスできない場合でも、後で誰でもデータが存在することを確認できます。
文章

どちらが良いでしょうか?

料金

料金

「コスト」は抽象的にはあまり意味がありませんが、それを細分化すると、楽観的ロールアップと ZK ロールアップのパフォーマンスは乖離し始めます。

  • チェーン上で新しいバッチを公開するためのガスコスト: オプティミスティックロールアップのコストが低くなります。新しい状態ルートとデータは楽観的にリリースされるため、トランザクションは簡単です。 ZKロールアップの方が高価です。新しいバッチをオンチェーンでリリースするときは、ZK-SNARK の有効性証明を検証する必要があります。これは計算コストが高くなります。

  • チェーン上で公開されるトランザクションごとのガスコスト: 楽観的な集計はより高価です。後で不正行為の証拠を検証するために十分なデータをオンチェーンで公開する必要があります。 ZK ロールアップ コストが低くなります。有効性の証明は誰でもバッチの正しさを検証するのに十分であるため、トランザクション データのほとんどを省略できます。

  • オフチェーンの計算コスト: 楽観的な集計はコストが低くなります。新しい状態ルートを公開するだけであり、トランザクションの実行/検証は行いません。とはいえ、バッチが正しいことを確認するために、新しいバッチの作成と新しいトランザクションの実行を監視する人がまだ必要です。 ZKロールアップの方が高価です。 ZK-SNARK は計算コストが高くなります (技術革新により安くなり続けていますが、20 ~ 1000 倍高価です)。

スピード

スピード

楽観的なロールアップは遅いです。通常、ユーザーは資産を引き出すまでに約 1 週間待つ必要があります。これにより、ユーザーが実際には所有していないロールアップ層のトークンを出金しようとした場合に、詐欺の証拠を発行する十分な機会が誰かに与えられる可能性があります。
ZK のロールアップは高速です。通常、ユーザーは資産を引き出すまでに 10 分もかかりません。すべての集計ステータスはすでに検証されているため、次のバッチが出金を処理するまで待つ必要があります。
補足: 「クイック引き出し」を使用して、この 1 週間の待機期間を回避する方法がいくつかあります。これは、メインチェーン上に資金の「クッキージャー」を維持する流動性プロバイダーを通じて行われます。ユーザーが資金をすぐに引き出すと、流動性プロバイダーにプール内の資金の IOU が与えられ、メインチェーン上の流動性プロバイダーから直ちに支払い (手数料) が支払われます。
その後、1 週間の期間が終了し、ユーザーがプーリング層から資産を取り戻すと、ユーザーは借りている資金を流動性プロバイダーに送金できます。流動性プロバイダーは、メインチェーンでユーザーに資金をリリースする前に、ロールアップでユーザーのトランザクションを検証するバリデーターノードを実行することも選択でき、リスクをさらに軽減できます。
ただし、この「迅速な引き出し」スキームは、NFT のうち 1 つだけが存在し、流動性プロバイダーがオンチェーンで同一の NFT を作成できないため、NFT では不可能です。

複雑な

楽観的なロールアップはより単純であり、不正行為の証明の概念は長い間存在しているため、解決策は比較的単純です。
ZK ロールアップはより複雑ですが、ZK-SNARK は新しく数学的に複雑です。

広範囲にわたる

オプティミスティック ロールアップは一般化が容易であり、エンジニアは OVM (Optimistic Virtual Machine) と呼ばれる EVM 互換の仮想マシンを構築しました。これにより、イーサリアムで処理できるあらゆるトランザクションをオプティミスティック ロールアップで処理できるようになります。
スケーラビリティ

スケーラビリティ

楽観的なロールアップはスケーラビリティが低くなります。オンチェーンでデータを公開する場合、通常、それには何らかの状態 (トランザクションの詳細など) と証人 (トランザクション当事者の同意を証明するデジタル署名など) が含まれます。楽観的ロールアップでは、後で人々が不正行為を証明できるように、すべての取引の証人を公開する必要があります。証人は、トランザクション データの 3 ~ 10 倍の大量のストレージ スペースを占有します。
ZK ロールアップはよりスケーラブルです。安全性

安全性

オプティミスティック ロールアップは安全性が低く、オプティミスティック ロールアップはチェーンのセキュリティを確保するために暗号経済学に依存しています。言い換えれば、人々がオンチェーン上に投稿されたバッチを監視し、不正行為を検出するよう奨励する必要があります。

ZK ロールアップはより安全です。ZK ロールアップは数学に依存しており、インセンティブは必要ありません。彼らは暗号経済学ではなく暗号を使用します。
さて、これらを分類しましたが、どれがより良いでしょうか?まだわかりにくいですが、これらのプログラムの背後にあるエンジニアが行った素晴らしい仕事の証拠です。私たちには、Optimism や Arbitrum のようなチームが、イーサリアム開発者がすでに利用できるオプティミスティック ロールアップに熱心に取り組んでいます。 StarkWare や Zksync のような企業が、汎用 ZK ロールアップをイーサリアムに導入しています。
どちらのソリューションもまだ初期段階にあります。しかし、オプティミスティック ロールアップはそれほど複雑ではなく、今日の汎用コンピューティングに使用できるため、採用が近づいています。一方、ZK ロールアップが追いつくには時間がかかりますが、多くのエンジニアは ZK ロールアップが優れたテクノロジーであると考えています。結局のところ、それらは暗号経済学ではなく数学に依存しており、楽観的なロールアップよりもスケーラブルです。
最初のレベルのタイトル

まとめの賢さ

ロールアップの永続的な課題について説明する前に、ロールアップが効率的に使用する圧縮テクニックを見てみましょう。

  • ノンス: 一般的なイーサリアム トランザクションでは、二重支払い攻撃を防ぐためにノンスが含まれています。ロールアップでは、ブロックチェーンの以前の状態を使用して再計算できるため、それらは完全に省略されます。このように、要約では可能な限りデータを計算に置き換えます。

  • ガス価格: グウェイ (1 グウェイは 10^-9 ETH) で表示する代わりに、ガス価格を固定価格範囲に制限する方が良いため、トランザクションでガス価格を記録するために必要なストレージの量が大幅に削減されます。データは合計されます。

  • 料金:上記と同じ。

  • To: アドレスの長さは 20 バイトに、RLP エンコード用の 1 バイトを加えたものです。アドレスを含める代わりに、サマリにはアドレスへのインデックスのマッピングを保存し、「宛先」フィールド (たとえば、1234) のインデックスのみを含めることができます。場所自体全体をレンダリングするのではなく、目的地に座標を残すようなものです。

  • 値: ETH および ERC-20 トークンの小数点以下の桁数は最大 9 桁であるため、「値」フィールドは 9 バイトです。代わりに、Aggregate では値を小数点以下 3 桁までに制限できるため、6 バイトを節約できます。とても機能的に見えます!

  • 署名: 前述したように、デジタル署名された「証人」は多くのストレージ スペースを占有します。ロールアップでは BLS 署名 (署名集約とキー集約のアルゴリズム) を使用できます。これにより、多くの署名を 1 つに集約でき、ストレージ スペースを大幅に節約できます。


これらすべての圧縮トリックを使用して、これをすべて実行してみましょう。ETH 転送のために何バイト節約できるでしょうか?一般的な ETH 転送には 112 バイトかかりますが、これだけの圧縮トリックを使用するとどうなるでしょうか?わずか 12 バイトなので、効率はほぼ 10 倍向上します。
文章

文章

最初のレベルのタイトル

スケーラビリティには上限がある

ここまで、ロールアップと、プラズマやサイドチェーンなどの他のレイヤー 2 ソリューションとの主な違いを見てきました。思い出していただけると思いますが、ロールアップは計算をオフチェーンに移動しますが、データはオンチェーンに保存します。これは、データの可用性の問題のトラブルシューティングに非常に役立ちます。しかし、私たちはトランザクションデータを(非常に圧縮された形式ではあるが)オンチェーンに保存しているため、依然としてイーサリアムのストレージ容量によって制限されています。
大まかな計算を行って、ロールアップを使用する理論的な TPS がどのようになるかを確認できます。

  • オンチェーンに保存されるバイトあたりのデータコスト: 16 ガス

  • オンチェーンに保存されるバイトあたりのデータコスト: 16 ガス

  • ブロックあたりの最大バイト数: ~781,000 バイト (1,250 万ガス / バイトあたり 16 ガス)

  • ロールアップを使用した ETH 転送に必要なデータ バイト: 12 バイト (前のセクションの計算を参照)

  • ブロックあたりのトランザクション数: ~65,000 (ブロックあたり ~781,000 バイト / ETH 転送あたり 12 バイト)

  • イーサリアムでの平均ブロック時間: 13 秒

  • 1 秒あたりのトランザクション数: ~5000 TPS (ブロックあたり約 65,000 トランザクション / ブロックあたり 13 秒)

もちろん、この計算では、ブロック内のすべてのトランザクションが ETH 転送であり、ブロック内にはバッチ集約されたトランザクション以外に何も存在しないことを前提としていますが、その可能性は非常に低いです。ほとんどのブロックには、16 ガス料金を超えるレイヤー 1 トランザクションを含むさまざまなトランザクションが含まれます。また、これらが ZK ロールアップ バッチの場合、オンチェーンでの SNARK プルーフを検証するコスト (約 500,000 ガス) は含まれません。
それでも、これは集約 TPS を使用するための出発点となります。5,000 は、Visa が持つと思われる 65,000 TPS には遠く及ばないものの、現在のイーサリアムの TPS よりははるかに優れています。

壊れた可動性

ロールアップ テクノロジーは、イーサリアム プロトコル自体によってではなく、独立したプロジェクトとして作成されました。したがって、いくつかの異なる集計手法が並行して使用されることになり、ここで流動性が損なわれます。
流動性がメインチェーンからロールアップに移動すると、さまざまなロールアップネットワークの流動性が「破壊」されます。アグリゲート間で通信するためのメカニズムが確立されれば、この問題は解決される可能性がありますが、一部の賢いエンジニアがすでにそれに取り組んでいます。

構成可能性を下げる

イーサリアム上に構築する主な利点の 1 つは、構成可能性です。イーサリアム上に構築されたすべての新しいプロトコルは、他のプロトコルをその上に簡単に構築できるレゴブロックのようなものです。たとえば、これが DeFi を非常に強力にしている理由です。それにより、お金のレゴブロックを作成することができました。
アプリケーションと流動性がロールアップに移行すると、構成可能性の一部が失われます。結局のところ、アグリゲーション レイヤーとメイン チェーンの間でメッセージとトランザクションを受け渡すことは、ベース レイヤーのコンテキストで行うほど簡単ではありません。
しかし、この問題が解決されるのは時間の問題かもしれません。異なるアグリゲート上に存在するスマート コントラクトが依然として相互に通信できる世界が見えてきます。いつものように、これらの問題を解決できるまであとわずか数人の優秀なエンジニアだけです。

集中化

新しいバッチをメイン チェーンに投稿する実際の責任者について議論するのを怠ったので、それに戻りましょう。

ほとんどのロールアップは、そのジョブを実行するために「シーケンサー」に依存しています。シーケンサーは、トランザクションをバッチ処理し、結果をオンチェーンのロールアップ コントラクトにパブリッシュするノードです。 Arbitrum、Optimism、StarkNet の場合、シーケンサーは単独で実行される単一ノードです。

知っている。 「分散化」はブロックチェーンの中核です。非常に効率的ですが、明らかに非常に集中化されています。シーケンサーが失敗したり、トランザクションを検閲した場合はどうなりますか?

まあ、それほど単純ではありません。これらのプロジェクトが現在この方法を採用している理由は、この方法を使用すると反復が簡単かつ迅速だからです。集中化のリスクを軽減するために、ほとんどのロールアップでは、時間の経過とともにソーターの何らかの分散化が望まれており、その多くはそうする計画を持っています。

シーケンサーの分散化はどのように機能しますか?いくつかの方法があります。一方で、シーケンサーが次のバッチを作成する機会を得るためにトークンをステークする必要がある、プルーフ・オブ・ステークのようなシステムを作成することもできます。あるいは、選別者が選出され、うまくいかなかった場合は選出されない、Delegated-Proof-of-Stake を行うこともできます。
最初のレベルのタイトル

並べて比較

プーさん。ロールアップについて、そしてイーサリアムがスケーラビリティ ソリューションとしてロールアップ (そしてシャーディング!) に賭けている理由について、よりよく理解していただければ幸いです。もちろん、Rollups はそれ以前の巨人の肩に乗っています。サイドチェーン、ステート チャネル、Plasma なしではロールアップは存在しなかったでしょう。

分散化、セキュリティ、スケーラビリティの「トリレンマ」フレームワークを使用して、ロールアップを他のレイヤー 2 ソリューションと比較することも有益です。ただし、汎用性という追加の次元を追加します。長年にわたり、私たちはレイヤー 2 ソリューションが汎用性が高く、メイン チェーンで実行できることはすべて実行できるようにすることが重要であると認識してきました。

これは、ロールアップが分散化、セキュリティ、汎用性を犠牲にすることなく適度なスケーラビリティを提供することを明確に示しています。

ただし、スケーラビリティはトレードオフになります。データを依然としてオンチェーンに保存しているため、データをオフチェーンに保存するレイヤー 2 スケーリング ソリューションと比較すると、スケーラビリティが制限されます。また、短期的には、ロールアップは集中型のソーターに依存するため、セキュリティが低下します。しかし、これは短期的な問題であり、時間の経過とともにロールアップは注文者を分散化し、プラズマ、サイドチェーン、およびステートチャネルよりも優れたテクノロジーになる可能性があります。

では、ロールアップは聖杯なのでしょうか?あなたに決めてもらいましょう。

PS..

簡潔にするために、ロールアップの仕組みに関する興味深い詳細の多くは省略しました。しかし、「Validium」と呼ばれる新しいレイヤー 2 スケーリング スキームも見つかりません。
Validium は、データと計算をオフチェーンに移動するという点で Plasma に似ています。主な違いは、Validium はトランザクションを検証するために不正行為の証明に依存していないことです。代わりに、オペレーターはゼロ知識証明を使用して新しい状態コミットメントを行う必要があるため、オペレーターは無効な状態遷移を進めることができなくなります。
結論は

結論は

この投稿は予想よりもはるかに長かったので、まだ読んでいるということは、あなたは私のタイプです。
かなり長くなりますが、これは集計の基本を理解するために知っておく必要がある最低限の内容です。結局のところ、ロールアップはイーサリアムのスケーラビリティ ソリューションの半分にすぎません。残りの半分はシャーディングです。Web 3.0 アプリケーションの構築に興味がある場合は、イーサリアム上で安全なスマート コントラクトを構築して展開する方法を学ぶ次の DappCamp コホートにサインアップしてください。

ETH
Layer 2
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk
検索
記事目次
Odailyプラネットデイリーアプリをダウンロード
一部の人々にまずWeb3.0を理解させよう
IOS
Android