EVMの並列化にはどのような意味があるのでしょうか?それともEVM覇権の下での最終局面なのか?

avatar
ChainFeeds
6ヶ月前
本文は約7071字で,全文を読むには約9分かかります
Parallel EVM により、既存の分散型アプリケーションはインターネット レベルのパフォーマンスを達成できるでしょうか?

TL;DR

  • Parallel EVM コンセプトは、Paradigm、Jump、Dragonfly など、いくつかの主要な VC によって賭けられています。

  • 代表的なプロジェクトはMonadで、他にもsei、MegaETH、Polygon、Neon EVM、BSCなどがあります。 L1 のものもあれば、L2 のものもあります。チーム間の具体的な違いに関する完全な公開情報はありません。

  • Parallel EVM は文字通り「並列化」を意味しますが、実際には EVM の各コンポーネントのパフォーマンスを特別に最適化するものであるため、その取り組みは EVM 標準でのパフォーマンスの限界を表す可能性があります。

  • 難しさ: テクノロジー スタック全体を再構築することに加えて、並列トランザクションが競合するかどうか、および競合後の再実行の効率を事前に予測する方法もあります。

  • 課題: オープンソース エコシステムで差別化を構築する方法と、分散化とパフォーマンスのバランスを見つける方法。

コンセンサスアルゴリズム、DA(データレイヤー)、ゼロ知識証明技術が広く研究され、反復された後、次に注目を集めているハードコア技術がパラレルEVMであり、資本市場もこれに数億ドルを投資しています。物語性があり、独自の技術が数多く生まれている、まさに獣レベルのスタートアップ。

コミュニティはParallel EVM (EVM並列化)に注目し始めました起源Georgios Konstantopoulos (Paradigm の CTO) と Dragonfly の Haseeb Qureshi は、2023 年末に 2024 年のトレンドを予想するときに、偶然にも同じキーワードについて言及しました。しかし、このトピックについてはあまり詳しく説明されておらず、これは新しい概念ではないと多くの人が信じています。EVM と並列コンピューティングはそれぞれ比較的成熟した概念です。なぜこの 2 つの単語を組み合わせることが重要なトレンドなのでしょうか? 毛織物?

EVMの並列化にはどのような意味があるのでしょうか?それともEVM覇権の下での最終局面なのか?

しかし、これは依然として非常にニッチなトピックであり、多くの研究機関の年次概要や傾向予測を見ても、並列 EVM については言及されていません。したがって、これはまだ大規模なコンセンサスが形成されていない新しい概念です。また、この概念はコンセンサスアルゴリズムやDAなどの話題と似ていますが、いずれも純粋にテクノロジーに関するものなので、注目している人はさらに少ないです。

Parallel EVM の最も直接的な利点は、既存の分散アプリケーションがインターネット レベルのパフォーマンスを達成できることです。 Parallel EVM は、(多数の成熟した)既存のスマート コントラクトを利用できるだけでなく、高性能の並列化されたパブリック チェーン スループットを実現できる唯一の新しいテクノロジーであるとさえ言えます。

パラダイムは長い間ゲームへの参入を楽しみにしており、ジャンプは大きな賭けをしました

『フォーチュン』によると報告, パラダイムはモナドの最新ラウンドを主導し、評価額30億ドルで2億ドルを調達する予定だ。これは、Paradigm が投資を予定している最初の Parallel EVM コンセプト チームですが、実はこのテクノロジーには長年注目しており、Georgios Konstantopoulos (Paradigm の CTO) は 2021 年にこの技術について議論したことがあります。言及この言葉をもらいました。

モナドという言葉の由来も興味深いです。哲学者ライプニッツの哲学体系では、モナドは宇宙を構成する基本要素であり、物理学の影響を受けない不可分な存在です。それぞれのモナドは宇宙全体を反映しており、かつては中国語で「モナド」と訳されていました。

コンピューターサイエンスにおいて、モナドは関数型プログラミング言語の設計パターンであり、プログラマーがほぼ数学的な純粋さで現実世界の複雑さに対処できるようにし、コードをよりモジュール化し、理解と保守を容易にします。

もう一つ興味深いのは、Monad と Nomad がお互いの「アナグラム」であり、Nomad は遊牧民を指し、デジタル ノマドはデジタル遊牧民/デジタル牧畜民を指します。

