lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
ホーム
OPRR
速報
深堀り
イベント
BlockBeats Pro
もっと見る
資金調達情報
特集
オンチェーン生態系
用語
ポッドキャスト
データ
BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%

LD Research: イーサリアムの拡張性ソリューションの包括的解説

この記事を読むのに必要な時間は 142 分
拡張計画の進化を考えると、イーサリアムのスケーリングは一つの単一の計画で完結するものではありません。多くのソリューションプロバイダーも、複数の経路で探索と展開を行っています。

Image

Original Title: "LD Research: A Comprehensive Explanation of Ethereum Scaling Solution"
Original Author: 0xRJ_eth (Twitter: @0xRJ_eth)
Original Source: LD Capital Research


Today, I have mainly organized the Ethereum scaling solutions from a top-down perspective combined with the development over time. The content covers some old solutions that are no longer mentioned in the market today, some of which you may have never even heard of. However, I believe that it is crucial to clarify the overall framework and logical connections as it helps us understand the development of scaling, the innovations and combinations encountered, the problems faced, the market's focus at different times, and why the Rollup solutions are currently prevailing. All of these also contribute to our understanding of the broader picture.


During my research, I found that there are few comprehensive articles online that summarize and compare from this perspective. Initially, I had no understanding of scaling, felt overwhelmed by the numerous solutions, each with its pros and cons, some very similar, and I couldn't understand why. Therefore, I spent a lot of time digging through articles from different periods. However, over the past two weeks, I have realized that organizing the information from a chronological perspective has been immensely helpful to me. Today's content may be quite substantial as it inevitably involves many technical terms and concepts. If you can patiently read through it, I believe it will greatly help in constructing the overall framework and logical organization of the scaling track.


I. Cause


On the first layer of the Ethereum blockchain, the continuously growing network usage demands have led to network congestion, driving up transaction costs. Enhancing storage, network speed, and throughput is essential for the widespread adoption of Ethereum.


したがって、スケーリングが必要です。


二、目的


スケーリングの主な目的は、分散性とセキュリティを維持しつつ、取引速度(取引の迅速な確認)と取引スループット(秒間取引数 TPS の増加)を向上させることです。


三、スケーリングの手法


スケーリング手法:On-Chain(レイヤー1)と Off-Chain(サイドチェーン+レイヤー2)の2つの大きなカテゴリに分類されます。


On-chain,レイヤー1によるスケーリング


ブロックチェーンの性能向上には、第1レイヤーのメインネットワーク/イーサリアムプロトコルの変更が必要です:これには「レイヤー1」が関わります。レイヤー1 ネットワークは、基盤となるブロックチェーンを指します。イーサリアム(ETH)だけでなく、ビットコイン(BTC)、Solana、Polkadot、Near、Cosmos、Aptos、Sui などもレイヤー1 プロトコルに属しており、それぞれのエコシステム内で主要なネットワークとして機能しています。レイヤー1 プロトコルは、独自のネイティブトークンを使用してトランザクションを処理し、支払い手数料を持っています。


(レイヤー1全体のスケーリングは、イーサリアムのアップグレードにとって非常に重要な要素であり、この部分は今後、イーサリアムのアップグレードに関する情報を整理して共有する機会があります。今日はレイヤー1に関する概念を簡単にまとめるだけにとどめます。)


On-Chain レイヤー1 スケーリングの選択肢には、


a. コンセンサスメカニズムの変更が含まれます。イーサリアムのアップグレードでは、この手法が採用されています。数週間前のビーコン信号チェーンとメインネットの成功したマージは、PoW から PoS へのコンセンサスメカニズムの切り替えを実現しました。


b. シャーディングの実施。シャーディングは、取引スループットを増やすための主要な Layer 1 拡張ソリューションの一つです。これは、コンピュータサイエンスで一般的なデータベース分割技術であり、ネットワークとそのノードが複数のシャードに分割され、作業が分散されて取引速度が向上します。各シャードはネットワーク全体の一部を処理し、それぞれが独自の取引、ノード、および独自のブロックを持っています。


シャーディングは、各検証者の負担を軽減することもできます(彼らはもはや全ネットワークのすべてのトランザクションを処理および保存する必要がないため)。各ノードは完了した作業をメインチェーンに書き込み、ローカルデータをリアルタイムで共有します。これは、以前の Ethereum 2.0 の主なスケーリングソリューションであり、現在は Danksharding によって置き換えられています。


c. ブロックサイズの拡大。各ブロックがより多くのトランザクションを処理できるようにします(現在、Ethereum のアップグレードである Proto-Danksharding はこれに類似したソリューションであり、この部分のアップグレード後には独立したセクションが設けられる予定です)。


Layer 1 のスケーリングには多くの苦労が伴います。多くの場合、すべてのネットワークユーザーがこのような変更に同意するわけではありません。その結果、コミュニティの分裂やハードフォークが発生する可能性があります(2017年の Bitcoin Cash 分岐はハードフォークの結果です)。


オフチェーン、チェーン外スケーリング


すべてのチェーン外スケーリングは、第1レイヤーメインネットワークとは独立して実装され、既存の Ethereum プロトコルを変更する必要はありません。Rollup は大まかに2つのカテゴリに分類されます:I. サイドチェーン;II. レイヤー2のセカンドレイヤーソリューション。


I. サイドチェーン


サイドチェーンは独立して実行されるブロックチェーンであり、そのセキュリティは自身のプロトコルメカニズムに依存しています。これはサイドチェーンと現在の主流のレイヤー2チェーン外スケーリングソリューションの最大の違いです。


そして、サイドチェーンは独立したチェーンであり、いくつかのレイヤー1公開ブロックチェーンと比較した場合、サイドチェーンは Ethereum の余剰容量を処理するために専用されており、全体の Ethereum と競合するのではなく、これらエコシステムは Ethereum コミュニティと緊密に統合され、 Ethereum アプリケーションを補完的な方法でホストします。


この分類に関しては、オンラインで混乱している記事が多く、サイドチェーンを layer2 に分類することがあります。この部分では、主に Ethereum Foundation とサイドチェーンホワイトペーパーがサイドチェーンを定義する方法を参考にしました。


https://ethereum.org/en/developers/docs/scaling/sidechains/


第二層チェーン外スケーリングは、さきほど言及したものであり、Layer2としてよく知られている2層ソリューションです。基本的なアイデアは、チェーン外での計算/実行であり、結果をチェーンに記録することです。オフラインでバッチ処理を行います。 第1層のEthereum共通体から直接セキュリティを取得します。異なるLayer2ソリューションは、セキュリティ、スケーリング効率、分散度、汎用性の間でバランスを探ります。


まずはサイドチェーンについて説明します:


サイドチェーン Side Chains は、独立したブロックチェーンであり、Ethereumメインネットとは平行して独立して実行されます。


通常、これらはトランザクションを効率的に処理するために設計されています。第2層のスケーリングソリューションとの最大の違いは、サイドチェーンは状態変更や取引データをEthereumメインネットに戻さないため、それらがEthereumのセキュリティ特性を継承しない理由です。


サイドチェーンは、高いスループットを実現するためにいくつかの分散度やセキュリティを犠牲にした選択をすることが一般的です。


サイドチェーンは、メインネットとのリンクや相互運用を実現するために、双方向ペッグされたクロスチェーンブリッジによって主に接続されます(このコンセプトについてはすぐに詳しく説明します)。ここで言う双方向ペッグとは、資産の双方向のペッグをサポートすることを指します。つまり、資産がメインチェーンとサイドチェーンの間で相互に移動することです。ただし、ここで注意する必要があるのは、実際には資産が本当に移動するのではなく、「1つのチェーンでロックし、もう1つのチェーンで同額の資産を鋳造する」という方法で「クロスチェーン」を行っているという点です。双方向ペッグされたクロスチェーンブリッジを構築しているプロジェクトはすべて、サイドチェーンと見なすことができます。


まずは、双方向ペッグされたクロスチェーンブリッジが何かについて理解しましょう:


この概念は、BlockStreamが2014年にサイドチェーンホワイトペーパーで提案したものです。双方向ペッグは、メインチェーン上の資産(たとえば、10ETH)を特定のアドレスにロックすることを意味します。同時に、サイドチェーンでその「ロック取引」が発生した証拠を提供し、同量のデジタル資産が wrapped token の形式でサイドチェーンに鋳造されます。たとえば、サイドチェーンで10 wETH が鋳造された場合、この10 wETH はサイドチェーンで取引可能になります。その逆も然りで、ユーザーがETHをメインチェーンに出金したい場合は、サイドチェーンで残高に応じた wrapped ETH を燃やすことで可能です。


