パフォーマンスは、産業のさらなる発展のボトルネックとなっています。ブロックチェーンネットワークは個人と企業間の取引のための新しい分散型信頼基盤を作り出しています。
ビットコインを代表とする第一世代のブロックチェーンネットワークは、分散台帳技術を用いた新しいモードの分散型電子通貨取引を開拓し、新しい時代を革命化しました。イーサリアムなどを代表とする第二世代は、分散状態機械アプローチを通じて分散型アプリケーション(dApps)を提案することで、想像力を十分に活用しました。
それ以降、ブロックチェーンネットワークは、Web3インフラからDeFi、NFT、ソーシャルネットワーク、GameFiなどのさまざまなトラックへと、10年以上にわたる急速な発展を遂げ、技術やビジネスモデルにおいて多くの革新を生み出してきました。成長著しい業界は、分散型アプリケーションのエコシステムへの新しいユーザーの継続的な参加を促す必要があり、それにより製品体験に対するより高い要件が求められています。
過去に例がないとされる新製品形態であるWeb3は、ユーザーのニーズ(機能要件)を満たすために革新しなければならず、同時にセキュリティとパフォーマンス(非機能要件)のバランスを取らなければならない。発足以来、パフォーマンスの問題に対処するために様々な解決策が提案されてきた。
これらの解決策は一般的に2つのタイプに分類されます: シャーディングや有向非巡回グラフ(DAG)などのオンチェーンスケーリングソリューションと、プラズマ、ライトニングネットワーク、サイドチェーン、およびロールアップなどのオフチェーンスケーリングソリューションです。しかし、これらはまだオンチェーントランザクションの急速な成長に追いつくには遠いです。
特に2020年のDeFiサマーと2023年末のビットコインエコシステムへの爆発的な成長の後、業界は「高いパフォーマンスと低料金」の需要に対応するために新しいパフォーマンス向上のソリューションを急務としています。この背景に対して並行ブロックチェーンが生まれました。
並列EVMの物語は、並列ブロックチェーンの分野で2つの主要なプレーヤーが競争する競争の景観を示しています。 Ethereumはトランザクションを直列で処理し、それらを1つずつ実行するため、リソースの利用率が低くなります。 直列処理から並列処理に切り替えることで、パフォーマンスを大幅に向上させることができます。
イーサリアムのライバルであるSolana、Aptos、およびSuiは、すべて内蔵の並列処理機能を備え、堅牢なエコシステムを開発しています。それぞれのトークンの時価総額は、それぞれ450億ドル、33億ドル、19億ドルに達し、並列の非EVM陣営を形成しています。これらの挑戦に対応するため、イーサリアムエコシステムは、EVMを強化するために前進するさまざまなプロジェクトが登場し、それによって並列のEVM陣営を作り上げています。
Seiは、バージョン2のアップグレード提案において、「最初の並列EVMブロックチェーン」となると大々的に宣言しており、現在の時価総額は21億ドルであり、さらなる成長の可能性も秘めています。新しい並列EVMブロックチェーンであるMonadは、現在最も熱狂的なマーケティングを展開しており、投資家から高い支持を受けており、大きな潜在能力を持っています。一方、時価総額1億7000万ドルのL1ブロックチェーンであるCantoは、独自の無料の公共インフラを持ち、並列EVMのアップグレード提案も発表しています。
さらに、いくつかの早期のL2プロジェクトは、複数のL1チェーンの機能を統合することによってクロスエコシステムのパフォーマンスを向上させています。Neonを除いて、時価総額が6900万ドルに達したプロジェクトもありますが、他のプロジェクトはまだ関連データが不足しています。今後、さらに多くのL1およびL2プロジェクトが並行ブロックチェーンの戦場に参加することが予想されています。
並列EVMの物語には bet significant market growth potentialがありますが、並列EVMが属する並列ブロックチェーンセクター全体も bet substantial market growth potentialがあり、幅広い市場展望を約束しています。
現在、レイヤー1およびレイヤー2の総時価総額は752.1230億ドルで、並行するブロックチェーンの時価総額は52.5390億ドルで、約7%を占めています。この中で、並行するEVMナラティブに関連するプロジェクトは23.39億ドルの時価総額を持ち、並行するブロックチェーンの時価総額の4%を占めています。
業界では、一般的にブロックチェーンネットワークを4層構造に分けています。
Layer 0 (Network): これは基本的なネットワーク通信プロトコルを処理する基盤となるブロックチェーンネットワークレイヤーです。
レイヤー1(インフラストラクチャ):このレイヤーは、分散型ネットワーク内でトランザクションを検証するためにさまざまなコンセンサスメカニズムに依存しています。
Layer 2(拡張):Layer 1 に依存し、Layer 1 の制限、特にスケーラビリティの問題に対処するためのさまざまな第2層プロトコルが含まれます。
Layer 3 (Application): Layer 2またはLayer 1に依存する、さまざまな分散型アプリケーション(dApps)を構築するために使用されるレイヤーです。
パラレルEVM(Ethereum Virtual Machine)ナラティブプロジェクトは、主にモノリシックブロックチェーンとモジュラーブロックチェーンに分かれており、モノリシックブロックチェーンはさらにL1とL2に分かれています。複数の主要なトラックのプロジェクト数と開発を見ると、パラレルEVM L1パブリックチェーンエコシステムは、イーサリアムエコシステムと比較してまだ大きな成長余地があることがわかります。
DeFiトラックでは、「高速かつ低コスト」が求められていますが、ゲームトラックでは「強力なリアルタイムインタラクション」が要求されており、どちらも一定の実行速度が必要です。並列EVMはこれらのプロジェクトにより良いユーザーエクスペリエンスをもたらし、業界の発展を新たな段階に押し進めることになります。
L1は、固有の並行実行能力を持つ新しいパブリックチェーンを表し、高性能なインフラストラクチャとして機能します。この分野では、Sei v2、Monad、Cantoなどのプロジェクトが独自に設計した並行EVMが、Ethereumエコシステムと互換性があり、高いトランザクションスループット能力を提供しています。
L2は、他のL1チェーンの機能を統合することで、クロスエコシステムの協力のための拡張された容量を提供し、ロールアップ技術の優れた例です。この派閥では、NeonはSolanaネットワーク上のEVMエミュレーターとして機能し、EclipseはSolanaでトランザクションを実行しますが、EVMで決済されます。Lumioは、Eclipseに似ていますが、実行レイヤーがAptosに切り替えられています。
前述の独立したブロックチェーンソリューションに加えて、Fuelは独自のモジュラーブロックチェーンコンセプトを導入しました。第2版では、より柔軟で包括的なモジュラー実行機能を提供することを目指し、自身をイーサリアムのロールアップオペレーティングシステムと位置付けています。
Fuelは取引の実行に焦点を当てており、他のコンポーネントを1つ以上の独立したブロックチェーンレイヤーにアウトソーシングすることで、より柔軟な組み合わせが可能となります。これにより、Layer 2、Layer 1、サイドチェーン、またはステートチャネルとして機能することができます。現在、Fuelエコシステム内には主にDeFi、NFT、およびインフラに焦点を当てた17のプロジェクトがあります。
しかし、Orallyクロスチェーンオラクルのみが実用化されています。分散型貸出プラットフォームSwaylendと永続契約取引プラットフォームSPARKがテストネットで立ち上げられましたが、他のプロジェクトはまだ開発中です。
分散型取引実行を実現するために、ブロックチェーンネットワークは4つの責任を果たさなければなりません:
Parallel EVMは主に実行レイヤーのパフォーマンス最適化に焦点を当てています。これはレイヤー1(L1)ソリューションとレイヤー2(L2)ソリューションに分かれています。L1ソリューションは並列トランザクション実行のためのメカニズムを導入し、トランザクションができるだけ仮想マシン内で並列に実行されるようにします。L2ソリューションは基本的に、すでに並列化されたL1仮想マシンを活用して、「オフチェーン実行+オンチェーン決済」のある程度のレベルを実現します。
したがって、並列EVMの技術的な原理を理解するには、それを分解する必要があります:まず、仮想マシン(VM)とは何かを理解し、次に並列実行が何を意味するかを理解する必要があります。
コンピュータサイエンスにおいて、仮想マシンとはコンピュータシステムの仮想化またはエミュレーションを指します。
仮想マシンには2種類あります。システム仮想マシンは1つの物理マシンを複数の異なるオペレーティングシステムを実行するマシンに仮想化でき、リソースの利用を向上させます。プロセス仮想マシンは、特定の高水準プログラミング言語の抽象化を提供し、これらの言語で書かれたコンピュータプログラムを異なるプラットフォーム上でプラットフォームに依存しない方法で実行できるようにします。
JVMはJavaプログラミング言語向けに設計されたプロセス仮想マシンです。Javaで書かれたプログラムはまずJavaバイトコード(バイナリコードの中間状態)にコンパイルされます。その後、JVMがバイトコードをインタプリタに送り、インタプリタがそれを異なるマシンの機械語に翻訳してから、そのマシンで実行します。
ブロックチェーン仮想マシンはプロセス仮想マシンの一種です。ブロックチェーンの文脈において、仮想マシンとは契約の分散実行のために使用される分散ステートマシンの仮想化を指します。JVMに類似して、EVMはSolidity言語向けに設計されたプロセス仮想マシンであり、スマート契約はまずオペコードバイトコードにコンパイルされ、その後EVMによって解釈されます。
イーサリアムを超えた新興の公開チェーンは、しばしばWASMまたはeBPFバイトコードに基づいた仮想マシンを採用しています。WASMは、砂箱のセキュリティメカニズムに基づいた、コンパクトで高速な、ポータブルなバイトコード形式です。 開発者は、さまざまなプログラミング言語(C、C++、Rust、Go、Python、Java、またはTypeScript)でスマートコントラクトを記述し、それらをWASMバイトコードにコンパイルして実行できます。 Seiブロックチェーン上で実行されるスマートコントラクトは、このバイトコード形式を使用します。
eBPFは、元々ネットワークパケットの効率的なフィルタリングに使用されていたBPF(Berkeley Packet Filter)から発展し、より豊富な命令セットを提供するeBPFに進化しました。
これは、ソースコードを変更せずにオペレーティングシステムカーネルの動作に動的に介入および変更を許可する革命的な技術です。後に、この技術はカーネルを超えて展開され、ユーザースペースのeBPFランタイムの開発につながり、これは非常に高性能で安全かつ移植性があります。Solanaで実行されるスマートコントラクトはeBPFバイトコードにコンパイルされ、そのブロックチェーンネットワークで実行されます。
その他のL1パブリックチェーン、例えばAptosやSuiは、Moveスマートコントラクトプログラミング言語を使用し、プロプライエタリバイトコードにコンパイルしてMove仮想マシン上で実行されます。Monadは、EVMオペコードバイトコードに対応した独自の仮想マシンを設計しました(上海フォーク)。
並列実行は、マルチコアプロセッサの利点を活用して複数のタスクを同時に処理し、システムのスループットを向上させる技術です。トランザクションの結果がシリアルに実行された場合と同一であることを保証します。
ブロックチェーンネットワークでは、TPS(秒あたりのトランザクション数)は処理速度を測定するための技術指標として一般的に使用されています。並列実行のメカニズムは複雑であり、開発者の技術的なスキルにはチャレンジを投げかけるため、説明が難しいです。ここでは、「銀行」の例を使って、並列実行とは何かを説明します。
(1)まず、シリアル実行とは何ですか?
シナリオ1: システムを銀行、タスク処理CPUを窓口とみなすと、シリアルタスク実行は、この銀行がサービス用に1つの窓口しか持たない状況に似ています。この場合、銀行に来る顧客(タスク)は長い列を作り、順番に業務を処理する必要があります。各顧客に対して、窓口スタッフは顧客にサービスを提供するために同じアクション(命令の実行)を繰り返さなければなりません。顧客は順番を待たなければならず、これが取引時間の延長につながります。
(2) それでは、並列実行とは何ですか?
シナリオ2:銀行が混雑していることを認識すると、複数のカウンターを開設し、4人の職員が同時に業務を処理するかもしれません。これにより、処理速度は元の約4倍に向上し、顧客が待つ時間も元の1/4程度に短縮されます。したがって、銀行での業務処理速度が向上します。
(3) 保護措置がない場合、2人が同時に別の人にお金を送金した場合にどのようなエラーが発生しますか?
シナリオ3:2 ETH、1 ETH、および0 ETHをそれぞれアカウントに持つA、B、およびCを考えてみましょう。今、AとBはそれぞれ0.5 ETHをCに送金したいと考えています。トランザクションを直列に実行するシステムでは、問題は発生しません(左矢印「< =」は元帳からの読み取りを示し、右矢印「=>」は元帳への書き込みを示します、以下同じ)。
しかし、並行実行は思わほど簡単ではありません。注意深く扱わないと、深刻なエラーを引き起こす可能性がある微妙な詳細がたくさんあります。AとBの取引がCに転送される場合、並行して実行されると、手順の順序によっては一貫性のない結果になることがあります。
Parallel Task 1はAからCへの転送を実行し、Parallel Task 2はBからCへの転送を実行します。アスタリスクでマークされたステップに問題があります:両方のタスクが並行して実行されるため、ステップ2では、Parallel Task 1による残高計算がまだ元帳に書き込まれていません。ステップ3までに、Parallel Task 2はCの口座残高(まだ0)を読み取り、ステップ5でこれに基づいた誤った残高計算を行います。その後、ステップ6の元帳更新操作で、ステップ4で既に0.5に更新されていた口座残高を誤って再度0.5に更新します。これにより、AとBがそれぞれ0.5 ETHを転送したにもかかわらず、Cの口座残高はわずか0.5 ETHとなり、他の0.5 ETHが消失する結果となります。
(4)保護措置がない場合、互いに依存しない2つのタスクはエラーなしで並行して実行できます
シナリオ4:並列タスク1は、A(残高2 ETH)からC(残高0 ETH)への0.5 ETHの送金を実行し、並列タスク2は、B(残高1 ETH)からD(残高0 ETH)への0.5 ETHの送金を実行します。これら2つの送金タスクの間には依存関係がないことが明らかです。 2つのタスクのステップがどのように交互に配置されているかに関係なく、上記の問題に遭遇することはありません。
これらのシナリオを比較すると、タスク間に依存関係がある限り、並列実行中に状態更新のエラーが発生する可能性があることが分析されます。それ以外の場合、エラーは発生しません。タスク(トランザクション)が依存関係を持つと見なされる条件の1つを満たす場合です。
この問題は分散システムに固有のものではありません。並行実行を含むシナリオでは、複数の依存タスク間で共有リソースへの保護されていないアクセス(銀行の例での「元帳」やコンピュータシステムでの共有メモリなど)によってデータの整合性が損なわれる可能性があり、これはデータ競合として知られています。
業界は、並列実行におけるデータ競合の問題を解決するために、メッセージパッシングメカニズム、共有メモリメカニズム、厳格な状態アクセスリストメカニズムの3つのメカニズムを提案しています。
シナリオ5:顧客のために同時に稼働する4つのサービスカウンターを持つ銀行を考えてみましょう。これらのカウンターの各出納係には、彼らだけが修正できるユニークな元帳が与えられます。この元帳には、彼らが担当する顧客の口座残高が記録されます。
窓口係が取引を処理する際に、顧客の情報が彼らの元帳に利用可能である場合、彼らは直接進みます。そうでない場合、他の窓口係に顧客の取引ニーズを知らせるために呼びかけ、聞き取り係がその仕事を引き継ぎます。
これはメッセージパッシングモデルの原則を示しています。アクターモデルは、トランザクションを処理する各エンティティがアクター(窓口係)であるメッセージパッシングモデルの一種であり、各々が彼らのプライベートデータ(排他的な台帳)にアクセスできます。他人のプライベートデータにアクセスするには、メッセージを送ることしかできません。
Actorモデルの利点:
各アクターは、自分のプライベートデータにのみアクセスできるため、競合状態の問題を回避します。
アクターモデルの欠点:
各アクターは順次タスクのみを実行できます。特定のシナリオでは、これは並列処理の利点を活用していません。たとえば、窓口番号2、3、および4が同時にメッセージを送信して窓口番号1に顧客Aの口座残高について尋ねる場合、窓口番号1はこれらのリクエストを一度に1つずつのみ処理できます。これらは並列で処理できるはずなのに、です。
現在のシステム状況のグローバルビューがありません。システムの運用が複雑な場合、全体の状況を理解し、バグを特定して修正することが難しくなります。
2.4.1 メモリロックモデル
シナリオ6:顧客の口座残高を記録する大きな元帳が1つだけある銀行を想像してみてください。元帳の隣には、それを修正するためのペンが1本だけあります。
このシナリオでは、4人の銀行員の競争が速さのレースとなります。 1人の銀行員が最初にペンを取り、元帳を修正し始めると、他の3人は待たなければなりません。 銀行員が終わったらペンを置き(ロックを解除)、次の3人の銀行員がペンを取るために急ぎます。 このサイクルが繰り返され、メモリロックモデルを示しています。
メモリロックは、並行して実行されているタスクが共有リソースにアクセスする前にロックすることを許可します。リソースがロックされると、他のタスクは修正されてロックが解除されるのを待たなければならず、その後に再度ロックしてアクセスすることができます。
リードライトロックモデルは、より洗練されたアプローチを提供し、複数の並行タスクが共有リソースに読み取りロックを追加し、そのデータに複数回アクセスすることを許可します。この間、変更は許可されませんが、一度に1つだけ書き込みロックを適用することができ、適用されると、リソース保持者に排他的なアクセス権が付与されます。
Solana、Sui、およびSei v1などのブロックチェーンプラットフォームは、メモリロックに基づく共有メモリモデルを使用しています。このメカニズムは単純に見えるかもしれませんが、実装する際には複雑であり、マルチスレッドプログラミングの高度なスキルを持つ開発者が必要です。不注意はさまざまなバグを引き起こす可能性があります。
シナリオ1:タスクは共有リソースをロックしますが、実行中にクラッシュして、リソースにアクセスできなくなります。
シナリオ2:タスクがリソースをロックしますが、ネストされたビジネスロジックにより再度ロックされ、自身で待機するデッドロックが発生します。
メモリロックモデルはデッドロック、ライブロック、およびスターベーションなどの問題に起因しやすいです。
2.4.2 楽観的並列性
シナリオ7
銀行では、4人の窓口係はそれぞれが台帳に独立してアクセスし、取引中に修正する能力を持っています。他の窓口係が台帳を使用しているかどうかにかかわらずです。窓口係は台帳を使用する際、アクセスまたは修正するエントリに個人のラベルを適用します。取引を完了した後、再度エントリを確認します。もし自分のラベルでないラベルが見つかれば、他の窓口係によってエントリが修正されたことを示し、取引は無効になりもう一度処理しなければなりません。
これは楽観的並列処理の基本原則を示しています。楽観的並列処理の中心的な考え方は、最初にすべてのタスクが独立していると仮定することです。タスクは並行して実行され、その後、各タスクが検証されます。タスクの検証に失敗した場合、すべてのタスクが完了するまで、そのタスクは再実行されます。楽観的並列処理の方法で実行される8つの並列タスクがあり、2つの共有リソース、AとBにアクセスする必要があるとします。
Phase 1では、タスク1、2、および3が並行して実行されます。しかし、タスク2と3は共有リソースBに同時にアクセスするため、競合が発生し、その結果、タスク3は次のフェーズに再スケジュールされます。フェーズ2では、タスク3と4が両方ともリソースBにアクセスし、その結果、タスク4が再スケジュールされます。このようにして、競合に遭遇するタスクは繰り返し再実行されることがあります。
楽観的並列モデル
楽観的並列モデルは、各書き込まれた値とそのバージョン情報を記録するために、マルチバージョンインメモリデータ構造を使用します(銀行員が使用するラベルに類似)。
各並列タスクの実行は、実行と検証の2段階に分かれます。実行段階では、すべてのデータ読み取りおよび書き込みアクションが記録され、読み取りセットと書き込みセットが形成されます。検証段階では、読み取りセットと書き込みセットがマルチバージョンデータ構造と比較されます。比較によってデータが最新でないことが判明した場合、検証に失敗します。
楽観的並列モデルは、データベース分野のロックフリーなプログラミングメカニズムであるソフトウェアトランザクションメモリ(STM)から生まれたものです。ブロックチェーンネットワークはトランザクションの明確な順序を本質的に維持しているため、このコンセプトはブロック-STMメカニズムに導入され、進化してきました。AptosやMonadなどのブロックチェーンプラットフォームは、ブロック-STMを並列実行メカニズムとして採用しています。
Seiパブリックチェーンでは、次のv2バージョンで、オリジナルのメモリロックモデルを捨て、楽観的な並列処理モデルを採用する価値があると言えます。 Block-STMは非常に高速なペースでトランザクションを実行します。テスト環境では、Aptosは1秒あたり160kのトランザクション(tps)の実行速度を達成し、順次トランザクション処理よりも18倍速い速度です。
Block-STMは、複雑なトランザクションの実行と検証をコア開発チームに委任し、開発者がスマートコントラクトを直列実行環境でプログラムしているかのように簡単に書けるようにしています。
2.5 厳格な状態アクセスリスト
メッセージパッシングと共有メモリメカニズムは、ブロックチェーン上の各アカウントの残高情報を記録するアカウント/残高データモデルに基づいています。これは、銀行の元帳が顧客Aの残高が1,000単位であり、顧客Bの残高が600単位であることを示すのと同様です。取引は、単純にアカウントの残高状況を更新することで処理されます。
または、取引の詳細を取引時に記録し、取引元帳を作成することもできます。この元帳は口座残高を計算するために使用できます。例えば:
台帳を読み、計算することで、Customer A は900 単位の残高を持ち、Customer B は100 単位の残高を持っていることが判明します。
UTXO(未使用取引出力)は、この取引台帳データモデルに類似しています。これは、ビットコイン、第1世代のブロックチェーンにおけるデジタル通貨を示す方法を表しています。各取引には入力(資金の受け取り方法)と出力(資金の支出方法)があり、UTXOはまだ支出されていない資金の領収書として簡単に理解することができます。
たとえば、顧客Aが6 BTCを持っており、そのうち5.2 BTCを顧客Bに送金して0.8 BTCを残す場合、UTXOの観点からは次のように見えます。1 BTCごとに評価された6つのUTXOが破棄され、Bは5.2 BTCの新しいUTXOを受け取り、Aは0.8 BTCのお釣りとして新しいUTXOを受け取ります。したがって、6つのUTXOが破壊されて2つの新しいUTXOが作成されます。
トランザクションの入出力はリンクされており、デジタル署名を使用して所有権情報を記録し、これによりUTXOモデルが形成されます。このデータモデルを採用するブロックチェーンは、特定のアカウントアドレスのすべてのUTXOを合計して現在のアカウント残高を決定する必要があります。Strict State Access List(SSAL)はUTXOモデルに基づいており、並列実行を可能にします。それは各トランザクションがアクセスするアカウントアドレスを事前に計算し、アクセスリストを形成します。
アクセスリストには2つの目的があります:
内在的な視点から、何かの発展は通常、始まりから洗練に進み、人類のスピードへの探求は永遠です。ブロックチェーンネットワークにおける実行速度の問題に対処するために、オンチェーンおよびオフチェーンのさまざまなソリューションが登場しています。ロールアップなどのオフチェーンソリューションは、その価値が十分に認識されていますが、並列のEthereum Virtual Machines(EVM)の物語はまだ重要な探索の機会を提供しています。
歴史的に、SECによる現物ビットコインETFの承認と今後のビットコインのハーフィングイベント、さらに連邦準備制度による利下げの可能性が重なり、暗号通貨は重要なブルマーケットに突入すると予想されています。業界の堅調な成長には、より高いスループットを処理できるブロックチェーンネットワークインフラが堅固な基盤として必要とされています。
リソース管理の観点から、従来のブロックチェーンネットワークはトランザクションを直列処理します。これは直接的ですが効率的ではなく、プロセッサリソースを無駄にします。一方、並列ブロックチェーンは計算リソースを十分に活用し、マルチコアプロセッサの性能ポテンシャルを大幅に引き出すため、ブロックチェーンネットワーク全体の効率を向上させます。
業界の発展に関しては、さまざまな技術革新やビジネスモデルの革新が継続的に出現していますが、Web3の成長の潜在能力はほとんど開発されていません。中央集権型ネットワークは、秒間5万件のメッセージを処理し、340万通の電子メールを送信し、10万件のGoogle検索を完了し、数万人のプレーヤーを同時にオンラインでサポートできますが、これらは分散型ネットワークではまだ実現していません。分散型システムが競争し、自らの領域を確立するためには、並列実行機構の継続的最適化とトランザクションスループットの向上が不可欠です。
分散型アプリケーションの観点から、より多くのユーザーを引きつけるには、ユーザーエクスペリエンスの向上に大きな努力が必要です。パフォーマンスの最適化はユーザーエクスペリエンスを向上させるための重要な方向性の1つです。DeFiユーザーにとって、高速なトランザクション処理と低い手数料の要求を満たすことが重要です。GameFiユーザーにとっては、リアルタイムの相互作用が必要です。これらすべての要件は並列実行の堅牢性によってサポートされています。
「ブロックチェーントリレンマ」とは、分散化、セキュリティ、スケーラビリティのいずれか2つしか同時に満たすことができないという原則です。 「分散化」が動かない柱であるため、「スケーラビリティ」の向上は「セキュリティ」の低下を意味します。 コードは人間が書いているため、エラーが発生しやすいです。 並列コンピューティングによって導入された技術的複雑さは、潜在的なセキュリティの脆弱性の温床を提供します。
マルチスレッドプログラミングは、特に2つの主要な問題があるため、特に挑戦が多いです。まず、さまざまな複雑な並行制御操作の適切な処理不備により、競合状態に陥りやすい。次に、無効なメモリアドレスにアクセスすることによってクラッシュする可能性があり、これによって攻撃者によって悪用される可能性があるバッファオーバーフロー脆弱性につながることがあります。
少なくとも3つの観点から、プロジェクトのセキュリティを評価することができます:
1.チームの背景:システムプログラミングの経験豊富なチームは、マルチスレッドプログラミングに習熟しており、複雑な問題の80%を解決できます。システムプログラミングは一般的に以下の領域をカバーしています。
2.コードの保守性:保守可能なコードを書くには、明確な方法論に従う必要があります。たとえば、明確なアーキテクチャ設計を持つこと、デザインパターンを利用してコードの再利用性を実現すること、十分なユニットテストを書くためにテスト駆動開発の技術を活用すること、そして緻密なリファクタリングを通じて冗長なコードを排除することが含まれます。
3. 使用されるプログラミング言語:一部の最先端のプログラミング言語は、メモリの安全性と高い並行性に重点を置いて設計されています。コンパイラは、コードを並行的な問題や無効なメモリアドレスへのアクセスの可能性に対してチェックし、検出された場合はコンパイルエラーが発生し、開発者に堅牢なコードを書くように強制します。
この点で、Rust言語は模範的であり、そのため並行ブロックチェーンプロジェクトの大部分がRustで開発されていることがわかります。一部のプロジェクトでは、Rustの設計を借りて独自のスマートコントラクト言語を実装しています。たとえば、FuelのSway言語などがあります。
5.1.1 メモリーロックから楽観的並列性へ
Seiは2022年に設立されたオープンソース技術に基づく汎用のパブリックブロックチェーンです。創設者はカリフォルニア大学バークレー校の卒業生であり、他のチームメンバーも名門大学出身です。
Seiは3つのラウンドで資金調達を受けています:500万ドルのシードラウンド、3000万ドルの最初の戦略的資金調達ラウンド、金額が開示されていない第2の戦略的資金調達ラウンド。 Seiネットワークはまた、エコシステム開発を支援するために合計1億ドルの資金を調達しました。
2023年8月、Seiはメインネットでローンチし、秒間12,500件の取引を処理できると主張し、たった380ミリ秒で最終性を達成するとしています。現在、約22億ドルの時価総額を持っています。
現在、Seiエコシステムは主にDeFi、インフラ、NFT、ゲーム、およびウォレットに焦点を当てた118のプロジェクトで構成されています。コミュニティには現在、Twitterで65万人、Discordで60万人、Telegramで4万人のメンバーがいます。
2023年11月末、Seiは公式ブログで、2024年上半期のメインネットのローンチ以来最大のバージョンアップグレードを開始することを発表しました:Sei v2。Sei v2は最初の並列EVMブロックチェーンとして謳われています。このバージョンアップグレードにより、以下の新機能が導入されます:
元々、Sei Networkのトランザクションの並行実行はメモリロックモデルに基づいていました。実行の前に、保留中のトランザクション間のすべての依存関係が解決され、DAGが生成されました。その後、DAGに基づいてトランザクションの実行順序が正確に配置されました。この方法は、契約開発者に精神的負担を増やしました。なぜなら、開発中にロジックをコードに組み込まなければならなかったからです。
上記の技術原則セクションで紹介されているように、新バージョンで楽観的並列化が採用されることにより、開発者は、スマートコントラクトを順次実行されるプログラムを書くかのように書くことができます。スケジューリング、実行、およびトランザクションの検証などの複雑なメカニズムは、基盤となるモジュールによって処理されます。コアチームの最適化提案設計により、事前に依存関係を事前に埋めることで、並列実行能力がさらに向上しました。
具体的には、実行前にトランザクションの書き込み操作を分析し、それらをマルチバージョンメモリデータ構造に事前に埋め込む動的依存性ジェネレーターを導入することが含まれます。これにより、潜在的なデータ競合を最適化します。分析の結果、コアチームは、このような最適化メカニズムがトランザクション処理の最良のケースでは有利でないことがわかりましたが、最悪のケースでは実行効率が大幅に向上すると結論付けました。
5.1.2 L1トラックの潜在的なディスラプター:Monad
上記で言及されたパブリックブロックチェーンの開発を見逃した場合は、間違いなくL1トラックでの潜在的な破壊者であるMonadを見逃すべきではありません。
Monadは2022年にJump Cryptoのシニアエンジニア2人によって設立されました。プロジェクトは2023年2月に1900万ドルのシード資金調達ラウンドを完了しました。2024年3月、ParadigmはMonadのために2億ドル以上の資金調達ラウンドの交渉を主導しました。成功すれば、これは今年の初め以来の最大の仮想通貨資金調達となります。
プロジェクトはすでに内部テストネットの立ち上げのマイルストーンを達成し、次の段階としてパブリックテストネットを開設する方向で作業しています。
Monadは2つの顕著な理由で資本に大いに支持されています。1つはその堅実な技術的背景であり、もう1つはマーケティング・ハイプの熟練度です。Monad Labsの中核チームは30人のメンバーで構成されており、すべてのメンバーが高頻度取引、カーネルドライバー、金融技術の長年の深い経験、および分散システムの幅広い開発経験を持っています。
プロジェクトの日常業務は非常に「地に足のついた」ものでもあります:Twitterの20万人のフォロワーやDiscordの15万人のメンバーと継続的に「魔法のマーケティング」に取り組んでいます。例えば、毎週ミームコンテストを開催したり、コミュニティから様々な風変わりな紫色の動物の絵文字や動画を収集して、「精神的な普及活動」を行ったりします。
Monadのビジョンは、開発者向けのスマートコントラクトプラットフォームとなり、Ethereumエコシステムに極端なパフォーマンス向上をもたらすことです。MonadはEthereum仮想マシンに2つのメカニズムを導入しています:1つはスーパースカラーパイプライン処理、もう1つは改良された楽観的並列メカニズムです。
スーパースカラーパイプライン処理は取引の実行フェーズを並列化します。公式文書で示されている説明的な例は、洗濯物を洗うことであり、これはブロックチェーンが取引を処理する方法に似ており、複数の段階で完了します。従来の方法は、次の山に進む前に、洗濯、乾燥、折りたたみ、収納の各山の汚れた衣類を処理します。
スーパースカラーパイプライン処理は、一方で、最初の山が乾いている間に第2の山を洗い始めます。 最初の山を折りたたんでいる間に、第2の山と第3の山はそれぞれ乾燥しているため、各段階をアクティブに保ちます。
楽観的並列メカニズムはトランザクションの実行を並列化します。Monadは楽観的並列性を使用して並列実行を行います。また、トランザクション間の依存関係を予測するために独自の静的コードアナライザを開発し、前提となる依存トランザクションの実行後にのみ後続のトランザクションをスケジューリングします。これにより、失敗した検証によるトランザクションの再実行を大幅に削減します。
現在、その性能は10,000 TPSに達し、1秒以内でブロックを生成することができます。プロジェクトが進行するにつれて、コアチームはさらなる最適化メカニズムを探求し続けます。
5.1.3 高度に分散化されたL1プロジェクト:Canto
2022年に設立されたCantoは、Cosmos SDK上に構築された非常に分散型のL1プロジェクトです。公式の基金を持たず、プリセールには関与せず、どんな組織にも所属せず、資金調達も求めず、完全にコミュニティによって運営されています。さらに、コアチームさえも匿名であり、緩く組織された方法で活動しています。
EVMに対応した一般的なブロックチェーンであるが、Cantoの主なビジョンは、アクセス可能で透明で分散化され、無料のDeFiバリュープラットフォームとなることである。セクターに対する包括的な調査の結果、健全なDeFiエコシステムには3つの基本的な要素が含まれることが分かった。
ただし、従来のDeFiエコシステムは最終的に共通の運命を共有します:彼らはガバナンスプロトコルトークンを発行し、その価値は将来のユーザーからどれだけの使用料を抽出できるかに依存します。抽出量が多いほど、価値は高くなります。これは、各DeFiプロトコルが時間ごとに料金を請求する私有の駐車場であるというのに似ています。使用されるほど、その評価は高くなります。
Cantoは別のアプローチを取っています: DeFi(Free Public Infrastructure)のための無料の公共インフラを構築します。その生態系プロジェクトのための無料の駐車場として自分自身を作ります。
インフラストラクチャは、分散型取引所Canto DEX、Compound v2からフォークされたプール型貸出プラットフォームCanto Lending Market(CLM)、CLMから担保資産を通じて貸し出すことができる安定通貨NOTEの3つのプロトコルで構成されています。
Cantoは新しいアプローチを採用しています: DeFiをターゲットとした無料の公共インフラを構築し、エコシステムプロジェクトが無料で利用できる無料の駐車場として位置付けています。
インフラストラクチャは、分散型取引所Canto DEX、Compound v2からフォークされたプール型貸出プラットフォームCanto Lending Market(CLM)、CLMから担保資産を使って借入可能なステーブルコインNOTEの3つのプロトコルで構成されています。
Canto DEXは、非アップグレード可能でガバナンスフリーなプロトコルとして永続的に運営されています。自身のトークンを発行せず、追加料金を請求しません。この設計により、エコシステムのDeFiアプリケーション内でのさまざまな家賃収奪行為を防ぎ、捕食的なゼロサムゲームを回避しています。
貸出プラットフォームCLMのガバナンスは、エコシステムの成長を完全に受け入れ、それによって開発者やDeFiユーザーにとって最良の環境を作り出すステークホルダーによって制御されており、それにより、彼らは継続的に貢献することを促されます。NOTEで発行されたローンから生じる利息は、プロトコルが一切カットを取らない形で借り手に支払われます。
開発者向けに、Cantoは契約保証収益モデルを導入しました。このモデルは、契約とのオンチェーン相互作用から生じる手数料の一定割合を開発者に割り当てます。Cantoによるこの一連のビジネスモデル革新は、「一石三鳥」と呼ばれ、オープンで無料の金融インフラを提供することで建設的で繁栄するエコシステムを育んでいます。
さまざまな手段により、カントはエコシステム開発者やユーザーが参加し、エコシステムを継続的に豊かにするようインセンティブを与えます。 カントは「鋳造権」を厳密に制御することで、さまざまな分散型アプリケーション間でのクロスアプリケーション流動性の可能性を創出します。 エコシステムが繁栄するにつれて、そのトークンの価値が向上します。 CSR提案が2024年1月26日にコミュニティ投票で承認された後、$CANTO トークンは価格急上昇を経験しました。
これらの一連のビジネスモデル革新に続いて、2024年3月18日、Cantoは公式ブログで最新の技術的なイテレーションを発表しました。
Cosmos SDKの新しいバージョンを採用し、ストレージアクセスのボトルネックを減らす新しい技術を統合するだけでなく、Cantoは並列EVMにもアップグレードします:サイクロンEVMの実装を通じて楽観的並列化を導入します。
Cantoで使用されるCosmos SDKは、取引処理を提案、投票、最終決定の3つの段階に分割します。投票中のProcessProposalサブプロセスは、取引の並列実行を担当します。並列実行エンジンが実行を処理し、競合検出エンジンが取引の妥当性を検証します。
トランザクションが無効な場合、再実行のために実行エンジンに戻されます。有効な場合は、後続の処理フローにコミットされます。今回の技術的なアップグレードにより、Cantoのトークンがさらに注目されると信じられています。
Fuel、仮想マシンFuelVM、Rustに触発された契約開発言語Sway、およびそれに関連するツールチェーンから構成される燃料は、カスタムビルトのモジュラーな「Ethereumロールアップオペレーティングシステム」です。 Fuelプロジェクトは2019年に設立され、2020年12月にFuel LabsはEthereum上で最初の楽観的ロールアップ実行レイヤー、Fuel v1を開始しました。 3年以上の開発の末、プロジェクトはついに2024年第3四半期にメインネットを開始する予定です。
Fuelは2021年と2022年にそれぞれ150万ドルと8000万ドルの資金調達ラウンドを完了しました。コアチームは60人以上のエンジニアで構成されており、創設者のJohn Adlerはデータ可用性ソリューションであるCelestia Labsの共同創設者であり、楽観的なロールアップ手法の早期支持者の1人でもあります。運営面では、プロジェクトはTwitterで27万人、Discordで39万人のメンバーを有しています。
ブロックチェーン上でトランザクションを一つずつ実行すると、ガス料金が発生し、貴重なブロックスペースを競い合うことになります。これは遅いです。当然、バッチ処理などのさまざまなスケーリングソリューションが思い浮かびます。その後、チェーン上で一緒にパッケージ化され、決済されるトランザクションのバッチ処理により、実行を高速化します。
ロールアップは、L1の外側で動作し、オフチェーンでバッチ処理でトランザクションを実行し、その後トランザクションデータまたは実行証明をL1に送信するスケーリングソリューションです。これにより、DAレイヤを介したセキュリティが確保され、取引が解決されます。ロールアップには、楽観的およびゼロ知識(ZK)の2つの主要なタイプがあります。
オプティミスティック・ロールアップは、トランザクションが有効であると仮定し、L1で検出された際に悪意のあるまたは不正確なトランザクションを元に戻すための不正証明を生成します。 ZKロールアップは、トランザクションの詳細を公開せずに複雑な計算を通じてトランザクションの有効性の証明を生成し、それをL1に公開して、ロールアップがトランザクションを正しく実行したことを示します。したがって、ロールアップはブロックチェーン実行層技術です。
ロールアップはトランザクションの実行を高速化しますが、ほとんどの既存の実装はモノリシックなブロックチェーン向けに設計されています。開発者は技術的にさまざまな妥協をしなければならず、それがロールアップの完全なパフォーマンスを制限しています。モジュラーブロックチェーンへの新しいトレンドに伴い、業界には適したロールアップソリューションがありませんでした。Fuelはこのギャップを埋めるために作成されました。
FuelはUTXOデータモデルを使用しており、このモデルは取引のアウトプットが二つの状態のみを持つという利点があります。つまり、すでに支払済みでブロックの取引履歴に永続的に記録された状態か、未支払いで将来の取引に利用可能な状態のどちらかです。これにより、チェーン内の各ノードに格納される状態データを最小限に抑えることができます。Fuelは、各取引によってアクセスされるアカウント情報を実行前にチェックし、依存関係を特定し、依存関係のない取引を並行して実行するようスケジュールします。これにより、取引処理のスループットが向上します。
L2ソリューションには共通の特徴があります: 2種類の仮想マシンの機能を組み合わせてトランザクション実行のスピードを向上させます。具体的には、並列L1を使用してトランザクションを実行しながら、他のチェーンとの互換性を維持します(デュアル仮想マシンサポート)。ただし、異なるプロジェクトが採用する互換性メカニズムは異なります。この点で、Neon、Eclipse、Lumioが特に代表的です。
Neonは、Solanaエコシステムで最初の並列EVMプロジェクトであると主張し、開発者がイーサリアムエコシステムプロジェクトをシームレスにSolanaエコシステムに移行できるようにしています。Eclipseは、EVMに対応したSolanaエコシステム内の別のプロトコルであり、モジュラーなアーキテクチャで構築されています。これら3つのプロジェクトの中で、Neonだけが独自のトークンを発行しており、流通市場価値は7800万ドルを超えています。
他の2つのプロジェクトはまだ比較的初期段階にあります。LumioはAptosとEthereumを組み合わせて楽観的なロールアップL2プロトコルを作成し、Move VMのスピードでEthereumアプリケーションを効率的に実行します。
資金調達に関して、Neonは2021年11月に4000万ドル、2023年6月に500万ドル、合計4500万ドルの資金調達を完了しました。Eclipseは2022年8月に600万ドル、2022年9月に900万ドル、2024年3月に5000万ドル、合計6500万ドルの資金調達を完了しました。Lumioはまだ資金を調達していません。
これらの3つのプロジェクトのいずれも、まだ大規模なアプリケーションエコシステムを形成していませんが、主要なソーシャルメディアプラットフォームで何万人ものフォロワーやメンバーを持っており、重要なコミュニティ活動を示しています。
メカニズムの観点から、NeonはSolanaネットワーク上で実行されるEVMエミュレータであり、スマートコントラクトとして動作します。開発者は、SolidityやVyperなどの言語を使用してdAppアプリケーションを記述し、MetaMask、Hardhat、RemixなどのEthereumツールチェーンや互換性のあるEthereum RPC API、アカウント、署名、およびトークン規格を利用できます。一方、Solanaがもたらす低い手数料、高速なトランザクション実行速度、並列処理能力の利点を享受することができます。
Ethereumのトランザクションは、EthereumのdAppフロントエンドから送信され、プロキシによってSolanaのトランザクションに変換され、その後エミュレータで実行され、チェーンの状態が変更されます。これは、PCでよく使われるゲームエミュレータのようなもので、SwitchやPlayStationなどのコンソールからの専用ゲームをデスクトップコンピュータでプレイできるようにします。Neonは、Ethereumの開発者がSolanaネットワーク上でEthereumアプリケーションを実行できるようにします。
Eclipseは異なる実装アプローチを採用しています:SVMを介してトランザクションを実行し、EVMを介してトランザクションを決済します。Eclipseはモジュラーブロックチェーンアーキテクチャを利用し、トランザクション実行のみを処理し、他の責任を外部委託し、モジュラーな組み合わせを通じて統一されたソリューションを形成しています。
例えば、それはデータの利用可能性を管理するためにCelestiaを使用し、取引の実行と決済のためにEthereumを使用します。EclipseはSVMを通じて実行速度を確保し、Ethereumの検証と決済を通じてセキュリティを確保します。
Lumioは、実行と決済レイヤーに独立した設計思想を採用し、さまざまな仮想マシンをサポートし、Ethereum、Aptos、Optimism、Avalanche、zkSyncなどの複数のL1/L2ネットワークと互換性があります。Move VMを介して取引を実行し、EVMを介して決済を行うことで、EthereumとAptosのエコシステムをつなぎます。
ただし、Lumioの野望はそこで止まりません。そのビジョンは、最高の速度と最低料金でマルチブロックチェーン流動性接続を実現するために、クロス仮想マシン呼び出しを提供することです。
上記は、次の図に示すように、現在並行しているEVMナラティブに関連する主要プロジェクトです。
人々はしばしばBitcoinを「分散台帳」に、Ethereumを「分散状態機械」になぞらえることがあります。ブロックチェーンネットワークを運用するすべてのノードを一つのコンピュータと考えると、並列ブロックチェーンは基本的にこの「コンピュータ」の処理リソースの利用を最大化して最速の実行スピードを実現するかを研究しています。
これは、コンピューティング技術の歴史における避けられない進化であり、シングルコアからマルチコアプロセッサへの発展、単一ユーザーシングルスレッドからマルチユーザーマルチスレッディングへのオペレーティングシステムの進化と同様です。これは、産業の継続的な発展に重要な意味を持ちます。
並列EVMの技術原則は、仮想マシンと並列実行メカニズムの2つのコンポーネントに分解できます。ブロックチェーンの文脈では、仮想マシンは、契約の分散実行とdAppsの実行に関する一連の命令を統合します。並列実行メカニズムは、主に取引の実行速度を最大化しながら取引結果の正確性を確保することに焦点を当てています。
一方、並列EVMは共通の技術原則を共有しています。まず、楽観的並列化モデルはL1パブリックブロックチェーンのコンセンサスです。しかし、これはメモリロックモデルが無意味であることを意味するものではありません。技術的な優越性は存在せず、開発者のスキルレベルが異なるだけです。
第二に、Fuelのようなプロジェクトは、オフチェーンのスケーリングメカニズムは、モジュラリゼーションを経て初めて最大のパフォーマンスを発揮できると強く信じています。最後に、多くのL2プロジェクトは、並行するL1パブリックブロックチェーンと統合することで、トランザクションのスループットを向上させ、クロスエコシステムのスケーリング機能を実現しようとしています。
一方、並行ブロックチェーンは独自の技術的成果を持っています。同じ並行実行モデルを採用していても、異なるチームは異なるアーキテクチャ設計パターン、データモデル、または前処理メカニズムを実装しています。技術的な探求は終わりがなく、異なるプロジェクトは異なるビジョンに基づいて異なる技術を開発し、実践をより高いレベルに推進しています。
展望として、さらに多くのL1およびL2プロジェクトが並行EVMに参加するでしょう。L1トラックでは、プロセッサリソース、ストレージリソース、ネットワークリソース、ファイルシステムリソース、およびデバイスリソースにおいて、並行EVMキャンプと非EVMキャンプの包括的な競争が展開されます。この競争は、パフォーマンス向上に関連する新たな物語も生み出すでしょう。一方、L2トラックは、ブロックチェーン仮想マシンシミュレーターまたはモジュラーブロックチェーンに向けて進化していくことでしょう。
将来、インフラ最適化により、より高速なスピード、低コスト、およびより高い効率がもたらされるでしょう。Web3の起業家は、大胆にビジネスモデルを革新し、より優れた分散型製品体験を世界中に創造することができます。これにより、業界エコシステムがさらに繁栄します。Web3の投資家にとって、技術に焦点を当てるだけでは不十分です。
投資対象を選択する際、投資家は「良い物語」、「低い時価総額」、「高い流動性」を持つプロジェクトを選択するべきです。その後、ビジネス、チームのバックグラウンド、経済モデル、マーケティング、エコロジカルプロジェクトに深く入り込むことで、潜在的なプロジェクトを明らかにし、適切な投資チャンネルを見つけるべきです。
並列EVMは、Neon、Monad、Canto、Eclipse、Fuel、およびLumioなどのプロジェクトが開発の初期段階にあり、その価値が完全に実現されていない段階にあります。特に、Monad、Canto、およびFuel。
Monadのマーケティングスタイルは、単独でも注目に値しますが、そのエコシステム内のミームプロジェクトも注目に値します。これにより、ハイプによって駆動される一夜で大金持ちになる物語が生まれる可能性があります。カントは「良い物語」および「低い市場評価」という条件を満たしていますが、それが良い投資対象であるかどうかは、さまざまな指標を徹底的に調査する必要があります。Fuelはモジュラーブロックチェーンの開発における人気のある方向性を表しており、新たな投資機会を生み出す可能性もあります。これらすべては私たちの注意を引くに値する方向性です。
この記事は、から再生されましたGryphsis Academy)、元のタイトルは「並列EVMの一万語解釈: ブロックチェーンのパフォーマンスボトルネックを突破する方法?」であり、著作権は元の著者に帰属します[@leesper6], if you have any objection to the reprint, please contact Gate Learn Teamチームは関連手続きに従ってできるだけ早く対応します。
免責事項:この記事で表現されている意見や見解は、著者個人の意見を表しており、投資アドバイスを構成するものではありません。
他の言語バージョンはGate Learnチームによって翻訳され、言及されていませんGate翻訳された記事の無断転載、配布、または盗用は禁止されています。
Поділіться
パフォーマンスは、産業のさらなる発展のボトルネックとなっています。ブロックチェーンネットワークは個人と企業間の取引のための新しい分散型信頼基盤を作り出しています。
ビットコインを代表とする第一世代のブロックチェーンネットワークは、分散台帳技術を用いた新しいモードの分散型電子通貨取引を開拓し、新しい時代を革命化しました。イーサリアムなどを代表とする第二世代は、分散状態機械アプローチを通じて分散型アプリケーション(dApps)を提案することで、想像力を十分に活用しました。
それ以降、ブロックチェーンネットワークは、Web3インフラからDeFi、NFT、ソーシャルネットワーク、GameFiなどのさまざまなトラックへと、10年以上にわたる急速な発展を遂げ、技術やビジネスモデルにおいて多くの革新を生み出してきました。成長著しい業界は、分散型アプリケーションのエコシステムへの新しいユーザーの継続的な参加を促す必要があり、それにより製品体験に対するより高い要件が求められています。
過去に例がないとされる新製品形態であるWeb3は、ユーザーのニーズ(機能要件)を満たすために革新しなければならず、同時にセキュリティとパフォーマンス(非機能要件)のバランスを取らなければならない。発足以来、パフォーマンスの問題に対処するために様々な解決策が提案されてきた。
これらの解決策は一般的に2つのタイプに分類されます: シャーディングや有向非巡回グラフ(DAG)などのオンチェーンスケーリングソリューションと、プラズマ、ライトニングネットワーク、サイドチェーン、およびロールアップなどのオフチェーンスケーリングソリューションです。しかし、これらはまだオンチェーントランザクションの急速な成長に追いつくには遠いです。
特に2020年のDeFiサマーと2023年末のビットコインエコシステムへの爆発的な成長の後、業界は「高いパフォーマンスと低料金」の需要に対応するために新しいパフォーマンス向上のソリューションを急務としています。この背景に対して並行ブロックチェーンが生まれました。
並列EVMの物語は、並列ブロックチェーンの分野で2つの主要なプレーヤーが競争する競争の景観を示しています。 Ethereumはトランザクションを直列で処理し、それらを1つずつ実行するため、リソースの利用率が低くなります。 直列処理から並列処理に切り替えることで、パフォーマンスを大幅に向上させることができます。
イーサリアムのライバルであるSolana、Aptos、およびSuiは、すべて内蔵の並列処理機能を備え、堅牢なエコシステムを開発しています。それぞれのトークンの時価総額は、それぞれ450億ドル、33億ドル、19億ドルに達し、並列の非EVM陣営を形成しています。これらの挑戦に対応するため、イーサリアムエコシステムは、EVMを強化するために前進するさまざまなプロジェクトが登場し、それによって並列のEVM陣営を作り上げています。
Seiは、バージョン2のアップグレード提案において、「最初の並列EVMブロックチェーン」となると大々的に宣言しており、現在の時価総額は21億ドルであり、さらなる成長の可能性も秘めています。新しい並列EVMブロックチェーンであるMonadは、現在最も熱狂的なマーケティングを展開しており、投資家から高い支持を受けており、大きな潜在能力を持っています。一方、時価総額1億7000万ドルのL1ブロックチェーンであるCantoは、独自の無料の公共インフラを持ち、並列EVMのアップグレード提案も発表しています。
さらに、いくつかの早期のL2プロジェクトは、複数のL1チェーンの機能を統合することによってクロスエコシステムのパフォーマンスを向上させています。Neonを除いて、時価総額が6900万ドルに達したプロジェクトもありますが、他のプロジェクトはまだ関連データが不足しています。今後、さらに多くのL1およびL2プロジェクトが並行ブロックチェーンの戦場に参加することが予想されています。
並列EVMの物語には bet significant market growth potentialがありますが、並列EVMが属する並列ブロックチェーンセクター全体も bet substantial market growth potentialがあり、幅広い市場展望を約束しています。
現在、レイヤー1およびレイヤー2の総時価総額は752.1230億ドルで、並行するブロックチェーンの時価総額は52.5390億ドルで、約7%を占めています。この中で、並行するEVMナラティブに関連するプロジェクトは23.39億ドルの時価総額を持ち、並行するブロックチェーンの時価総額の4%を占めています。
業界では、一般的にブロックチェーンネットワークを4層構造に分けています。
Layer 0 (Network): これは基本的なネットワーク通信プロトコルを処理する基盤となるブロックチェーンネットワークレイヤーです。
レイヤー1(インフラストラクチャ):このレイヤーは、分散型ネットワーク内でトランザクションを検証するためにさまざまなコンセンサスメカニズムに依存しています。
Layer 2(拡張):Layer 1 に依存し、Layer 1 の制限、特にスケーラビリティの問題に対処するためのさまざまな第2層プロトコルが含まれます。
Layer 3 (Application): Layer 2またはLayer 1に依存する、さまざまな分散型アプリケーション(dApps)を構築するために使用されるレイヤーです。
パラレルEVM(Ethereum Virtual Machine)ナラティブプロジェクトは、主にモノリシックブロックチェーンとモジュラーブロックチェーンに分かれており、モノリシックブロックチェーンはさらにL1とL2に分かれています。複数の主要なトラックのプロジェクト数と開発を見ると、パラレルEVM L1パブリックチェーンエコシステムは、イーサリアムエコシステムと比較してまだ大きな成長余地があることがわかります。
DeFiトラックでは、「高速かつ低コスト」が求められていますが、ゲームトラックでは「強力なリアルタイムインタラクション」が要求されており、どちらも一定の実行速度が必要です。並列EVMはこれらのプロジェクトにより良いユーザーエクスペリエンスをもたらし、業界の発展を新たな段階に押し進めることになります。
L1は、固有の並行実行能力を持つ新しいパブリックチェーンを表し、高性能なインフラストラクチャとして機能します。この分野では、Sei v2、Monad、Cantoなどのプロジェクトが独自に設計した並行EVMが、Ethereumエコシステムと互換性があり、高いトランザクションスループット能力を提供しています。
L2は、他のL1チェーンの機能を統合することで、クロスエコシステムの協力のための拡張された容量を提供し、ロールアップ技術の優れた例です。この派閥では、NeonはSolanaネットワーク上のEVMエミュレーターとして機能し、EclipseはSolanaでトランザクションを実行しますが、EVMで決済されます。Lumioは、Eclipseに似ていますが、実行レイヤーがAptosに切り替えられています。
前述の独立したブロックチェーンソリューションに加えて、Fuelは独自のモジュラーブロックチェーンコンセプトを導入しました。第2版では、より柔軟で包括的なモジュラー実行機能を提供することを目指し、自身をイーサリアムのロールアップオペレーティングシステムと位置付けています。
Fuelは取引の実行に焦点を当てており、他のコンポーネントを1つ以上の独立したブロックチェーンレイヤーにアウトソーシングすることで、より柔軟な組み合わせが可能となります。これにより、Layer 2、Layer 1、サイドチェーン、またはステートチャネルとして機能することができます。現在、Fuelエコシステム内には主にDeFi、NFT、およびインフラに焦点を当てた17のプロジェクトがあります。
しかし、Orallyクロスチェーンオラクルのみが実用化されています。分散型貸出プラットフォームSwaylendと永続契約取引プラットフォームSPARKがテストネットで立ち上げられましたが、他のプロジェクトはまだ開発中です。
分散型取引実行を実現するために、ブロックチェーンネットワークは4つの責任を果たさなければなりません:
Parallel EVMは主に実行レイヤーのパフォーマンス最適化に焦点を当てています。これはレイヤー1(L1)ソリューションとレイヤー2(L2)ソリューションに分かれています。L1ソリューションは並列トランザクション実行のためのメカニズムを導入し、トランザクションができるだけ仮想マシン内で並列に実行されるようにします。L2ソリューションは基本的に、すでに並列化されたL1仮想マシンを活用して、「オフチェーン実行+オンチェーン決済」のある程度のレベルを実現します。
したがって、並列EVMの技術的な原理を理解するには、それを分解する必要があります:まず、仮想マシン(VM)とは何かを理解し、次に並列実行が何を意味するかを理解する必要があります。
コンピュータサイエンスにおいて、仮想マシンとはコンピュータシステムの仮想化またはエミュレーションを指します。
仮想マシンには2種類あります。システム仮想マシンは1つの物理マシンを複数の異なるオペレーティングシステムを実行するマシンに仮想化でき、リソースの利用を向上させます。プロセス仮想マシンは、特定の高水準プログラミング言語の抽象化を提供し、これらの言語で書かれたコンピュータプログラムを異なるプラットフォーム上でプラットフォームに依存しない方法で実行できるようにします。
JVMはJavaプログラミング言語向けに設計されたプロセス仮想マシンです。Javaで書かれたプログラムはまずJavaバイトコード(バイナリコードの中間状態)にコンパイルされます。その後、JVMがバイトコードをインタプリタに送り、インタプリタがそれを異なるマシンの機械語に翻訳してから、そのマシンで実行します。
ブロックチェーン仮想マシンはプロセス仮想マシンの一種です。ブロックチェーンの文脈において、仮想マシンとは契約の分散実行のために使用される分散ステートマシンの仮想化を指します。JVMに類似して、EVMはSolidity言語向けに設計されたプロセス仮想マシンであり、スマート契約はまずオペコードバイトコードにコンパイルされ、その後EVMによって解釈されます。
イーサリアムを超えた新興の公開チェーンは、しばしばWASMまたはeBPFバイトコードに基づいた仮想マシンを採用しています。WASMは、砂箱のセキュリティメカニズムに基づいた、コンパクトで高速な、ポータブルなバイトコード形式です。 開発者は、さまざまなプログラミング言語(C、C++、Rust、Go、Python、Java、またはTypeScript)でスマートコントラクトを記述し、それらをWASMバイトコードにコンパイルして実行できます。 Seiブロックチェーン上で実行されるスマートコントラクトは、このバイトコード形式を使用します。
eBPFは、元々ネットワークパケットの効率的なフィルタリングに使用されていたBPF(Berkeley Packet Filter)から発展し、より豊富な命令セットを提供するeBPFに進化しました。
これは、ソースコードを変更せずにオペレーティングシステムカーネルの動作に動的に介入および変更を許可する革命的な技術です。後に、この技術はカーネルを超えて展開され、ユーザースペースのeBPFランタイムの開発につながり、これは非常に高性能で安全かつ移植性があります。Solanaで実行されるスマートコントラクトはeBPFバイトコードにコンパイルされ、そのブロックチェーンネットワークで実行されます。
その他のL1パブリックチェーン、例えばAptosやSuiは、Moveスマートコントラクトプログラミング言語を使用し、プロプライエタリバイトコードにコンパイルしてMove仮想マシン上で実行されます。Monadは、EVMオペコードバイトコードに対応した独自の仮想マシンを設計しました(上海フォーク)。
並列実行は、マルチコアプロセッサの利点を活用して複数のタスクを同時に処理し、システムのスループットを向上させる技術です。トランザクションの結果がシリアルに実行された場合と同一であることを保証します。
ブロックチェーンネットワークでは、TPS(秒あたりのトランザクション数)は処理速度を測定するための技術指標として一般的に使用されています。並列実行のメカニズムは複雑であり、開発者の技術的なスキルにはチャレンジを投げかけるため、説明が難しいです。ここでは、「銀行」の例を使って、並列実行とは何かを説明します。
(1)まず、シリアル実行とは何ですか?
シナリオ1: システムを銀行、タスク処理CPUを窓口とみなすと、シリアルタスク実行は、この銀行がサービス用に1つの窓口しか持たない状況に似ています。この場合、銀行に来る顧客(タスク)は長い列を作り、順番に業務を処理する必要があります。各顧客に対して、窓口スタッフは顧客にサービスを提供するために同じアクション(命令の実行)を繰り返さなければなりません。顧客は順番を待たなければならず、これが取引時間の延長につながります。
(2) それでは、並列実行とは何ですか?
シナリオ2:銀行が混雑していることを認識すると、複数のカウンターを開設し、4人の職員が同時に業務を処理するかもしれません。これにより、処理速度は元の約4倍に向上し、顧客が待つ時間も元の1/4程度に短縮されます。したがって、銀行での業務処理速度が向上します。
(3) 保護措置がない場合、2人が同時に別の人にお金を送金した場合にどのようなエラーが発生しますか?
シナリオ3:2 ETH、1 ETH、および0 ETHをそれぞれアカウントに持つA、B、およびCを考えてみましょう。今、AとBはそれぞれ0.5 ETHをCに送金したいと考えています。トランザクションを直列に実行するシステムでは、問題は発生しません(左矢印「< =」は元帳からの読み取りを示し、右矢印「=>」は元帳への書き込みを示します、以下同じ)。
しかし、並行実行は思わほど簡単ではありません。注意深く扱わないと、深刻なエラーを引き起こす可能性がある微妙な詳細がたくさんあります。AとBの取引がCに転送される場合、並行して実行されると、手順の順序によっては一貫性のない結果になることがあります。
Parallel Task 1はAからCへの転送を実行し、Parallel Task 2はBからCへの転送を実行します。アスタリスクでマークされたステップに問題があります:両方のタスクが並行して実行されるため、ステップ2では、Parallel Task 1による残高計算がまだ元帳に書き込まれていません。ステップ3までに、Parallel Task 2はCの口座残高(まだ0)を読み取り、ステップ5でこれに基づいた誤った残高計算を行います。その後、ステップ6の元帳更新操作で、ステップ4で既に0.5に更新されていた口座残高を誤って再度0.5に更新します。これにより、AとBがそれぞれ0.5 ETHを転送したにもかかわらず、Cの口座残高はわずか0.5 ETHとなり、他の0.5 ETHが消失する結果となります。
(4)保護措置がない場合、互いに依存しない2つのタスクはエラーなしで並行して実行できます
シナリオ4:並列タスク1は、A(残高2 ETH)からC(残高0 ETH)への0.5 ETHの送金を実行し、並列タスク2は、B(残高1 ETH)からD(残高0 ETH)への0.5 ETHの送金を実行します。これら2つの送金タスクの間には依存関係がないことが明らかです。 2つのタスクのステップがどのように交互に配置されているかに関係なく、上記の問題に遭遇することはありません。
これらのシナリオを比較すると、タスク間に依存関係がある限り、並列実行中に状態更新のエラーが発生する可能性があることが分析されます。それ以外の場合、エラーは発生しません。タスク(トランザクション)が依存関係を持つと見なされる条件の1つを満たす場合です。
この問題は分散システムに固有のものではありません。並行実行を含むシナリオでは、複数の依存タスク間で共有リソースへの保護されていないアクセス(銀行の例での「元帳」やコンピュータシステムでの共有メモリなど)によってデータの整合性が損なわれる可能性があり、これはデータ競合として知られています。
業界は、並列実行におけるデータ競合の問題を解決するために、メッセージパッシングメカニズム、共有メモリメカニズム、厳格な状態アクセスリストメカニズムの3つのメカニズムを提案しています。
シナリオ5:顧客のために同時に稼働する4つのサービスカウンターを持つ銀行を考えてみましょう。これらのカウンターの各出納係には、彼らだけが修正できるユニークな元帳が与えられます。この元帳には、彼らが担当する顧客の口座残高が記録されます。
窓口係が取引を処理する際に、顧客の情報が彼らの元帳に利用可能である場合、彼らは直接進みます。そうでない場合、他の窓口係に顧客の取引ニーズを知らせるために呼びかけ、聞き取り係がその仕事を引き継ぎます。
これはメッセージパッシングモデルの原則を示しています。アクターモデルは、トランザクションを処理する各エンティティがアクター(窓口係)であるメッセージパッシングモデルの一種であり、各々が彼らのプライベートデータ(排他的な台帳)にアクセスできます。他人のプライベートデータにアクセスするには、メッセージを送ることしかできません。
Actorモデルの利点:
各アクターは、自分のプライベートデータにのみアクセスできるため、競合状態の問題を回避します。
アクターモデルの欠点:
各アクターは順次タスクのみを実行できます。特定のシナリオでは、これは並列処理の利点を活用していません。たとえば、窓口番号2、3、および4が同時にメッセージを送信して窓口番号1に顧客Aの口座残高について尋ねる場合、窓口番号1はこれらのリクエストを一度に1つずつのみ処理できます。これらは並列で処理できるはずなのに、です。
現在のシステム状況のグローバルビューがありません。システムの運用が複雑な場合、全体の状況を理解し、バグを特定して修正することが難しくなります。
2.4.1 メモリロックモデル
シナリオ6:顧客の口座残高を記録する大きな元帳が1つだけある銀行を想像してみてください。元帳の隣には、それを修正するためのペンが1本だけあります。
このシナリオでは、4人の銀行員の競争が速さのレースとなります。 1人の銀行員が最初にペンを取り、元帳を修正し始めると、他の3人は待たなければなりません。 銀行員が終わったらペンを置き(ロックを解除)、次の3人の銀行員がペンを取るために急ぎます。 このサイクルが繰り返され、メモリロックモデルを示しています。
メモリロックは、並行して実行されているタスクが共有リソースにアクセスする前にロックすることを許可します。リソースがロックされると、他のタスクは修正されてロックが解除されるのを待たなければならず、その後に再度ロックしてアクセスすることができます。
リードライトロックモデルは、より洗練されたアプローチを提供し、複数の並行タスクが共有リソースに読み取りロックを追加し、そのデータに複数回アクセスすることを許可します。この間、変更は許可されませんが、一度に1つだけ書き込みロックを適用することができ、適用されると、リソース保持者に排他的なアクセス権が付与されます。
Solana、Sui、およびSei v1などのブロックチェーンプラットフォームは、メモリロックに基づく共有メモリモデルを使用しています。このメカニズムは単純に見えるかもしれませんが、実装する際には複雑であり、マルチスレッドプログラミングの高度なスキルを持つ開発者が必要です。不注意はさまざまなバグを引き起こす可能性があります。
シナリオ1:タスクは共有リソースをロックしますが、実行中にクラッシュして、リソースにアクセスできなくなります。
シナリオ2:タスクがリソースをロックしますが、ネストされたビジネスロジックにより再度ロックされ、自身で待機するデッドロックが発生します。
メモリロックモデルはデッドロック、ライブロック、およびスターベーションなどの問題に起因しやすいです。
2.4.2 楽観的並列性
シナリオ7
銀行では、4人の窓口係はそれぞれが台帳に独立してアクセスし、取引中に修正する能力を持っています。他の窓口係が台帳を使用しているかどうかにかかわらずです。窓口係は台帳を使用する際、アクセスまたは修正するエントリに個人のラベルを適用します。取引を完了した後、再度エントリを確認します。もし自分のラベルでないラベルが見つかれば、他の窓口係によってエントリが修正されたことを示し、取引は無効になりもう一度処理しなければなりません。
これは楽観的並列処理の基本原則を示しています。楽観的並列処理の中心的な考え方は、最初にすべてのタスクが独立していると仮定することです。タスクは並行して実行され、その後、各タスクが検証されます。タスクの検証に失敗した場合、すべてのタスクが完了するまで、そのタスクは再実行されます。楽観的並列処理の方法で実行される8つの並列タスクがあり、2つの共有リソース、AとBにアクセスする必要があるとします。
Phase 1では、タスク1、2、および3が並行して実行されます。しかし、タスク2と3は共有リソースBに同時にアクセスするため、競合が発生し、その結果、タスク3は次のフェーズに再スケジュールされます。フェーズ2では、タスク3と4が両方ともリソースBにアクセスし、その結果、タスク4が再スケジュールされます。このようにして、競合に遭遇するタスクは繰り返し再実行されることがあります。
楽観的並列モデル
楽観的並列モデルは、各書き込まれた値とそのバージョン情報を記録するために、マルチバージョンインメモリデータ構造を使用します(銀行員が使用するラベルに類似)。
各並列タスクの実行は、実行と検証の2段階に分かれます。実行段階では、すべてのデータ読み取りおよび書き込みアクションが記録され、読み取りセットと書き込みセットが形成されます。検証段階では、読み取りセットと書き込みセットがマルチバージョンデータ構造と比較されます。比較によってデータが最新でないことが判明した場合、検証に失敗します。
楽観的並列モデルは、データベース分野のロックフリーなプログラミングメカニズムであるソフトウェアトランザクションメモリ(STM)から生まれたものです。ブロックチェーンネットワークはトランザクションの明確な順序を本質的に維持しているため、このコンセプトはブロック-STMメカニズムに導入され、進化してきました。AptosやMonadなどのブロックチェーンプラットフォームは、ブロック-STMを並列実行メカニズムとして採用しています。
Seiパブリックチェーンでは、次のv2バージョンで、オリジナルのメモリロックモデルを捨て、楽観的な並列処理モデルを採用する価値があると言えます。 Block-STMは非常に高速なペースでトランザクションを実行します。テスト環境では、Aptosは1秒あたり160kのトランザクション(tps)の実行速度を達成し、順次トランザクション処理よりも18倍速い速度です。
Block-STMは、複雑なトランザクションの実行と検証をコア開発チームに委任し、開発者がスマートコントラクトを直列実行環境でプログラムしているかのように簡単に書けるようにしています。
2.5 厳格な状態アクセスリスト
メッセージパッシングと共有メモリメカニズムは、ブロックチェーン上の各アカウントの残高情報を記録するアカウント/残高データモデルに基づいています。これは、銀行の元帳が顧客Aの残高が1,000単位であり、顧客Bの残高が600単位であることを示すのと同様です。取引は、単純にアカウントの残高状況を更新することで処理されます。
または、取引の詳細を取引時に記録し、取引元帳を作成することもできます。この元帳は口座残高を計算するために使用できます。例えば:
台帳を読み、計算することで、Customer A は900 単位の残高を持ち、Customer B は100 単位の残高を持っていることが判明します。
UTXO(未使用取引出力)は、この取引台帳データモデルに類似しています。これは、ビットコイン、第1世代のブロックチェーンにおけるデジタル通貨を示す方法を表しています。各取引には入力(資金の受け取り方法)と出力(資金の支出方法)があり、UTXOはまだ支出されていない資金の領収書として簡単に理解することができます。
たとえば、顧客Aが6 BTCを持っており、そのうち5.2 BTCを顧客Bに送金して0.8 BTCを残す場合、UTXOの観点からは次のように見えます。1 BTCごとに評価された6つのUTXOが破棄され、Bは5.2 BTCの新しいUTXOを受け取り、Aは0.8 BTCのお釣りとして新しいUTXOを受け取ります。したがって、6つのUTXOが破壊されて2つの新しいUTXOが作成されます。
トランザクションの入出力はリンクされており、デジタル署名を使用して所有権情報を記録し、これによりUTXOモデルが形成されます。このデータモデルを採用するブロックチェーンは、特定のアカウントアドレスのすべてのUTXOを合計して現在のアカウント残高を決定する必要があります。Strict State Access List(SSAL)はUTXOモデルに基づいており、並列実行を可能にします。それは各トランザクションがアクセスするアカウントアドレスを事前に計算し、アクセスリストを形成します。
アクセスリストには2つの目的があります:
内在的な視点から、何かの発展は通常、始まりから洗練に進み、人類のスピードへの探求は永遠です。ブロックチェーンネットワークにおける実行速度の問題に対処するために、オンチェーンおよびオフチェーンのさまざまなソリューションが登場しています。ロールアップなどのオフチェーンソリューションは、その価値が十分に認識されていますが、並列のEthereum Virtual Machines(EVM)の物語はまだ重要な探索の機会を提供しています。
歴史的に、SECによる現物ビットコインETFの承認と今後のビットコインのハーフィングイベント、さらに連邦準備制度による利下げの可能性が重なり、暗号通貨は重要なブルマーケットに突入すると予想されています。業界の堅調な成長には、より高いスループットを処理できるブロックチェーンネットワークインフラが堅固な基盤として必要とされています。
リソース管理の観点から、従来のブロックチェーンネットワークはトランザクションを直列処理します。これは直接的ですが効率的ではなく、プロセッサリソースを無駄にします。一方、並列ブロックチェーンは計算リソースを十分に活用し、マルチコアプロセッサの性能ポテンシャルを大幅に引き出すため、ブロックチェーンネットワーク全体の効率を向上させます。
業界の発展に関しては、さまざまな技術革新やビジネスモデルの革新が継続的に出現していますが、Web3の成長の潜在能力はほとんど開発されていません。中央集権型ネットワークは、秒間5万件のメッセージを処理し、340万通の電子メールを送信し、10万件のGoogle検索を完了し、数万人のプレーヤーを同時にオンラインでサポートできますが、これらは分散型ネットワークではまだ実現していません。分散型システムが競争し、自らの領域を確立するためには、並列実行機構の継続的最適化とトランザクションスループットの向上が不可欠です。
分散型アプリケーションの観点から、より多くのユーザーを引きつけるには、ユーザーエクスペリエンスの向上に大きな努力が必要です。パフォーマンスの最適化はユーザーエクスペリエンスを向上させるための重要な方向性の1つです。DeFiユーザーにとって、高速なトランザクション処理と低い手数料の要求を満たすことが重要です。GameFiユーザーにとっては、リアルタイムの相互作用が必要です。これらすべての要件は並列実行の堅牢性によってサポートされています。
「ブロックチェーントリレンマ」とは、分散化、セキュリティ、スケーラビリティのいずれか2つしか同時に満たすことができないという原則です。 「分散化」が動かない柱であるため、「スケーラビリティ」の向上は「セキュリティ」の低下を意味します。 コードは人間が書いているため、エラーが発生しやすいです。 並列コンピューティングによって導入された技術的複雑さは、潜在的なセキュリティの脆弱性の温床を提供します。
マルチスレッドプログラミングは、特に2つの主要な問題があるため、特に挑戦が多いです。まず、さまざまな複雑な並行制御操作の適切な処理不備により、競合状態に陥りやすい。次に、無効なメモリアドレスにアクセスすることによってクラッシュする可能性があり、これによって攻撃者によって悪用される可能性があるバッファオーバーフロー脆弱性につながることがあります。
少なくとも3つの観点から、プロジェクトのセキュリティを評価することができます:
1.チームの背景:システムプログラミングの経験豊富なチームは、マルチスレッドプログラミングに習熟しており、複雑な問題の80%を解決できます。システムプログラミングは一般的に以下の領域をカバーしています。
2.コードの保守性:保守可能なコードを書くには、明確な方法論に従う必要があります。たとえば、明確なアーキテクチャ設計を持つこと、デザインパターンを利用してコードの再利用性を実現すること、十分なユニットテストを書くためにテスト駆動開発の技術を活用すること、そして緻密なリファクタリングを通じて冗長なコードを排除することが含まれます。
3. 使用されるプログラミング言語:一部の最先端のプログラミング言語は、メモリの安全性と高い並行性に重点を置いて設計されています。コンパイラは、コードを並行的な問題や無効なメモリアドレスへのアクセスの可能性に対してチェックし、検出された場合はコンパイルエラーが発生し、開発者に堅牢なコードを書くように強制します。
この点で、Rust言語は模範的であり、そのため並行ブロックチェーンプロジェクトの大部分がRustで開発されていることがわかります。一部のプロジェクトでは、Rustの設計を借りて独自のスマートコントラクト言語を実装しています。たとえば、FuelのSway言語などがあります。
5.1.1 メモリーロックから楽観的並列性へ
Seiは2022年に設立されたオープンソース技術に基づく汎用のパブリックブロックチェーンです。創設者はカリフォルニア大学バークレー校の卒業生であり、他のチームメンバーも名門大学出身です。
Seiは3つのラウンドで資金調達を受けています:500万ドルのシードラウンド、3000万ドルの最初の戦略的資金調達ラウンド、金額が開示されていない第2の戦略的資金調達ラウンド。 Seiネットワークはまた、エコシステム開発を支援するために合計1億ドルの資金を調達しました。
2023年8月、Seiはメインネットでローンチし、秒間12,500件の取引を処理できると主張し、たった380ミリ秒で最終性を達成するとしています。現在、約22億ドルの時価総額を持っています。
現在、Seiエコシステムは主にDeFi、インフラ、NFT、ゲーム、およびウォレットに焦点を当てた118のプロジェクトで構成されています。コミュニティには現在、Twitterで65万人、Discordで60万人、Telegramで4万人のメンバーがいます。
2023年11月末、Seiは公式ブログで、2024年上半期のメインネットのローンチ以来最大のバージョンアップグレードを開始することを発表しました:Sei v2。Sei v2は最初の並列EVMブロックチェーンとして謳われています。このバージョンアップグレードにより、以下の新機能が導入されます:
元々、Sei Networkのトランザクションの並行実行はメモリロックモデルに基づいていました。実行の前に、保留中のトランザクション間のすべての依存関係が解決され、DAGが生成されました。その後、DAGに基づいてトランザクションの実行順序が正確に配置されました。この方法は、契約開発者に精神的負担を増やしました。なぜなら、開発中にロジックをコードに組み込まなければならなかったからです。
上記の技術原則セクションで紹介されているように、新バージョンで楽観的並列化が採用されることにより、開発者は、スマートコントラクトを順次実行されるプログラムを書くかのように書くことができます。スケジューリング、実行、およびトランザクションの検証などの複雑なメカニズムは、基盤となるモジュールによって処理されます。コアチームの最適化提案設計により、事前に依存関係を事前に埋めることで、並列実行能力がさらに向上しました。
具体的には、実行前にトランザクションの書き込み操作を分析し、それらをマルチバージョンメモリデータ構造に事前に埋め込む動的依存性ジェネレーターを導入することが含まれます。これにより、潜在的なデータ競合を最適化します。分析の結果、コアチームは、このような最適化メカニズムがトランザクション処理の最良のケースでは有利でないことがわかりましたが、最悪のケースでは実行効率が大幅に向上すると結論付けました。
5.1.2 L1トラックの潜在的なディスラプター:Monad
上記で言及されたパブリックブロックチェーンの開発を見逃した場合は、間違いなくL1トラックでの潜在的な破壊者であるMonadを見逃すべきではありません。
Monadは2022年にJump Cryptoのシニアエンジニア2人によって設立されました。プロジェクトは2023年2月に1900万ドルのシード資金調達ラウンドを完了しました。2024年3月、ParadigmはMonadのために2億ドル以上の資金調達ラウンドの交渉を主導しました。成功すれば、これは今年の初め以来の最大の仮想通貨資金調達となります。
プロジェクトはすでに内部テストネットの立ち上げのマイルストーンを達成し、次の段階としてパブリックテストネットを開設する方向で作業しています。
Monadは2つの顕著な理由で資本に大いに支持されています。1つはその堅実な技術的背景であり、もう1つはマーケティング・ハイプの熟練度です。Monad Labsの中核チームは30人のメンバーで構成されており、すべてのメンバーが高頻度取引、カーネルドライバー、金融技術の長年の深い経験、および分散システムの幅広い開発経験を持っています。
プロジェクトの日常業務は非常に「地に足のついた」ものでもあります:Twitterの20万人のフォロワーやDiscordの15万人のメンバーと継続的に「魔法のマーケティング」に取り組んでいます。例えば、毎週ミームコンテストを開催したり、コミュニティから様々な風変わりな紫色の動物の絵文字や動画を収集して、「精神的な普及活動」を行ったりします。
Monadのビジョンは、開発者向けのスマートコントラクトプラットフォームとなり、Ethereumエコシステムに極端なパフォーマンス向上をもたらすことです。MonadはEthereum仮想マシンに2つのメカニズムを導入しています:1つはスーパースカラーパイプライン処理、もう1つは改良された楽観的並列メカニズムです。
スーパースカラーパイプライン処理は取引の実行フェーズを並列化します。公式文書で示されている説明的な例は、洗濯物を洗うことであり、これはブロックチェーンが取引を処理する方法に似ており、複数の段階で完了します。従来の方法は、次の山に進む前に、洗濯、乾燥、折りたたみ、収納の各山の汚れた衣類を処理します。
スーパースカラーパイプライン処理は、一方で、最初の山が乾いている間に第2の山を洗い始めます。 最初の山を折りたたんでいる間に、第2の山と第3の山はそれぞれ乾燥しているため、各段階をアクティブに保ちます。
楽観的並列メカニズムはトランザクションの実行を並列化します。Monadは楽観的並列性を使用して並列実行を行います。また、トランザクション間の依存関係を予測するために独自の静的コードアナライザを開発し、前提となる依存トランザクションの実行後にのみ後続のトランザクションをスケジューリングします。これにより、失敗した検証によるトランザクションの再実行を大幅に削減します。
現在、その性能は10,000 TPSに達し、1秒以内でブロックを生成することができます。プロジェクトが進行するにつれて、コアチームはさらなる最適化メカニズムを探求し続けます。
5.1.3 高度に分散化されたL1プロジェクト:Canto
2022年に設立されたCantoは、Cosmos SDK上に構築された非常に分散型のL1プロジェクトです。公式の基金を持たず、プリセールには関与せず、どんな組織にも所属せず、資金調達も求めず、完全にコミュニティによって運営されています。さらに、コアチームさえも匿名であり、緩く組織された方法で活動しています。
EVMに対応した一般的なブロックチェーンであるが、Cantoの主なビジョンは、アクセス可能で透明で分散化され、無料のDeFiバリュープラットフォームとなることである。セクターに対する包括的な調査の結果、健全なDeFiエコシステムには3つの基本的な要素が含まれることが分かった。
ただし、従来のDeFiエコシステムは最終的に共通の運命を共有します:彼らはガバナンスプロトコルトークンを発行し、その価値は将来のユーザーからどれだけの使用料を抽出できるかに依存します。抽出量が多いほど、価値は高くなります。これは、各DeFiプロトコルが時間ごとに料金を請求する私有の駐車場であるというのに似ています。使用されるほど、その評価は高くなります。
Cantoは別のアプローチを取っています: DeFi(Free Public Infrastructure)のための無料の公共インフラを構築します。その生態系プロジェクトのための無料の駐車場として自分自身を作ります。
インフラストラクチャは、分散型取引所Canto DEX、Compound v2からフォークされたプール型貸出プラットフォームCanto Lending Market(CLM)、CLMから担保資産を通じて貸し出すことができる安定通貨NOTEの3つのプロトコルで構成されています。
Cantoは新しいアプローチを採用しています: DeFiをターゲットとした無料の公共インフラを構築し、エコシステムプロジェクトが無料で利用できる無料の駐車場として位置付けています。
インフラストラクチャは、分散型取引所Canto DEX、Compound v2からフォークされたプール型貸出プラットフォームCanto Lending Market(CLM)、CLMから担保資産を使って借入可能なステーブルコインNOTEの3つのプロトコルで構成されています。
Canto DEXは、非アップグレード可能でガバナンスフリーなプロトコルとして永続的に運営されています。自身のトークンを発行せず、追加料金を請求しません。この設計により、エコシステムのDeFiアプリケーション内でのさまざまな家賃収奪行為を防ぎ、捕食的なゼロサムゲームを回避しています。
貸出プラットフォームCLMのガバナンスは、エコシステムの成長を完全に受け入れ、それによって開発者やDeFiユーザーにとって最良の環境を作り出すステークホルダーによって制御されており、それにより、彼らは継続的に貢献することを促されます。NOTEで発行されたローンから生じる利息は、プロトコルが一切カットを取らない形で借り手に支払われます。
開発者向けに、Cantoは契約保証収益モデルを導入しました。このモデルは、契約とのオンチェーン相互作用から生じる手数料の一定割合を開発者に割り当てます。Cantoによるこの一連のビジネスモデル革新は、「一石三鳥」と呼ばれ、オープンで無料の金融インフラを提供することで建設的で繁栄するエコシステムを育んでいます。
さまざまな手段により、カントはエコシステム開発者やユーザーが参加し、エコシステムを継続的に豊かにするようインセンティブを与えます。 カントは「鋳造権」を厳密に制御することで、さまざまな分散型アプリケーション間でのクロスアプリケーション流動性の可能性を創出します。 エコシステムが繁栄するにつれて、そのトークンの価値が向上します。 CSR提案が2024年1月26日にコミュニティ投票で承認された後、$CANTO トークンは価格急上昇を経験しました。
これらの一連のビジネスモデル革新に続いて、2024年3月18日、Cantoは公式ブログで最新の技術的なイテレーションを発表しました。
Cosmos SDKの新しいバージョンを採用し、ストレージアクセスのボトルネックを減らす新しい技術を統合するだけでなく、Cantoは並列EVMにもアップグレードします:サイクロンEVMの実装を通じて楽観的並列化を導入します。
Cantoで使用されるCosmos SDKは、取引処理を提案、投票、最終決定の3つの段階に分割します。投票中のProcessProposalサブプロセスは、取引の並列実行を担当します。並列実行エンジンが実行を処理し、競合検出エンジンが取引の妥当性を検証します。
トランザクションが無効な場合、再実行のために実行エンジンに戻されます。有効な場合は、後続の処理フローにコミットされます。今回の技術的なアップグレードにより、Cantoのトークンがさらに注目されると信じられています。
Fuel、仮想マシンFuelVM、Rustに触発された契約開発言語Sway、およびそれに関連するツールチェーンから構成される燃料は、カスタムビルトのモジュラーな「Ethereumロールアップオペレーティングシステム」です。 Fuelプロジェクトは2019年に設立され、2020年12月にFuel LabsはEthereum上で最初の楽観的ロールアップ実行レイヤー、Fuel v1を開始しました。 3年以上の開発の末、プロジェクトはついに2024年第3四半期にメインネットを開始する予定です。
Fuelは2021年と2022年にそれぞれ150万ドルと8000万ドルの資金調達ラウンドを完了しました。コアチームは60人以上のエンジニアで構成されており、創設者のJohn Adlerはデータ可用性ソリューションであるCelestia Labsの共同創設者であり、楽観的なロールアップ手法の早期支持者の1人でもあります。運営面では、プロジェクトはTwitterで27万人、Discordで39万人のメンバーを有しています。
ブロックチェーン上でトランザクションを一つずつ実行すると、ガス料金が発生し、貴重なブロックスペースを競い合うことになります。これは遅いです。当然、バッチ処理などのさまざまなスケーリングソリューションが思い浮かびます。その後、チェーン上で一緒にパッケージ化され、決済されるトランザクションのバッチ処理により、実行を高速化します。
ロールアップは、L1の外側で動作し、オフチェーンでバッチ処理でトランザクションを実行し、その後トランザクションデータまたは実行証明をL1に送信するスケーリングソリューションです。これにより、DAレイヤを介したセキュリティが確保され、取引が解決されます。ロールアップには、楽観的およびゼロ知識(ZK)の2つの主要なタイプがあります。
オプティミスティック・ロールアップは、トランザクションが有効であると仮定し、L1で検出された際に悪意のあるまたは不正確なトランザクションを元に戻すための不正証明を生成します。 ZKロールアップは、トランザクションの詳細を公開せずに複雑な計算を通じてトランザクションの有効性の証明を生成し、それをL1に公開して、ロールアップがトランザクションを正しく実行したことを示します。したがって、ロールアップはブロックチェーン実行層技術です。
ロールアップはトランザクションの実行を高速化しますが、ほとんどの既存の実装はモノリシックなブロックチェーン向けに設計されています。開発者は技術的にさまざまな妥協をしなければならず、それがロールアップの完全なパフォーマンスを制限しています。モジュラーブロックチェーンへの新しいトレンドに伴い、業界には適したロールアップソリューションがありませんでした。Fuelはこのギャップを埋めるために作成されました。
FuelはUTXOデータモデルを使用しており、このモデルは取引のアウトプットが二つの状態のみを持つという利点があります。つまり、すでに支払済みでブロックの取引履歴に永続的に記録された状態か、未支払いで将来の取引に利用可能な状態のどちらかです。これにより、チェーン内の各ノードに格納される状態データを最小限に抑えることができます。Fuelは、各取引によってアクセスされるアカウント情報を実行前にチェックし、依存関係を特定し、依存関係のない取引を並行して実行するようスケジュールします。これにより、取引処理のスループットが向上します。
L2ソリューションには共通の特徴があります: 2種類の仮想マシンの機能を組み合わせてトランザクション実行のスピードを向上させます。具体的には、並列L1を使用してトランザクションを実行しながら、他のチェーンとの互換性を維持します(デュアル仮想マシンサポート)。ただし、異なるプロジェクトが採用する互換性メカニズムは異なります。この点で、Neon、Eclipse、Lumioが特に代表的です。
Neonは、Solanaエコシステムで最初の並列EVMプロジェクトであると主張し、開発者がイーサリアムエコシステムプロジェクトをシームレスにSolanaエコシステムに移行できるようにしています。Eclipseは、EVMに対応したSolanaエコシステム内の別のプロトコルであり、モジュラーなアーキテクチャで構築されています。これら3つのプロジェクトの中で、Neonだけが独自のトークンを発行しており、流通市場価値は7800万ドルを超えています。
他の2つのプロジェクトはまだ比較的初期段階にあります。LumioはAptosとEthereumを組み合わせて楽観的なロールアップL2プロトコルを作成し、Move VMのスピードでEthereumアプリケーションを効率的に実行します。
資金調達に関して、Neonは2021年11月に4000万ドル、2023年6月に500万ドル、合計4500万ドルの資金調達を完了しました。Eclipseは2022年8月に600万ドル、2022年9月に900万ドル、2024年3月に5000万ドル、合計6500万ドルの資金調達を完了しました。Lumioはまだ資金を調達していません。
これらの3つのプロジェクトのいずれも、まだ大規模なアプリケーションエコシステムを形成していませんが、主要なソーシャルメディアプラットフォームで何万人ものフォロワーやメンバーを持っており、重要なコミュニティ活動を示しています。
メカニズムの観点から、NeonはSolanaネットワーク上で実行されるEVMエミュレータであり、スマートコントラクトとして動作します。開発者は、SolidityやVyperなどの言語を使用してdAppアプリケーションを記述し、MetaMask、Hardhat、RemixなどのEthereumツールチェーンや互換性のあるEthereum RPC API、アカウント、署名、およびトークン規格を利用できます。一方、Solanaがもたらす低い手数料、高速なトランザクション実行速度、並列処理能力の利点を享受することができます。
Ethereumのトランザクションは、EthereumのdAppフロントエンドから送信され、プロキシによってSolanaのトランザクションに変換され、その後エミュレータで実行され、チェーンの状態が変更されます。これは、PCでよく使われるゲームエミュレータのようなもので、SwitchやPlayStationなどのコンソールからの専用ゲームをデスクトップコンピュータでプレイできるようにします。Neonは、Ethereumの開発者がSolanaネットワーク上でEthereumアプリケーションを実行できるようにします。
Eclipseは異なる実装アプローチを採用しています:SVMを介してトランザクションを実行し、EVMを介してトランザクションを決済します。Eclipseはモジュラーブロックチェーンアーキテクチャを利用し、トランザクション実行のみを処理し、他の責任を外部委託し、モジュラーな組み合わせを通じて統一されたソリューションを形成しています。
例えば、それはデータの利用可能性を管理するためにCelestiaを使用し、取引の実行と決済のためにEthereumを使用します。EclipseはSVMを通じて実行速度を確保し、Ethereumの検証と決済を通じてセキュリティを確保します。
Lumioは、実行と決済レイヤーに独立した設計思想を採用し、さまざまな仮想マシンをサポートし、Ethereum、Aptos、Optimism、Avalanche、zkSyncなどの複数のL1/L2ネットワークと互換性があります。Move VMを介して取引を実行し、EVMを介して決済を行うことで、EthereumとAptosのエコシステムをつなぎます。
ただし、Lumioの野望はそこで止まりません。そのビジョンは、最高の速度と最低料金でマルチブロックチェーン流動性接続を実現するために、クロス仮想マシン呼び出しを提供することです。
上記は、次の図に示すように、現在並行しているEVMナラティブに関連する主要プロジェクトです。
人々はしばしばBitcoinを「分散台帳」に、Ethereumを「分散状態機械」になぞらえることがあります。ブロックチェーンネットワークを運用するすべてのノードを一つのコンピュータと考えると、並列ブロックチェーンは基本的にこの「コンピュータ」の処理リソースの利用を最大化して最速の実行スピードを実現するかを研究しています。
これは、コンピューティング技術の歴史における避けられない進化であり、シングルコアからマルチコアプロセッサへの発展、単一ユーザーシングルスレッドからマルチユーザーマルチスレッディングへのオペレーティングシステムの進化と同様です。これは、産業の継続的な発展に重要な意味を持ちます。
並列EVMの技術原則は、仮想マシンと並列実行メカニズムの2つのコンポーネントに分解できます。ブロックチェーンの文脈では、仮想マシンは、契約の分散実行とdAppsの実行に関する一連の命令を統合します。並列実行メカニズムは、主に取引の実行速度を最大化しながら取引結果の正確性を確保することに焦点を当てています。
一方、並列EVMは共通の技術原則を共有しています。まず、楽観的並列化モデルはL1パブリックブロックチェーンのコンセンサスです。しかし、これはメモリロックモデルが無意味であることを意味するものではありません。技術的な優越性は存在せず、開発者のスキルレベルが異なるだけです。
第二に、Fuelのようなプロジェクトは、オフチェーンのスケーリングメカニズムは、モジュラリゼーションを経て初めて最大のパフォーマンスを発揮できると強く信じています。最後に、多くのL2プロジェクトは、並行するL1パブリックブロックチェーンと統合することで、トランザクションのスループットを向上させ、クロスエコシステムのスケーリング機能を実現しようとしています。
一方、並行ブロックチェーンは独自の技術的成果を持っています。同じ並行実行モデルを採用していても、異なるチームは異なるアーキテクチャ設計パターン、データモデル、または前処理メカニズムを実装しています。技術的な探求は終わりがなく、異なるプロジェクトは異なるビジョンに基づいて異なる技術を開発し、実践をより高いレベルに推進しています。
展望として、さらに多くのL1およびL2プロジェクトが並行EVMに参加するでしょう。L1トラックでは、プロセッサリソース、ストレージリソース、ネットワークリソース、ファイルシステムリソース、およびデバイスリソースにおいて、並行EVMキャンプと非EVMキャンプの包括的な競争が展開されます。この競争は、パフォーマンス向上に関連する新たな物語も生み出すでしょう。一方、L2トラックは、ブロックチェーン仮想マシンシミュレーターまたはモジュラーブロックチェーンに向けて進化していくことでしょう。
将来、インフラ最適化により、より高速なスピード、低コスト、およびより高い効率がもたらされるでしょう。Web3の起業家は、大胆にビジネスモデルを革新し、より優れた分散型製品体験を世界中に創造することができます。これにより、業界エコシステムがさらに繁栄します。Web3の投資家にとって、技術に焦点を当てるだけでは不十分です。
投資対象を選択する際、投資家は「良い物語」、「低い時価総額」、「高い流動性」を持つプロジェクトを選択するべきです。その後、ビジネス、チームのバックグラウンド、経済モデル、マーケティング、エコロジカルプロジェクトに深く入り込むことで、潜在的なプロジェクトを明らかにし、適切な投資チャンネルを見つけるべきです。
並列EVMは、Neon、Monad、Canto、Eclipse、Fuel、およびLumioなどのプロジェクトが開発の初期段階にあり、その価値が完全に実現されていない段階にあります。特に、Monad、Canto、およびFuel。
Monadのマーケティングスタイルは、単独でも注目に値しますが、そのエコシステム内のミームプロジェクトも注目に値します。これにより、ハイプによって駆動される一夜で大金持ちになる物語が生まれる可能性があります。カントは「良い物語」および「低い市場評価」という条件を満たしていますが、それが良い投資対象であるかどうかは、さまざまな指標を徹底的に調査する必要があります。Fuelはモジュラーブロックチェーンの開発における人気のある方向性を表しており、新たな投資機会を生み出す可能性もあります。これらすべては私たちの注意を引くに値する方向性です。
この記事は、から再生されましたGryphsis Academy)、元のタイトルは「並列EVMの一万語解釈: ブロックチェーンのパフォーマンスボトルネックを突破する方法?」であり、著作権は元の著者に帰属します[@leesper6], if you have any objection to the reprint, please contact Gate Learn Teamチームは関連手続きに従ってできるだけ早く対応します。
免責事項:この記事で表現されている意見や見解は、著者個人の意見を表しており、投資アドバイスを構成するものではありません。
他の言語バージョンはGate Learnチームによって翻訳され、言及されていませんGate翻訳された記事の無断転載、配布、または盗用は禁止されています。