モナドの他に、ゲオルギオス話し合うセイとポリゴンもこの話題で言及されました。しかし、彼が Parallel EVM について非常に楽観的であるもう 1 つの重要な理由は、彼らがイーサリアム クライアントである Reth を開発したことです。これは、Rust 言語で実装された高性能 Ethereum 実行層クライアントとして位置付けられています。 Reth は急速なペースで開発されており、ベータ段階に入ったばかりです。おそらく、彼らは Parallel EVM を Reth 上に直接実装することを検討するでしょうが、RD エンジニアリングの量を考慮すると、Parallel EVM を促進するために他のチームに投資する方が良い選択かもしれません。 Monad のドキュメントによると、彼らはエンジニアリングで主に C++ と Rust を使用しています。

Reth が立ち上げられたとき、Akula のオープンソース コードを盗用したとして Erigon チームのメンバーからも非難され、そのことが Akula プロジェクトの資金不足と開発停止の原因にもなりました。 Georgios 氏は、Reth は他のクライアントのフォークではなく、コードも他のクライアントからのものではないが、確かに Geth、Erigon、Akula から影響を受け、触発されていると答えました。 (https://thedefiant.io/paradigm-accused-copying-code)

もう 1 つの主要な参加者は、Jump Trading と Jump Capital です。Monad の創設者は Jump Trading 出身で、高頻度取引で豊富な経験を持っています。sei の投資家には Jump Capital が含まれており、Jump はインフラストラクチャやプロジェクトを含む Solana エコシステムに深く関わっています。 。

Monad の初期投資家である Dragonfly も関連トラックに注目しており、シャーディング技術に重点を置いている NEAR や、Aptos、Avalanche、Nervos などのパブリック チェーンに投資しています。

コンセンサスアルゴリズムをアップグレードするだけでは十分ではなく、いよいよ実行層の出番です

過去数回のパブリック チェーン戦争では、実行層は無視されており、Solana、Avalanche、EOS のいずれであっても、コンセンサス アルゴリズムの革新についてのみほとんど話題に上っています。実行層には多くの革新がありますが、コミュニティはまだ使用したコンセンサス アルゴリズムを覚えており、コミュニティ全体も、これらの高性能パブリック チェーンのパフォーマンスはコンセンサス アルゴリズムの革新から来ていると考えています。

高性能のパブリック チェーンを取得したい場合は、コンセンサス アルゴリズムと実行層を一致させる必要がありますが、これは木樽の欠点とも一致します。 EVM に基づいており、コンセンサス アルゴリズムのみを改善するパブリック チェーンの場合、パフォーマンスを向上させるためにはより強力なノードが必要です。たとえば、BSC はブロックで処理できるガスを 2000 TPS のレベルに制限します。これには、イーサリアム フル ノードの投資の数倍のマシン構成が必要です。ポリゴン理論1,000 TPS に達することもありますが、通常は数十から数百にすぎません。

BSC アーカイブ ノード少なくとも 16 コアの CPU と 128 G のメモリが必要です。イーサリアムノード少なくとも 4 コアの CPU と 16 G のメモリが必要です。

BSC チームはこれらの問題を以前から認識しており、NodeReal とも協力しています。共同開発並列EVMテクノロジー。この方法によってのみ、各ブロックが処理できるトランザクションの数をさらに増やし、より多くのトランザクションを並行して実行できるようにし、TPS の上限を増やすことができます。

並列処理: シングルコア CPU からマルチコア CPU へのアップグレードだけではありません

ほとんどのブロックチェーン システムでは、トランザクションは完全に順番に実行されます。シングルコア CPU と考えることができます。次の計算は、現在の計算が完了した後にのみ実行できます。この方法は時間がかかりますが、シンプルでシステムの複雑さが低いという利点があります。

しかし、将来のブロックチェーン システムがインターネット レベルのユーザー規模にアクセスする必要がある場合、シングルコア CPU では間違いなく十分ではありません。したがって、マルチコア CPU を備えた並列仮想マシンにアップグレードすると、複数のトランザクションを同時に処理でき、スループットが向上します。しかし、エンジニアリング実装には多くの課題があり、たとえば、同時に処理される 2 つのトランザクションが同じスマート コントラクトにデータを書き込む場合はどうすればよいでしょうか。この矛盾を解決するには、新たな仕組みを設計する必要がある。全く関係のない他のスマートコントラクトの並列実行については、並列処理スレッド数や規模に応じてスループットを向上させることができます。

さらに、Parallel EVM は並列機能を向上させるだけでなく、シングルスレッドの実行効率も最適化します。モナド CEO ケオネ・ホン急行, 「...(EVM の)本当のボトルネックは、処理中にステータスを頻繁に読み書きすることです...」。同氏はまた、並列実行はロードマップの一部にすぎず、Monadのより大きな使命はEVMに焦点を当て、それを可能な限り効率化することであると述べた。

したがって、Parallel EVM は文字通り「並列化」を意味しますが、実際には EVM の各コンポーネントのパフォーマンスを特別に最適化するものであるため、その取り組みは EVM 標準に基づくパフォーマンスの限界を表す可能性があります。

EVM は Solidity と等しくありません

スマート コントラクトの作成は、ほとんどのブロックチェーン開発者にとって必須のスキルです。エンジニアは、Solidity またはその他の高レベルのスマート コントラクト言語を使用して、ビジネス ニーズに基づいて対応するロジック実装を作成できます。ただし、EVM は実際には Solidity のロジックを直接理解することはできず、事前に何らかの「翻訳」を経て、マシンが理解できる低レベル言語 (オペコード オペレーション コード / バイトコード バイトコード) に翻訳 (コンパイル) する必要があります。仮想マシンによって読み取られるように実装します。この変換プロセスを実装するための成熟したツールがすでに存在するため、Solidity 開発者はこの変換プロセスを理解する必要はありません。

やはり「翻訳」なので、ある程度のオーバーヘッド(余分なオーバーヘッド)も発生します。低レベルのコーディングの経験があるエンジニアは、Solidity のオペコードを使用してプログラム ロジックを直接記述することができ、これにより最高のパフォーマンスを達成でき、ユーザーはトランザクションを行う際にガスを節約できます。たとえば、Opensea によって開始された Seaport プロトコルは、ユーザーのガス費用を可能な限り削減するために、スマート コントラクトでインライン アセンブリを広範囲に使用しています。

したがって、Parallel EVM が最終的に実装できれば、並列化機能がもたらされるだけでなく、EVM スタック全体のパフォーマンスも最適化されます。通常のアプリケーション開発者は、基盤となる仮想マシンがこれらの違いを平準化するのに十分な強力な機能を備えているため、ガスを少し節約するためだけに最適化に多くのエネルギーを費やす必要はありません。

EVM のパフォーマンスはさまざまであり、「標準」は「エンジニアリングの実践」と同じではありません。

「仮想マシン」は「実行層」とも呼ばれ、スマート コントラクトがオペコードにコンパイルされた後、最終的に計算および処理されるエンジンです。イーサリアム仮想マシン (EVM) によって定義された「バイトコード」は現在業界標準となっており、イーサリアムに基づく第 2 層ネットワークであっても、その他の独立したパブリック チェーンであっても、EVM と直接かつ完全に互換性を持たせることを積極的に行っています。作成者はスマート コントラクトを一度作成して複数のネットワークに展開できるため、非常にコスト効率が高くなります。

したがって、EVM の「バイトコード」標準と完全に互換性がある限り、EVM と呼ぶことができますが、実装方法は大きく異なります。たとえば、イーサリアム クライアントの Geth は Go 言語を使用して EVM 標準を実装します。しかし、イーサリアム財団のエグゼクティブリサーチチームイプシロンは、維持するC++ で開発された EVM の独立した実装が開発されており、他の Ethereum クライアントはこのライブラリを直接呼び出して EVM として実行できます。

例えば、多くの工業製品には対応する国際規格があり、例えば工場から出荷される製品のコロニー数が一定値以下でなければ販売できない、これが「規格」です。しかし、この工場基準を満たすには、各工場が数十の異なる滅菌方法から選択することができ、一部の工場はこの要件を満たすためのよりコスト効率の高い方法を見つけることができます。

あるのでevmone実装だけでなく、他の実装も可能です。この EVM の例では、EVM 標準はいくつかの基本的な演算メソッド「バイトコード」を定義しています (加算、減算、乗算などの最も基本的な算術のサポートなど)。各バイトコードに特定の入力がある場合、明確な出力があります。 。この基準を満たすことに関しては、実装 (および実践) は多岐にわたりますが、カスタマイズの余地やエンジニアリングの最適化の可能性は十分にあります。

並列EVMの類似点と相違点

Parallel EVMトラックには、最もホットなMonadに加えて、sei、MegaETH、Polygon、Neon EVM、BSCなどがあり、ParadigmのRethクライアントも並列化機能を実装したいと考えています。

位置付けの観点から見ると、Monad、sei、Polygon、BSC はすべてレイヤー 1 ブロックチェーンですが、MegaETH はレイヤー 2 である可能性があります。Neon EVM は Solana ネットワークに基づいています。さらに、Reth はオープンソース クライアントであり、MegaETH は部分的に Reth プロジェクトに基づいて開発され続けます。

もちろん、これらのチーム間には依然として競争があり、技術的な詳細やエンジニアリング文書はすべて完全に開示されていないため、さらなる比較は、それらが徐々に開示されるまで待つ必要があります。おそらくこれは、BTC レイヤー 2、レステイク、イーサリアム レイヤー 2 のような軍拡競争のようなものです。テクノロジー (およびオープンソース) 間には微妙な違いがありますが、より重要なのは、エコシステムの独自性をどのように構築するかです。

並列EVMの技術的困難

連続して実行されるトランザクションの場合、ボトルネックとなるのは CPU と状態の読み取りおよび書き込みのプロセスです。ただし、この方法の利点は、非常にシンプルでエラーがなく、すべてのタスクを段階的に完了できることです。並列実行する仮想マシンの場合、状態の競合が発生する可能性があるため、この部分の判断を実行前または実行後に追加する必要があります。

簡単な例としては、仮想マシンが 4 つのスレッドの並列実行をサポートし、各スレッドがトランザクションを同時に処理できる場合、これら 4 つのトランザクションがすべて Uniswap 上の同じトランザクション プールを持つトランザクションである場合、それらは並列実行できません。各トランザクションがこのトランザクション プールのトランザクション価格に影響するため、計算します。ただし、これら 4 つのスレッドがまったく無関係な 4 つの作業を同時に実行している場合は、問題はありません。

これには、さまざまなチームによる設計とエンジニアリングの実装が含まれますが、少なくとも確認する必要があるのは、並列実行後に競合を検出し、競合が発生した場合に再実行するモジュールが必要であるということです。もちろん、競合する可能性のあるトランザクションを事前に予測して選別できれば、仮想マシン全体の並列効率も高めることができます。

Parallel EVM 仮想マシンのエンジニアリング実装の違いに加えて、各チームは通常、状態データベースの読み取りおよび書き込みパフォーマンスを再設計して強化し、Monad によって設計された MonadDb や MonadBFT などのコンセンサス アルゴリズムを設計します。

チャレンジ

並列 EVM の場合、長期的なエンジニアリング価値がイーサリアムによって収集されるかどうか、もう 1 つはノードの集中化という 2 つの課題が考えられます。

さまざまなチームがまだ並列 EVM テクノロジーの開発およびテスト段階にあるため、エンジニアリングの詳細をすべてオープンソースにすることをまだ選択していません。これが現在の堀の 1 つです。ただし、テストネットワークとメインネットワークに入った後、これらのプロジェクトドキュメントは公開され、イーサリアムまたは他のパブリックチェーンに吸収される可能性もあります。したがって、その時点で、より迅速にエコロジー建設を推進し、より多くのエコロジー堀を建設する必要がある。

しかし、この問題はそれほど深刻ではなく、一方で、暗号通貨開発者にとっては、より多くのオープンソース ライセンスから選択できるようになりました (Uniswap のライセンスなど、コードを公開することはできますが、商用プロジェクトへのフォークは許可されません)。一方で、モナドの位置付けはイーサリアムの位置付けとは本質的に異なります。たとえイーサリアムが将来シングルソケットファイナリティ (SSF) を達成できたとしても、トランザクションのファイナリティは依然として少なくとも 12 秒であり、これは高頻度のアプリケーション シナリオには十分とは程遠いです。

すべての高性能パブリック チェーンに共通するもう 1 つの課題は、ユーザーのパーミッションレスおよびトラストレス、つまり分散化という基本的な要件を満たすために、より多くのノードをデプロイする方法です。おそらく、「TPS をノードのハードウェア要件で割ったもの」など、いくつかの指標を定量化できるため、変数を制御し、特定のハードウェア要件に基づいてどのパブリック チェーン/クライアントの TPS が高いかを比較できるようになります。結局のところ、ノードのハードウェア要件が低いほど、可能なノードの数は多くなります。

次に、引き続き各並列 EVM プロジェクトの進捗状況を追跡し、それらのテクノロジーと違いについて詳しく説明します。

オリジナル記事、著者:ChainFeeds。転載/コンテンツ連携/記事探しはご連絡ください report@odaily.email;法に違反して転載するには必ず追究しなければならない

ODAILYは、多くの読者が正しい貨幣観念と投資理念を確立し、ブロックチェーンを理性的に見て、リスク意識を確実に高めてください、発見された違法犯罪の手がかりについては、積極的に関係部門に通報することができる。

おすすめの読み物
編集者の選択