メインチェーンでトークンをロックし、サイドチェーンでトークンを(Wrapped)ミントします。サイドチェーンでトークンを燃やし、メインチェーンでトークンを引き出します。


https://medium.com/techskill-brew/layer-2-blockchain-scaling-solutions-channels-sidechains-rollups-and-plasma-part-16-79819e058ef6


サイドチェーンは、メインチェーンと同様の環境であり、EVM(Ethereum Virtual Machine)に基づいています。ただし、サイドチェーンには独自の台帳システム、合意アルゴリズム(例:権威主義、委任型証明、ビザンチン容認)、スクリプト契約などがあります。さまざまな目標を達成するために、それらは異なるセキュリティ手段を取ることもあります。


以下にいくつかの例を挙げます:


a. セントラル化された単一の信託モデル Centralized (basic third party authority):これは、現時点で最もシンプルなブロックチェーン間でデジタル資産を転送する方法であり、メインチェーン上の資産を単一の信託者(取引所など)に送信し、信託者がその資産を受け取った後、サイドチェーンで同等の資産を有効にし、その資産をサイドチェーン内で流通させるというものです。この方法の最大の欠点は、中心集権化しすぎていることです。



b. 連盟モデル Federation - multisig federation:連盟モデルは、単一の信託者の代わりに公正者連盟を使用し、サイドチェーンのデジタル資産の流動性を確認するための多重署名を利用するものです。このモデルでは、メインチェーンで凍結されたデジタル資産を盗むにはより多くの機関を乗り越える必要がありますが、サイドチェーンのセキュリティは依然として公正者連盟の誠実さに依存しています。この方法も中心化されています。


c. SPV(Simple Payment Verification)モデル:上記の2つの手法は、安全性を中間者に依存しているため、中心集権化されています。


SPV(Simplified Payment Verification)、つまり、より安全な非中心化の方法です。


SPV は、ナカモトが「ビットコインの白書」で言及したコンセプトです(興味のある方は読んでみてください、下にリンクを貼っておきます)。これは、ビットコインの基盤技術で非常に重要なコンセプトです。


SPV は、トランザクションの存在を証明する方法であり、特定のブロック内のトランザクションが存在するかどうかを検証するのに必要なデータ量が少ないという特徴を持ちます。SPV モデルでは:


1. ユーザーは、メインチェーン上の資産を特定のアドレスに送信して、メインチェーン上でその資産をロックします。


2. メインチェーン上で一定の確認期間を待ち、つまり、サイドチェーンに資産を移動する前に、親チェーン上で資産がロックされる期間が必要です。この確認期間の目的は、次の待機期間においてサービス拒否攻撃をより困難にするために、十分な作業量を生成することです。典型的な確認期間の桁は、1日または2日です。


親フエイン上に特別な出力が生成された後、ユーザーは確認期間の終了を待ち、その後、その出力を参照するトランザクションをサイドチェーン上で生成し、それが親チェーン上で十分な作業量でカバーされたことを証明する SPV 証明を提供します。確認期間は、クロスチェーントランザクションの速度とセキュリティの間でバランスを取るために、サイドチェーンによって決まるセキュリティパラメータです。


3. メインチェーンの確認期間が終了し、資産がロックされたことが確認されると、SPV 証明が作成され、サイドチェーンに送信されます。その後、この SPV 証明を持つ対応するトランザクションがサイドチェーンに現れ、このトランザクションにより、同等価値のサイドチェーントークン資産がサイドチェーンに生成されます。


4. 生成されたサイドチェーンの資産は最初にロックされた状態にあります。その後、ユーザーは競合期間を待たなければなりません。この期間中、新しく移動されたコインはサイドチェーン上で使用できません。競合期間の目的は、リオーダリング時にダブルスペンディングが発生するのを防ぎ、リオーダリング中に前のロックされたコインを移動させることです。この遅延期間中、新しい作業証明が公開された場合、より多くの累積作業量を持つチェーンに、そのロックされた出力を生成したブロックが含まれていない場合、その移行は無効になります。これをリオーダリング証明と呼び、ダブルスペンディングを防ぐために競合期間が必要です。競合期間内に、ユーザーがメインチェーン上でロックされたコインを移動させた場合、他のユーザーはこのことを最新の SPV 証明で示すことができ、サイドチェーンの鋳造トランザクションが無効になり、これをリオーダリング証明と呼びます。


できるだけ多くのサイドチェーンのユーザーがリオーダリング証明を提供する動機があります。なぜなら、不正な証明を認めることで、すべてのコインの価値が薄まるからです。


5. 典型的な競合期間は通常1日または2日です。競合期間の終了後、サイドチェーントークンが生成され、サイドチェーン内で自由に転送でき、親チェーンとのさらなるやりとりは必要ありません。ただし、それは引き続き親チェーンコインのままであり、元のチェーンにのみ戻すことができます。


6. ユーザーがサイドチェーンから親チェーンにコインを戻す場合、プロセスは上記の手順を繰り返します:サイドチェーンでコインを SPV ロックされた出力に送信し、その出力が完了したことを示す十分な SPV 証明を生成し、この証明を使用して、親チェーン上で以前にロックされた同等額の出力をアンロックします。



d.(Not So Important) Drivechain: The Drivechain concept was proposed by Bitcoin Hivemind founder Paul Sztorc. In Drivechain, miners act as 'algorithmic guardians' to monitor the current state of the sidechain. Miners act as custodians of the funds, and the Drivechain delegates custody of locked assets to the miners, allowing them to vote on when and where the unlocked assets should be sent. Miners observe the sidechain's state, and when they receive requests from the sidechain, they execute a coordination protocol to ensure consensus on the validity of the requests. The greater the participation of honest miners in Drivechain, the greater the overall system security.


e.(Not So Important) Hybrid Mode: The hybrid mode of Drivechain + Notary/Sidechain is an effective combination of the above-mentioned bidirectional anchoring methods. Due to the fundamental differences in the implementation mechanism between the main chain and the side chain, a symmetrical bidirectional anchoring model may not be sufficient. The hybrid mode uses different unlocking methods on the main chain and sidechain, such as using the SPV mode on the sidechain and the Drivechain mode on the main chain network.


Data Availability (DA):


In terms of data validity, because the sidechain claims to store data on the sidechain and does not anchor back, it can only be guaranteed by the sidechain's validator itself, significantly weakening security.


Sidechain Projects:


Polygon - The project started as a single Layer 2 plasma solution (formerly known as Matic Network) and eventually evolved into a current scaling framework that can be used to create Ethereum-compatible blockchain networks and scaling solutions. (It is more like a protocol than a single solution.) Its goal is to build a multichain network around Ethereum like a polygon, and they are now developing 7 scaling solutions (from zk-rollup, sidechains, software development kits). Among them, Polygon POS sidechain is the front runner. The Polygon team believes that in the future, Ethereum will still be the dominant blockchain for high-value transactions and value storage, while daily transactions will move to Polygon's low-cost blockchain. Therefore, the Polygon POS sidechain provides value by assisting Ethereum in scaling rather than directly competing with the Ethereum mainnet to capture markets.


Gnosis Chain  - 前身は xDai サイドチェーンであり、後に Gnosis と合併して開発された Gnosis Chain です。低コストとEthereum互換性は Gnosis Chain の主な利点です。

Skale  - Ethereumの「弾力性サイドチェーンネットワーク」として位置付けられ、数千の独立したブロックチェーン、サイドチェーン、ストレージチェーン、およびその他のタイプのサブチェーンをサポートできるようになりました。これらのブロックチェーンはすべてEthereumメインネットワークに接続され、Ethereumエコシステムと完全に互換性があります。


Palm  - Ethereum共同創設者のJoseph Lubin、ConsenSys創設者で映画プロデューサー、Heyday FilmsオーナーのDavid Heyman、アートテックグループHENI Groupの創設者Joe Hage。これはユーザーがNFTを構築できるEthereumサイドチェーンです。


Ronin  - Axie Infinityのゲーム開発元であるSky Mavisが打ち出す、ゲーム主導のサイドチェーン。ゲームは迅速な相互作用と低料金が必要なため、1日に数千から数百万もの取引が行われる必要があります。ユーザーエクスペリエンスは非常にスムーズである必要があります。そのため、チームは独自に導入しました。


分片チェーン - 元のEthのアップグレード計画であるEth 2.0の一環としての分片チェーンは、Eth自体のサイドチェーンの変種に属します。


利点と欠点:



+ve:


1)サイドチェーンの互換性は非常に優れており、汎用計算、EVM互換、スマートコントラクトをサポートしています。


2)大規模で複雑な取引に関与する場合、サイドチェーンのTPSは非常に高くなります。サイドチェーンの設計は、高スループットを実現するためにある程度の分散化やセキュリティ措置を犠牲にしたものです(これについては、ブロックチェーンの不可能な三角形を参照してください)。


3)サイドチェーンの設計は、メインチェーン上の混雑を減らし、各個人のコストを下げ、Ethereumエコシステムの利用可能性と拡張性を向上させることを主な目的としています。


4)開発者は、サイドチェーンを使用して、メインチェーン上では利用できない新機能やユースケースを探求およびテストすることもできます。たとえば、最初のサイドチェーンのコンセプトはどのようにして現れたのでしょうか?それは2012年であり、当時Bitcoinのコア開発チームはBitcoinプロトコルを安全にアップグレードして新機能を追加する方法を検討していましたが、Bitcoinブロックチェーン上で直接機能を追加することが危険であると懸念していました。なぜなら、新しい機能が実際にソフトウェア障害を起こした場合、既存のBitcoinネットワークに深刻な影響を与える可能性があるからです。さらに、Bitcoinのネットワーク構造の特性上、大規模な変更を行う場合は、大多数のBitcoinマイナーのサポートが必要です。この時、Bitcoinコア開発者はサイドチェーン案を提案しました。


したがって、最初のサイドチェーンは、開発者が新機能を探求的に他のブロックチェーンに追加し、その後これらのサイドチェーンを既存のBitcoinブロックチェーンにアタッチすることを許可したものでした。Bitcoin親チェーンネットワークを保護するためです。


-ve:


1)サイドチェーンとRollupおよびチャネルとの主な違いは、RollupおよびチャネルはどちらもEthereumメインネットワークのセキュリティを継承していますが、サイドチェーンは独自の合意形成メカニズムを採用しているため、通常特定の種類の取引のために設計されています(取引をより迅速かつ経済的に行うことを目的としています)。これは、通常、Ethereumのセキュリティ特性を継承しないことを意味します。技術的には、サイドチェーン案はLayer2には含まれません。


2)中央集権化度が低い。


3)チャネル案と比較して、サイドチェーンのプライバシーはやや弱く、サイドチェーン上では、各取引がサイドチェーンに公開され、サイドチェーン参加者がすべての取引を受け取るかどうかにかかわらず、各参加者によって受信されます。


II. Layer2 二層解決策


基本的な考え方は、オフチェーンでの計算/実行、結果のオンチェーン化;データのオフラインバッチ処理。この方法は、第1層のEthereumコンセンサスから直接セキュリティを取得し、以下のような解決策を含みます:


A. チャネル


これは非常に早期に存在し、長い歴史を持つブロックチェーンのスケーリングソリューションであり、最も有名な応用例はビットコインのライトニングネットワークです。セキュリティに重点を置いており、利用性ではなくセキュリティを重視しています。


参加者は、イーサリアムの一部のステート(ETHデポジットなど)をマルチシグ契約にロックする必要があります。最初の取引によってロックされた初期状態はチャネルのオープンです。その後、参加者はオフチェーンで自由に迅速に取引を行うことができます。やり取りが終了すると、最終状態をチェーンに提出してチャネルをクローズします。


ここでは、支払いチャネル(Payment Channel)とステートチャネル(State Channel)の2種類にさらに分類されます:


・支払いチャネル:現在、メインチェーン上にマルチシグ契約アドレスを作成します。たとえば、AとBがこのようなマルチシグ契約を作成し、資金は彼らの両方の合意によってのみ移動できます。それぞれのお金を入れて、AとBがそれぞれ10ETHを入れたとします。この初期状態はチャネルのオープンに相当します。その後、オフチェーンで彼らは数十または数千取引を行いましたが、各取引には両当事者の署名とタイムスタンプが必要です。最終的に、Aは5ETH、Bは15ETHを持っています。しかし、これらの多くの取引をブロックチェーンに記録する必要はありません。2つの取引だけを記録すれば十分です — 初期資金の取引とすべての取引終了後の最終残高の割り当てです。最終残高をメインチェーンに提出して、この支払いチャネルを閉じたことになります。


これにより、AとBにとっては、オフチェーンでのこれらの取引に手数料がかからず、ほぼリアルタイムで取引が成立します。両当事者はマイニング手数料を支払う必要がなく、ブロック確認を待つ必要もありません。


・ステートチャネル:これは実質的には支払いチャネルの派生ですが、その名前からもわかるように、このソリューションは「ステート」を中心に据えています。つまり、トランザクションの状態だけでなく、ゲームの状態やイベントの状態なども含めることができます。例として、チェスのゲームを開始するとします。彼らは新しい「判定」プログラムを作成し、初期掛け金を提供する必要があります。これにより、ステートチャネルが開かれます。チェスの進行はブロックチェーンに送信されることはありません。ただし、各手を進めるたびに、両者は署名とタイムスタンプを付けて、次の手を進めます。ルールに従って一方が勝利したと判断されたときにのみ、ゲームを終了し、AとBは状態の更新に署名し、ゲームの結果に基づいて賭け金を簡単に分配します。これがステートチャネルのクローズに相当します。


データ可用性(Data Availability, DA):


すべてのデータはレイヤー2に存在し、チャネルの両当事者が DA(送金やゲームのプロセス全体は、a と b の参加者自身によって維持される必要があります) を確保します。


状態の妥当性 State Validity(SV):


チャネルが終了した後、どちらの当事者もレイヤー1に最終状態を提出できますが、レイヤー1は検証を行いません。代わりに、提出者に質権を要求します。その後、不正証明が1週間行われ、誰でも不正を主張し、証拠を提出できます(状態が誤っていることを証明)。この異議は検証可能です。先ほど言及したように、オフチェーンのすべての送金と行動には、両当事者の署名が必要であり、タイムスタンプが添付されます。したがって、異議を唱える者が提供した不正証拠が、サインされておりかつ**以前よりも新しいタイムスタンプである場合、**それは検証可能な不正証拠となります。この証拠は新しい状態となり、同時に以前に提出された状態の提出者の質権されたコインは没収されます。


チャネルプロジェクト:


BTC のライトニングネットワーク Lightening Network


利点と欠点:



+ve:


1)チャネルは主に高頻度で小額の支払いを対象としています。


2)多額の取引時間と手数料を節約します。特に取引手数料の面では、チャネルの作成には初期コストがかかります。しかし、一度デプロイされると、チャネル内の各状態の更新は非常に安価です。実際、チェーン上には2つの取引しか記録されません。


3)状態の妥当性 SV は、不正証明によって十分に保証されます。


4)ステートチャネルには非常に強力なプライバシー機能があります - すべてがチャネル内で発生し、公開放送およびチェーンへの記録は行われません。送金を開始および終了する必要があるだけです。ただし、サイドチェーンシステムの場合、すべての送金はサイドチェーンに公開され、その後、サイドチェーンのすべての参加者に配布されます。


5)ステートチャネルはリアルタイムで確定性が得られます。つまり、2者がステートの更新に署名すれば、ステートが終了したと見なすことができます。


-ve:


1)出金が遅く、出金するには詐欺証明に1週間かかります


2)時々相手に送金する場合、チャネルの作成と決済には時間と経済的コストがかかり、使い勝手がよくありません。なぜなら、マルチシグ契約を作成し、署名し、アドジュディケータを設計する必要があるからです…


3)オープンな参加をサポートしていません。チャネルをまだ参加していない人にオフチェーンの資金を送金することはできません


4)TPS は一般的であり、少数の参加者に適しています。大規模かつ複雑なトランザクションには適していません。


5)スマートコントラクトをサポートしていないため、それ自体がチェーンではないからです。


6)ステートチャネルには全参加者が100%オンラインである必要があります。途中で参加者が退出すると、ステークされたトークンが没収されます。


7)チャネルは論理所有者の定義されていないオブジェクト(例:Uniswapなど)を表すために使用できません。そのため、チャネルは予め定義された参加者セットを持つアプリケーションにのみ適しています。参加者の追加と削除を行うことは可能ですが、毎回コントラクトを変更する必要があります。


B. Plasma


チャネルの「大規模で、大規模な資金、複雑な取引に対応できない」制限性のため、Plasma 提案が生まれました。これにより、資産を任意のターゲットに送信する問題が解決され、同時に TPS が向上することが確認されました。実際、開発者たちがLayer2ソリューションを研究し始めた時期において、Plasma はしばらくの間「the right one」と見なされていました。


しかし、後にいくつかの欠点が見つかったため、Layer 2に取って代わられました。ここでは、簡単に説明します:


Plasma は独立したブロックチェーンであり、最初の設計ではサイドチェーンの主な用途を維持し、オフチェーントランザクションを使用してスケーリングを可能にし、同時にサイドチェーン自体のセキュリティ性問題(つまり、サブチェーンが攻撃を受けた場合、サブチェーンに格納されている資産は常に安全である)を一定程度解決することができます。したがって、サイドチェーンの一部の機能(スマートコントラクトの実行など)を犠牲にしましたが、ブロックチェーンをメインネットにアンカリングすることでセキュリティを向上させました。サイドチェーンとの最大の2つの違いは次のとおりです:


1)サイドチェーンは、橋を使ってメインチェーンと資産をやり取りしますが、サイドチェーンのセキュリティは独自のコンセンサスメカニズムに依存しています。また、サイドチェーンは通常、メインチェーンよりもはるかに小さいです。しかし、Plasma は自身の各ブロックの状態情報をイーサリアムメインネットワークにブロックルートの形で公開します。したがって、イーサリアムメインネットワーク上では、Plasma チェーンの状態情報を確認できます(ただし、サブチェーンの具体的な取引データの保存はユーザー自身でダウンロードして保存する必要があります。イーサリアムメインチェーンはこのプロセスで確認者の役割を果たすだけであり、検証者ではないため、そのセキュリティレベルは低いです)。したがって、Plasma チェーンは「サブ」チェーンとも呼ばれます。なぜなら、それらは本質的に「親チェーン」であるイーサリアムチェーンの小さな複製です。これは、それらが親チェーンの一部のセキュリティを受け継いでいることを意味し、したがって、これらも layer2 のソリューションに属しています。


2)Plasma ではスマートコントラクトはサポートされず、基本的なトークン送金、交換、およびその他いくつかの取引タイプのみがサポートされます。


・無限に作成される「チェーン内チェーン」:


それぞれの Plasma は、無限にさらに多くのサブチェーンを作成することができ、親チェーンの負担を軽減します。各サブチェーンには「オペレーター」と呼ばれる役割があります。



・オペレーターの定期的な「ステートコミットメント」:


すべてのオフチェーン取引は、最初にサブチェーンのオペレーターに集約され、そして(サブチェーンがメインチェーンにアンカーされる必要があるため)オペレーターは定期的にサブチェーンの計算結果をまとめ、Merkle ツリーの形式でブロックルートに圧縮し、最終的にブロックルートをメインチェーンに送信して状態を記録します。これがいわゆる定期的な「ステートコミットメント」の提出です。このようにして、2回の提出の間にいくつの取引が行われても、サブチェーンはメインチェーンに取引が引き起こす状態情報だけを提出する必要があります。取引データ自体はメインチェーンに送信されません。


・エントリー — メインネットワーク契約:


サイドチェーンと同様に、Plasma はイーサリアム上で実行されるメイン契約を使用してユーザーの入出力を処理します。ユーザーは、ETH または任意の ERC-20 トークンをメイン契約に預け入れる必要があります。監視契約による Plasma オペレーターは、ユーザーの最初の預入金額に相当する金額を再作成し、それを Plasma チェーン上のユーザーのアドレスに解放します。


・退出チャレンジング - フォルス証明:


次に、Plasma チェーンのリリース時に退会(withdrawal)が行われる際に、Plasma は前述の「チャレンジ期間」を導入しました。これはフォルス証明によって、不正行為を処罰し、状態の正当性を保証する仕組みです。このメインコントラクトはまた、状態のコミットメント(前述)を追跡し、フォルス証明によって不正行為を処罰します。「フォルス証明」とは、このチャレンジ期間中(通常は7日以上)に、誰もがMerkle Treeの検証を通じて、ユーザーの資産の退会が不正であることを証明できることを意味します。


RJ によって描かれました


・状態ルート(State Root):


最初に述べたように、Plasma はチェーン上に1つ(または相互に関連するいくつか)のコントラクトを持ち、Plasma サブチェーン内の状態レコードを維持します。この状態レコードは実際にはMerkle Treeのルートノードに格納されたハッシュ値であり、このハッシュ値を状態ルート(State Root)と呼びます。


詳細な説明:Merkle Tree(2分木)は、各ロールアップレイヤーアカウントの状態情報が葉ノードに記録されています。


各状態情報の組(State 1/State 2など)に対して、特定のハッシュ関数に基づいて一意のハッシュ値(例:Hash(1,2))を計算し、これら2つの葉ノードの親ノードを作成し、これを繰り返してルートノードに到達し、最終的に1つのハッシュ値が根ノードに保存されます。ハッシュ値の計算方法を知る必要はありませんが、覚えておくべきいくつかのポイントがあります。


1) 任意の状態の変更は、ルートハッシュの変更を引き起こす。


2) 2つのツリーのルートハッシュ値が同じ場合、それは彼らのリーフノードが保持する情報が完全に一致していることを意味します(したがって、2つのルートノードのハッシュ値を比較するだけで、底層の状態情報の一貫性を確認できます)。


3) ルートノードのハッシュ値と隣接するハッシュ値をダウンロードすることにより、特定の状態情報がこのハッシュツリー内に存在することを確認できます。


RJ によって描かれたもの


Rollup 上でトランザクションが発生すると、新しい状態ルートが生成されます。この時点で、どのサブチェーンのユーザーも、サブチェーンで記録されたトランザクション情報を使用して、新しい状態ルートが正しいかどうかを検証できます(先程述べたように、記録されたトランザクション/リーフノードが完全に一致している場合、ルートハッシュは必ず同じになります)。


彼らの資金を完全に安全に保つために、ユーザー(つまり潜在的な「検証者」)は定期的にプラズマチェーンを監視し、チェーン上のトランザクション情報を記録する必要があります。これには、自動同期(ダウンロード)プラズマチェーンを実行し、すべてが期待通りに機能していることを確認するソフトウェアを実行することが含まれます。ユーザーは、ソフトウェアを数日ごとに少なくとも1回実行する必要がありますが、具体的なタイミングは、Plasma MVP スマートコントラクトの設定によります。


プラズマチェーンが正常に稼働している場合、ユーザーは他に何もする必要はありません。ただし、不可逆的なエラーが発生した場合(ほとんど発生しないことを願っています)、ユーザーのウォレットは自動的にプラズマチェーンから資金を引き出し始めます。この自動引き出しにより、ユーザーの資金は安全に保護され、最悪の場合でも、悪意を持ったオペレータが資金を盗もうと試みても資金が保護されます。


・データ不可用:


しかし、Plasma にはデータ不可用性という大きな問題があります。チートプルーフはユーザーの不正を効果的に防いでくれますが、少なくとも1つの正直なノードがあればチェーンの安全性を確保できることを保証してくれます。しかし、オペレータが悪意を持っている場合、同時にユーザー/検証者が真正性を証明する関連する取引情報を持っていない場合はどうでしょうか?ユーザーがチートプルーフを提出できる前提は、ユーザーがサブチェーン上の取引データを自ら記録し、オペレータがすべての真のトランザクションデータをメインチェーンにバンドルすることです。したがって、オペレータが不正なデータを提出する場合、必要な詐欺防止情報を隠すだけでなく、ネットワーク内のユーザーは取引が無効であることを証明する真の情報を取得できません。


・大規模な退場:


「悪質なオペレーター」の問題は Plasma の提案では効果的に防げないため、別の解決策を考える必要があります。Plasma は「大規模な退場」(mass exit)プランを設計しましたが、このプランは Ethereum のネットワーク全体の混雑を引き起こす可能性があります…


Plasma プロジェクト:


Matic は最初 Plasma を使用していましたが、ブロックチェーンの研究者たちは間もなくデータの利用性の問題を発見しました(これについては後で詳しく報告します)。これにより、Plasma は他のソリューションに置き換えられました。名前を変更した後、Polygon プロジェクトは総合的で包括的なスケーリングソリューションに転換しました。


利点と欠点:



+ve:


1)高いスループットを提供します


2) 低コストの取引ごと


3)任意のユーザー間の取引に適しています。利用者はプラズマ外の人に資産を送信することができ、受取人はいつでも受領証明書を持参し、プラズマに戻ることができます。両者が両方ともプラズマチェーン上にある場合、各ユーザーには費用がかかりません。そのため、プラズマは主鎖に依存しない特定のユースケースに対応できます。企業を含む誰もが、異なる環境で動作する拡張可能なインフラストラクチャを提供するために Plasma スマートコントラクトをカスタマイズできます。


4)資金を事前にロックする必要がありません。


5)セキュリティが高く、Plasma のセキュリティはある程度主チェーンに依存しています(詐欺証明)。サイドチェーンのバリデータは定期的にステートルートを主鎖に送信しますが、主鎖は検証しません。誰でも一週間以内に異議を申し立て、詐欺証明を行うことができます。これにより、SV ステータスの有効性が保証されます。


-ve:


1)スマートコントラクトの実行ができません。Plasma は基本的なトークン転送、交換、およびその他一部のトランザクションタイプのみをサポートしています。


2)固定されたサブミット周期があり、この期間内に支払いを行っても確認されません。サイクルが終了するまで待たなければなりません。


3)引き出しが遅く、通常は7日間かかり、異議申し立てや詐欺証明を行うためにその期間を待たなければなりません。


4)ネットワークを定期的に監視する必要があります(アクティブリクエスト)、または他の誰かにこの責任を委任して資金の安全性を確保する必要があります。


5)データを保管し、要求に応じてサービスを提供するために1人または複数のオペレーターに依存しています。


6)多くのユーザーが同時に退出しようとすると、イーサリアムメインネットワークは混雑する可能性があります。


したがって、Plasma とチャネルのチャネル比較から分かるように、主な利点は次のとおりです:ユーザーは資産をシステムに参加していない受信者に送信でき、資本要件ははるかに低い。ただし、コストは次のとおりです:チャネルチャネルはチェーン上でデータを必要とせず、Plasma は各チェーンが定期的にハッシュ値を公開することを要求します。また、Plasma の送金は即時ではありません:ユーザーはチャレンジの終了を待たなければなりません。


ただし、Plasma 自体の最も重要な問題は、効率を向上させるために、Plasma サブチェーンは定期的にその状態結果をメインチェーンに提出するだけでなく、すべてのトランザクションデータを提出しないことです。ただし、これには、Plasma がイーサリアムメインチェーンと同じ信頼レベルを築けないというコストがかかります。なぜなら、「データの有効性」を保証する責任は、「オペレーター」ではなく、イーサリアムメインネットワークにかかっているからです。しかし、オペレーターには悪意を持とうとする動機があります。


そこで、ロールアップの提案が生まれました…


C. ロールアップ:


ロールアップは現在最も一般的なスケーリングソリューションであり、オリジナルのメインチェーン処理方法と Plasma 方式の折衷案と言えます:彼は Plasma と同様に、イーサリアムメインチェーン(つまりレイヤー1)の外でトランザクションを実行し、複数のトランザクションを一括処理し、最終的にそれらの状態をイーサリアムメインネットワークに送信します。ただし、異なる点は、1)ロールアップもトランザクションデータをメインチェーンに提出し、2)ロールアップはこれらのトランザクションデータを最大限に圧縮し、同時にロールアップ自体の特性に基づいて一部のデータを適切に削除および縮小し、最終的な提出がメインチェーンから誰でも検証できるようにします。 (これらのロールアップはいずれも Plasma を基盤としており、トランザクションデータ部分に異なるプルーフプランを提供しています。)


したがって、Rollup のセキュリティは Plasma よりも高いです。そして、そのコアの利点はステータスの有効性とデータの可用性を同時に保証しています。


Rollup は具体的にどのように実現されているのでしょうか?


・State Root(以前に言及されたもの):


まず、Rollup にはメインチェーン上に Rollup レイヤーの状態レコードを維持するための1つ(または関連する複数の)スマートコントラクトがあります。この状態レコードは実際には Merkle ツリーのルートノードに格納されるハッシュ値であり、このハッシュ値は状態の根と呼ばれます。


具体的な説明:Merkle ツリー(バイナリツリー)は、バイナリツリーの葉ノードに Rollup レイヤーのアカウントの状態情報が記録されています。


各状態情報(State 1/State 2 など)について、特定のハッシュ関数に基づいて一意のハッシュ値(例:Hash(1,2))を計算して、これら2つの葉ノードの親ノードとして使用します。これを繰り返して、最終的にはルートノードに格納される1つのハッシュ値が得られます。この計算方法を知る必要はなく、覚えておくべきことだけを覚えてください。


1. どの状態の変更も Root ハッシュの変更を引き起こします。


2. 2つのツリーのルートハッシュ値が同じ場合、それらの葉ノードに格納されている情報が完全に一致していることを意味します(したがって、2つのルートノードハッシュ値を比較するだけで、基礎となる状態情報の一致を確認できます)。


3. ルートノードのハッシュ値と隣接するハッシュ値に基づいて、特定の状態情報がこのハッシュツリーに存在することを確認できます。


Drawn by RJ


・Batch(これは Rollup の非常に優れた改良です):


Rollup 上で取引が発生すると、新しいステートルートが生成されます。


ただし、取引ごとに署名し、メインチェーンでステートルートを更新すると、それにかかるコストが、これらの取引をLayer1で実行するよりも高くなります。


そのため、Rollup で発生した取引はバッチごとにまとめられ、そのバッチ全体が実行された後の状態に基づいて新しいステートルートが生成されます。取引をメインチェーンのスマートコントラクトに提出する際、バッチ内のすべての取引に対してこの新しいステートルートを計算し、前回のステートルートと取引データと共に提出する必要があります。


このバッチングの部分は「batch」と呼ばれ、オペレータはこのバッチをRollupコントラクトに提出すると、メインチェーンは新しいステートルートが正しいかどうかを検証し、検証に合格した場合、ステートルートを最新の提出されたステートルートに更新し、最終的にRollup内の状態遷移を確認します。


したがって、Rollupの本質は、実際に発生した多くの取引をメインチェーン上の1つの取引にまとめることであり、これらの取引はRollupチェーンによって実行および計算されますが、データはメインチェーンに提出されます。これにより、メインチェーンの合意とセキュリティを利用しつつ、実際の取引効率が向上し、取引コストが削減されます。


https://vitalik.ca/general/2021/01/05/rollup.html

https://vitalik.ca/general/2021/01/05/rollup.html


・圧縮:


これら2つの技術アプローチはスケーリングを実現することができ、その核心はトランザクションデータの圧縮とパッケージングです(以前に述べたロールアップの大きな改善点はトランザクションデータをチェーンに記録することですので、「圧縮」はこの部分を対象としています)。これは、Ethereumのブロックのガスリミットに上限があるためで、圧縮されたトランザクションが小さいほど、メインチェーンに提出できるトランザクションが増え、手数料が低くなります。では、どのようにしてこれを実現しているのでしょうか?


以下はVitalikがその記事で述べたzkの圧縮モデルの一例です:


Ethereumメインチェーン上の単純なトランザクション(例:ETHの送信)は通常約112バイトを消費します。しかし、zk-Rollupを使用してETHを送信すると、約12バイトに縮小できます。


https://vitalik.ca/general/2021/01/05/rollup.html


このような圧縮効果を達成するには、一方ではよりシンプルな高度なエンコーディングが採用されていますが、他方ではいくつかの巧妙な圧縮テクニックもあります。


このチャートは非常に興味深いです。ロールアップを考慮しない場合、一般的にはイーサリアムネットワーク上の取引はこれらのパラメータに関連付けられます:


Nonce:このパラメータの目的はリプレイを防止することです。アカウントの現在の nonce が 5 である場合、そのアカウントからの次の取引が処理されると、アカウント内の nonce は 6 に増加します。nonce は一般的には数千から数十万の範囲内にありますが、RLPエンコーディングを介して動的にバイト数を短縮することができるため、イーサリアムネットワーク上の nonce は約 3 バイトです


Gasprice:10 のマイナス 18 乗を単位とする数値であり、RLエンコーディングされた約 8 バイトです


Gas:ここでいう gas はあなたが支払いたい gas の量を示します。一般的にはそれほど多くありません。通常、イーサリアムの1つのブロックの gas 上限は 2,000 万 gasです。通常、送金トランザクションの gas は約 20,000、コントラクト呼び出しは 100,000 〜 200,000、最大でも数十万です。したがって、平均的には約 3 バイトです


To:Ethereum上のアドレスは約 21 バイトであり、Ethereum上のアドレス範囲が非常に広いです


Value:取引時の金額を示し、多くの場合、コントラクト呼び出しの場合は値が 0 になります。なぜなら、コントラクトに送金する必要がないからです。ただし、たとえば、私があなたに 5 ETH を送金する場合、その値は存在します。単位もマイナス 18 乗であり、RLPエンコーディングされた約 9 バイトです


Signature:署名は比較的固定されており、約 68 バイトです


したがって、1つのETH取引はおおよそ 112 バイトです。ロールアップは L2 に送信されるため、完全な情報を表現できれば、L2ソリューションはカスタムフォーマットであることができます。ただし、これらの情報を選択および圧縮できます。たとえば:


Nonce:ロールアップでは nonce を完全に省略することができます。なぜなら、プリステートから nonce を復元できるからです。


GasPrice:各バッチで固定の料金レベルを設定したり、ガス支払いをバッチ作成者以外のところに完全に移したりして、トランザクション作成者がチャネルを介して手数料を支払うようにすることもできます。


Gas:バッチレベルでのガス制限を設定でき、特定の値を選択できます。


To:マークルツリーのインデックスを使用して、20バイトのアドレスを置換できます(たとえば、アドレスがツリーの4527番目に追加されている場合、インデックス「4527」を使用するだけで参照できます。これにより4バイトまで制限できます。


Value:金額の単位を変更したり、別の技術を使用して格納することができます。


Signature:BLS集約署名を使用し、複数の署名を1つにまとめることができます。その後、メッセージバッチ全体に対して一度に署名を検証できます。各ブロックで検証できる集約署名の数の上限が100であるため、100の署名が含まれる大規模なバッチでも1つの署名に集約できます。


最終的に12バイトほどを節約できます。実際には精度が制限されていますが、情報の範囲は変わらず、ほぼ完全な情報を示すことができます。これがRollupがスケーリングできる理由です。ただし、このスケーリングの主な理由は、メインチェーン上で、コールデータに制限があるためです。コールデータはメインネットワーク上の1バイトごとに少しのガスを消費し、メインチェーン上の1つのブロックに対する総ガス数には制限があります。したがって、コールデータで含めることができるバイトの総数が制限されています。


これらの圧縮テクニックは、Rollupのスケーリングの鍵です。取引データを圧縮しない場合、Rollupはおそらくメインチェーンベースで約10倍の効率向上しかできませんが、これらの圧縮テクニックがあることで、100倍以上の圧縮効率を実現できます。


Data availability:


コミットされた情報が正しいかつ利用可能であることをどのように検証しますか?


RollupとPlasmaの大きな違いは、それがメインチェーンに取引データをコミットし、誰もが検証できるようにすることです。そこで、コミットされた情報が正しいかつ利用可能であることをどのように検証するかが重要になります。


この問題に対して、大まかには2つの解決策があり、解決策に応じて、Rollupは2つのタイプに分類されます:楽観的なロールアップ(Optimistic rollup)とゼロ知識(ZK)ロールアップ(Zero-knowledge (ZK) rollup)。


a)オプティミスティックロールアップ その名前が示すように、オプティミスティックロールアップはすべての取引が有効であると楽観的に仮定し、初期証明を必要とせずにバッチを提出します。誰でもチャレンジ期間中にデータが虚偽であることを検出し、証明できます。


RJ 作


バッチが詐欺であると証明された場合、オプティミスティックロールアップは詐欺証明を実行し、イーサリアムメインチェーン上の利用可能なデータを使用して正しい取引計算を実行します。


また、次の図を使用してオプティミスティックロールアップにおける詐欺証明の構築を説明することもできます:


バッチに含まれる情報には、プリステートルート、ポストステートルート、および取引情報が含まれます。


プリステートルートに基づいて、完全なMerkle Treeを構築できます。


取引情報に基づいて、バッチに提出された取引をシミュレート実行することで、新しいアカウント状態、新しいMerkle Tree、新しいステートルートを取得できます。

前述のステートルートとバッチ内のステートルートを比較することで、バッチが正しいかどうかを検証できます。


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 上のトランザクションを保存する必要がありません。


RJ绘


优缺点:



+ve:


1)提供高吞吐量


2)和低交易成本


3)roll-up 交易数据存储在第 1 层链上,提高了透明度、安全性、抗审查性和去中心化性。在不牺牲安全性或不信任的情况下提供可扩展性的巨大改进。


4)optimistic rollup 的欺诈证明保证了去信任的最终性,状态的有效性,而且并允许诚实的少数人保护链(理论上哪怕只有一个诚实节点都可以保证整条链的安全性)


5)optimistic rollup 也通过将交易数据上主网保证了数据的可用性。


6)与 EVM 和 Solidity 的兼容性允许开发人员将以太坊原生智能合约移植到汇总或使用现有工具来创建新的 dapp。


-ve:


1) 提款慢,通常需要等 7 天,以允许提交质疑和欺诈证明


2)安全模型依赖于至少一个诚实节点执行汇总交易并提交欺诈证明来挑战无效状态转换。


3)Optimistic roll-up 必须在链上发布所有交易数据,也需一定的成本。


オプティミスティック・ロールアップ プロジェクト:



b)もう1つの Roll-up ソリューションは Zero-Knowledge Rollup (ZK Rollup) です


まずは Zero-Knowledge Proof(ZKP)とは何かについて説明しましょう。


ゼロ知識証明(ZKP)は現代の暗号技術の重要な部分であり、証明者が有用な情報を提示せずに検証者を特定の主張を信じさせることができることを指します。


証明者は検証者に自分がメッセージを知っているか持っていることを信じさせるが、証明プロセスは示されたメッセージについて検証者に何も漏らさない。要するに:


自分が証明したいことを証明し、同時に検証者に提供される情報は「ゼロ」です。例:数独

・完全性

・信頼性

・ゼロ知識性


オプティミスティック・ロールアップとは異なり、ZK Rollup では、提出者はバッチを提出する際に、トランザクションデータと post/previous ステートルートに加えて、「有効性証明」を提供する必要があります。 有効性証明がメインネットのロールアップ契約に提出されると、誰でもその証明を使用して、ZK Rollup 層内の特定のバッチのトランザクションが正しいかどうかを検証できます。 証明はバッチを提出してから数分後に完了し、検証が成功するとメインチェーンのロールアップ契約はステートルートを最新の提出データに更新します。 これは基本的に、検証者の作業を省略し、提出と同時に検証を完了することに等しいです。


これは次のことを意味します:1. zk Rollup では、チャレンジ期間に詐欺証明を提出する必要がなくなりました。これにより、検証者がデータを保持する必要がなくなります(下図参照);2. また、提出後に検証を行うためにさらに7〜14日待つ必要がなくなりました。そのため、他のL2ソリューションよりも取引速度がはるかに速くなります。


RJ による作成


現在、市場には2つのゼロ知識証明ソリューションがあります:


I. zk-SNARK(Succinct Non-Interactive Argument of Knowledge)は、簡潔な非対話型の知識の論拠を表します。この方法の特徴は簡潔であり、検証プロセスが大量のデータ転送や複雑な検証アルゴリズムを必要とせず、検証時間が計算スループットと同じ速度で増加しないことを意味します。


II. zk-STARK(Scalable Transparent Argument of Knowledge)は、拡張可能な透明な知識論拠であり、SNARKの代替バージョンとして作成されました。SNARKの簡潔な「S」とは異なり、STARKの「S」はScalable(拡張可能)を表します。STARKが生成される証明の時間複雑度は計算の複雑度に近く、検証される証明の時間複雑度が計算の複雑度よりもはるかに低いことが主な特徴です。つまり、STARKの拡張性が向上しても、STARKの証明の複雑度はそれに応じて増加しません。


しかし、ゼロ知識証明については、非常に複雑な基礎技術と暗号学的概念が関わるため、これについては後日改めて共有することにします。今日は簡単に触れるだけで、具体的な詳細には立ち入りません。


要するに、ZKロールアップ特有の重要な圧縮技術は次のとおりです:


1. 生成される証明の容量は、内容の容量よりもはるかに小さい(したがって、メインネットにアップロードするオペコードよりもはるかに小さい)。


2. トランザクションの一部が検証にのみ使用され、状態の更新とは無関係である場合、その部分をオフチェーンに移動させることができ、バイト数を減らすことができます。ただし、これはオプティミスティックロールアップでは実行できません。なぜなら、このデータは将来の不正証明のチェックのためにチェーン上に含まれている必要があるためです(ZKでは、チャレンジ期間や不正証明が不要であるため)。


ただし、ZKの課題は、ZK証明の生成および検証自体に非常に膨大かつ複雑な計算が必要であることです。これが、現在ZK-Rollupの研究開発と実際の適用が非常に遅れている理由の1つでもあります。さらに、その技術的複雑性のため、ゼロ知識はどんな言語、コンパイラ環境、仮想マシン、命令セットでも上記のプロセスをシームレスにサポートできるわけではなく、追加の適合が必要です。これにより、ZKプロジェクトがEVMと非常に互換性が低いという困難が生じます(この部分についても、後日ZKに特化した共有で詳しく説明できます)。


以下は、@W3.Hitchhikerチームによる異なるアプローチの手数料とTPSの比較です:


https://w3hitchhiker.mirror.xyz/7dwD76ZZIlR7ep731K6y9vTTuXGHOojxWSnkXKzqPzI


利点と欠点:



+側:


1)効力証明は、チェーン外取引の正確性を保証します。


2)検証者の作業と挑戦期の概念が省略されているため、L1で効力証明が検証されると、状態更新が承認され、より迅速な取引確定性が提供されます(7〜14日を待つ必要はありません)。


3)ORのデータ可用性は経済学から来ています。システムが正常に機能するためには、ORは適切なインセンティブ機構を設計して、主チェーン上の検証者に提出者を常に監視させ、詐欺証明を提出する準備をさせる必要があります。一方、zkのデータ可用性は暗号技術とコードに依存しています。


4)セキュリティは、メインネットワークの安全性とコンセンサスに依存しています。チェーン外の状態を復元するために必要なデータはすべてL1に格納されているため、安全性、検閲耐性、および分散化が保証されます。


5)より優れたデータ圧縮は、イーサリアム上でのコスト削減やユーザーの集約費用の最小化に役立ちます。現在、最も高い圧縮能力と効率性を備えたソリューションです


6)したがって、ユーザーの取引手数料も低く抑えられます。


-側:


1)効力証明には計算量が多く、複雑さが高いため、開発が遅れています


2)したがって、適用範囲が広くない。OPのように多くのシナリオや反復がありません


3)現在、イーサリアム仮想マシン(EVM)をサポートするのは困難であり、スマートコントラクト、DeFiプロトコルなどの分散型アプリケーションを実行することが難しくなっています。


4)ハードウェアに関する中心化のリスク。有効性証明の生成には専用ハードウェアが必要であり、ハードウェアの独占はチェーンの中央集権的な制御を引き起こす可能性があります。


ZK Roll-Up プロジェクト:


数据来源 https://l2beat.com/scaling/tvl/,22/09/2022


Rollup 概要:


今すぐ Roll-Up 方案が Plasma 方案を置き換える理由が理解できるでしょう:


1)効率性 - zk-rollup はオンチェーン取引を処理する有効性証明を生成します。これにより、オペレーターがデータをパッケージ化し、「ステートコミットメント」を公開し、ユーザーが不正行為証明を提出する必要がないため、挑戦期間や脱退メカニズムが不要になります。これは、ユーザーが定期的にチェーンを監視して資金を保護する必要がないことも意味します。


2)スマートコントラクトのサポート - Plasma の別の問題は、イーサリアムスマートコントラクトの実行をサポートできないことです。オプティミスティック・ロールアップはイーサリアム仮想マシンと互換性があり、今ではzkSync、StarkWareなどの多くのzkプロジェクトもzkEVMの実装を推進しています。これにより、より安全で有用な分散型スケーリングソリューションとなっています。


データ可用性 - 前述のように、Plasma にはデータ可用性の問題があります。もし悪意のあるオペレーターがPlasmaチェーンに無効なデータを提出した場合、ユーザーは異議を唱え、不正行為証明を提出することができません。Rollups は、オペレーターがイーサリアム上で取引データを公開することを強制することで、この問題を解決し、誰もがチェーンの状態を検証し、必要に応じて不正行為証明を作成できるようにします。


3)大規模な退出問題 - ZK-rollups と Optimistic Rollups は、Plasma の大規模な退出問題を異なる方法で解決しています。例えば、ZK-rollup の 暗号メカニズム は、オペレーターがいかなる状況下でもユーザー資金を盗むことができないように保証しています。


同様に、optimistic rollup は出金に遅延期間を設けており、この期間中に誰でもチャレンジを行い、悪意のある出金リクエストを防ぐことができます。これは Plasma に似ていますが、異なる点は検証者が欺瞞証明を作成するために必要なデータにアクセスできることです。したがって、ロールアップ方式は主ネットワークを損なう可能性のある「大規模な退出」を関与しません。


Vitalik はここ数年、将来のイーサリアムの発展方針はロールアップを中心に据え、基礎チェーンがブロックのデータ可用性を保証し、ロールアップがブロックのスケーリングと有効性を保証すると強調してきました。


しかし…


レイヤー2 への大規模な移行が進む中、容量が高いロールアップであっても、最終的には同じスケーリングの問題に回帰することになります - なぜなら、ロールアップ取引データは依然としてすべてのフルノードに伝播する必要があり、そのスケーリングは引き続きイーサリアムのデータ処理能力に制約を受けます。


メインネットワークと比較して、Optimistic rollup はスケーラビリティを25倍に向上させることができ、zk rollup は100倍の向上が可能であり、約3000 TPSです。


ロールアップ手法は、指数関数的ではなく線形的な成長を提供すると言えます。性能を確保しつつ、指数関数的なスケーリング成長を実現する可能性はありますか?



そして、StarkWare チームは Validium ソリューションをさらに開発し、1 秒あたり 2-3 万トランザクションを達成可能なオフチェーンスケーリングソリューションを作り出しました…


D. Validium チェーン


これは ZK ロールアップと同様に動作し、イーサリアムのオフチェーン取引を検証するためにゼロ知識証明を公開しますが、主な違いは Validium のデータ可用性がオフチェーンであることです。これにより、スループットはイーサリアムのデータ処理能力の制約を受けず、拡張性が向上し、取引速度が向上し、ユーザーのコストが低下します(データの公開コストが低い)。


・入金と出金:


入金と出金もロールアップと同様であり、ユーザーの入金と出金はイーサリアム上のスマートコントラクトによって制御されます。ユーザーはイーサリアムのメインチェーン上のスマートコントラクトに ETH(または任意の ERC トークンと互換性のあるトークン)を入金することで、Validium チェーン上でその入金と同額のトークンを鋳造できます。


出金の場合、Validium ユーザーは引き出しトランザクションをオペレータに提出します。Validium チェーン上のユーザーの資産は、出口プロセスが完了する前に破棄されます。バッチの有効性証明が検証されると、ユーザーはマークル証明を提供してメインコントラクトを呼び出すことで出金できます。つまり、ZK ロールアップと同様に、Validium はほぼリアルタイムの出金を提供します。


・バッチ処理:


ロールアップと同様に、ユーザーはオペレータにトランザクションを提出し、オペレータはそれらをバッチ処理してメインチェーンに提出します。バッチにはステートルート/マークルルートと有効性証明が含まれます。ステートの更新を行うには、オペレータは新しいステートルートを計算し(トランザクションを実行した後)、それをメインチェーン上のコントラクトに提出する必要があります。有効性証明が成功すると、新しいステートルートに切り替わります。


ZK ロールアップとは異なり、Validium 上のオペレータはトランザクションデータを公開する必要はありません。これにより、Validium は純粋なオフチェーン拡張プロトコルとなります。


RJ 制作


Validium のオフチェーンデータ保管の主な利点は、スケーラビリティのさらなる向上(イーサリアムのデータ処理能力に制約がなくなるスループット)、取引速度の向上、ユーザー料金の低減(コラムデータのパブリッシュコストが低くなる)、およびプライバシー保護です。なぜなら一般の人々はチェーン上で取引データにアクセスできないからです。


データの入手性:


ただし、オフチェーンデータの入手性は問題を引き起こします。もし運営者がユーザーにオフチェーン状態データを秘匿したり、ユーザーが取引データにアクセスできない場合、ユーザーは出金を実行するために必要な Merkle プルーフを計算できなくなり、ユーザーの資金が凍結されてしまいます。


以下の図のように、もし運営者が transaction 6 を変更した場合、transaction1 の取引主体はアカウント所有権を証明できなくなります。なぜなら、証明プロセスに必要なノードのハッシュ(5,6,7,8)情報が失われたためです。


(Plasma よりも優れているようです。Plasma 方案では、運営者の悪質行為によってユーザー資金が盗まれる可能性がありますが、Validium では詐欺証明ではなく正当性証明が使用されているため、運営者の悪質行為によってデータが隠された場合も、ユーザー資金が凍結される最悪のシナリオにとどまります…)


RJ による作成


したがって、Validium は、ユーザーが必要に応じてチェーン外取引データにアクセスできるようにするために、追加のチェーン外データ管理メカニズムを採用する必要があります。


Validium のチェーン外データの可用性管理方法は、二つの大きなカテゴリに分けることができます。信頼されたパーティによるチェーン外データの保管を必要とする方法と、ランダムに割り当てられた検証者を使用してタスクを完了する方法です。


第一のカテゴリ:データ可用性委員会 (DAC)


この問題を解決するために、StarkWare は、ユーザーがオペレータに依存する必要性をなくすために、データ可用性委員会(DAC)の概念を提案しました。


信頼された実体のグループ(データ可用性委員会と呼ばれる)を指定してチェーン外データのコピーを保管し、オペレータがユーザーの引き出しリクエストに対応できない緊急の状況では、その(チェーン外データのコピー)を一般に公開可能にすることができます。メンバーが少ないため、DAC はより容易に実装でき、より少ない調整が必要です。ただし、中央集権化のリスクが伴います。


オペレータを介さずに直接退出。


緊急の状況では、メインネット上のアプリケーションスマートコントラクト(ASC)は、新しいステータスの更新を受け付けることなく、最新のステータスの Merkle 証明を提供できるユーザーだけが資金を直接引き出すことを許可します。つまり、この場合、ユーザーは、オペレータを介さずに、直接メインコントラクトの引き出し機能を呼び出して、自分の資金を引き出すことができます。


依然としてゼロ知識証明が使用されているため、不適切なステータスをブロードキャストするリスクはありません。


ただし、ユーザーは必要に応じてデータ(たとえば、Merkle 証明の生成に使用されるデータ)を提供するために DAC に信頼する必要があります。データ可用性委員会のメンバーは、悪意のある行為者から被害を受ける可能性があり、その後、悪意のある行為者はチェーン外データを留保することができます。


第二类:绑定数据可用性 Bounded Data Availability


これは、経済的インセンティブメカニズムと分散形式によって、オンチェーンデータの可用性を保証するものです。このアプローチでは、オフラインデータの保存を担当する参加者が、役割を果たす前にスマートコントラクトにトークンをステーク(ロック)する必要があります。このトークンは、「結合」の一種として、データ可用性管理者間の誠実な行動を保証し、信頼前提を減らすためのものです。これらの参加者がデータの可用性を証明できない場合、担保金が削減されます。


結合されたデータ可用性のアプローチでは、必要なトークンをステークした後、誰でもオンチェーンデータの保存アサインされる可能性があります。これにより、条件付きでデータ可用性を管理する人々の数が増え、データ可用性委員会(DAC)への中心化リスクが軽減されます。さらに重要なのは、このアプローチがオフラインデータを保護するための信頼された第三者の指定よりもセキュアであるという点です。


Validium の利点と欠点:



+ve: zk roll-up には多くの利点と欠点があり、Validium も同様に:


1) 有効性証明は、オンチェーン取引の完全性を強制し、オペレーターが無効な状態を使用して更新しないように防ぎます


2) トランザクションの高速化。イーサリアムへの資金引き出しでは遅延が発生せず(不正証明は不要)


3)特定のユースケースに適しており、プライバシーと拡張性を重視した取引やブロックチェーンゲームに適しています。(たとえば、DeversiFi は、第二層ネットワーク(Validium)を使用してプライバシー取引とスケーラビリティを実現した分散型*取引プラットフォーム*の DEX V1.0 は、特定のユースケースに適しています。オンチェーンデータへの記録はできないプロフェッショナルトレーダーが、取引戦略を競合他社に暴露したくないためです。


4)オンチェーンデータの利用可能性により、より高いスループットが実現されます。


5)イーサリアムメインネットワークに取引データを公開しないことにより、ユーザーのガス手数料を削減します


6)指数関数的なスケーラビリティの向上により、より高い流動性を実現し、これは新興 DEX の重要な特性となります


-ve:


1)有効な証明に必要な計算量が多く、複雑性が高いため、開発スピードが遅い。低スループットのアプリケーションにはコスト効果がありません。


2)そのため、普及していません。OP のように多くのアプリケーションやイテレーションがありません


3)現在、イーサリアムバーチャルマシン(EVM)をサポートするのが難しいため、スマートコントラクトや DeFi プロトコルなどの分散型アプリケーションを実行するのが難しいです。


4)ハードウェアに関連する中心化のリスク。有効性証明の生成には専用のハードウェアが必要で、ハードウェアの独占はチェーンの中央集権化につながる可能性があります。


5)モデルは信頼仮定と暗号経済的インセンティブに依存しており、ZK-rollups のように純粋に暗号学的セキュリティメカニズムに依存していません。


6)オンチェーンデータの利用可能性の問題:Merkle 証明の作成や検証に必要なデータが利用できない場合があります。これはつまり、オペレータが悪用すると、ユーザーは契約から資金を引き出すことができないかもしれないということです。データ利用可能性委員会があっても、中心化のリスクがあります。


Validium プロジェクト:


from https://l2beat.com/scaling/tvl/, 22/09/2022


E. Volition


ここでは、StarkWare が立ち上げた volition のハイブリッドアプローチについて触れることができます。これは、ZK-rollup と validium を組み合わせ、ユーザーが両方のスケーリングソリューションの間を切り替えることを許可します。Volition を通じて、ユーザーは validium のオフチェーンデータの利用可能性を活用して特定取引を行うと同時に、必要に応じてオンチェーンデータの利用可能性ソリューション(ZK-rollup)に切り替える自由があります。これにより、ユーザーは独自の状況に応じて柔軟に選択肢を選択できます。


https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb


例:zkSync2.0 では、Volition の概念が使用されています。彼らの L2 ステートは、オンチェーンデータ可用性を持つ zkRollup とオフチェーンデータ可用性を持つ zkPorter の2つの側面に分かれています。これらの2つの部分は組み合わせて使用および相互運用可能です。


4. Summary:


各種アプローチの比較により、ロールアップは効果的にステートバリデーションとデータ可用性を保証し、以前のアプローチの利点を保持しつつ、それらの制約を解決しています。これにより、現在のスケーリング領域のリーダーになっています。


ロールアップのアプローチでは、短期的には、オプティミスティックロールアップ技術がより成熟しており、より広く利用されています。オプティミスティックロールアップは、一般的な EVM コンピューティングで勝利する可能性があり、一方、ZKロールアップはシンプルな支払い、交換、およびその他の特定のアプリケーションユースケースで勝利する可能性があります。


しかし、長期的には、ZKロールアップの弱点はほとんどが技術的な問題であり、多くの優れた開発者が関連研究に投入されることで、ZKロールアップは将来的にはより優れたスケーリングソリューションになるでしょう。ZK-Rollup テクノロジーの基本原則により、それはオプティミスティックロールアップを置き換えることができ、より高速な処理速度、より高いセキュリティ、より優れたパフォーマンスを実現できる可能性があり、これにより、より広範囲に採用されるでしょう。現在、Scroll、zkSync、Polygon などの Layer 2 プロジェクトは、zk-EVM のコンピューティング環境を導入しようとしており、これにより、ZK-Rollups はすべての種類の一般的なスマートコントラクトを独自に実行できるようになります。


将来的には、さらなる融合が期待されます。スケーリングソリューションの発展を考えると、イーサリアムのスケーリングは何か単一のアプローチで完結するわけではありません。多くのソリューションプロバイダーは、複数の経路での探索と展開を進めています。個人的には、これがより多くの融合したソリューション(例: Optimism の "Bedrock"、StarkEx の Volition、Polygon など)を生み出すことを信じています。


本文を読んだ後、拡張案件の発展イテレーションは、しばしばある解決策の限界を認識した後、その利点を可能な限り保持し、欠点を解決し、限界を突破するために、別のより良い解決策を用意することがよくわかるはずです。最初はかなりの期間、開発者たちは Plasma がまさに「the right one」だと考えていましたが、その限界を乗り越えられないと気づき、その結果 Roll-Up を探求しました。現時点で Roll-Up は皆が認める答えのように見えますが、さらなる探求によって、Roll-Up を転覆するより優れた解決策が出てくるかもしれませんね?


最後に、私がまとめた感じでは、これらの拡張案件は現在、無数の方向に向かっているように思えます。私のようなサブインベスターにとっては、ゆっくり構えても良いと感じます。プロジェクトが右足を踏み出して取引を行うのを待つべきです。急激な変化のため、ようやく理解したと思ったら、それが通用しないことに気づき、方向転換が必要になるかもしれません(Plasma のように)。そして、大きなトレンドを判断し、幅広く賭けることは、愚かな方法かもしれませんが、効果的ですね。ただし、このアプローチはサブレベルの考え方であり、ファーストレベルには適用されないことにご注意ください。ファーストレベルでは最終的にはチームを見て、プロジェクトの背後にあるネットワークとリソースを見て判断することになるでしょう。


Original Article Link


BlockBeats の公式コミュニティに参加しよう:

Telegram 公式チャンネル:https://t.me/theblockbeats

Telegram 交流グループ:https://t.me/BlockBeats_App

Twitter 公式アカウント:https://twitter.com/BlockBeatsAsia

举报 訂正/通報
ライブラリを選択
新しいライブラリを追加
キャンセル
完了
新しいライブラリを追加
自分のみが閲覧可
公開
保存
訂正/通報
送信