
なぜ並列化が次世代のブロックチェーン解決策となるのか?
TechFlow厳選深潮セレクト

なぜ並列化が次世代のブロックチェーン解決策となるのか?
コンピュータの歴史が示しているのは、時間の経過とともに並列システムは逐次システムよりも効率的でスケーラブルになりやすいということである。
執筆:Paul Timofeev、Mike Jin、Gabe Tramble
翻訳:Chris,Techub News
ブロックチェーンは仮想マシンであり、誰でも参加できるが単一の実体による支配が極めて困難な分散型物理コンピュータネットワーク上で動作する、ソフトウェアベースの計算モデルである。ブロックチェーンという概念は、もともと中本聡が2008年に発表したビットコインのホワイトペーパーの中で、暗号セキュリティを備えたP2P決済を支える基盤インフラとして提案されたものだ。ブロックチェーンにとってトランザクション(取引)とは、ソーシャルメディアやインターネット企業におけるログのようなものであり、特定のネットワーク活動を記録する。重要な違いは、ブロックチェーン上の取引は改ざん不可能であり、通常は公開して照会可能である点にある。
取引とは何か
ブロックチェーン上の取引とは、デジタル資産を分散台帳上の一つのアドレスから別のアドレスへ移動させる行為であり、このプロセスは公開鍵暗号技術によって保護されている。取引は非中央集権的なP2P送金に利用されるだけでなく、さまざまな認証および検証プロセスにも応用される。

SeiTraceなどのブロックチェーンエクスプローラ上で誰もが確認可能な取引の例
ブロックチェーン取引の仕組み
ボブがアリスにトークンを送信する場合、その操作は即座にブロックチェーンネットワーク全体に通知される。この過程で、ネットワーク内の特定ノード(バリデータノード)が動き出し、取引の有効性を検証する。十分な数のノードが正常であることを確認すると、その取引は新しいブロックに記録され、他のユーザーの取引と共にパッケージ化される。ブロックが満たされると、永久的にブロックチェーンに追加され、これが「ブロックチェーン」という名称の由来となる。こうして、ボブとアリスはこの永続的で公開された台帳上で自分の取引履歴を確認できる。
ブロックチェーンでは、各取引にはメタデータが付随しており、ネットワーク内のノードが特定の命令やパラメータを識別・実行するのに役立つ。取引には通常、送金額、受信アドレス、取引の正当性を証明するデジタル署名といった高レベルデータのほか、ネットワーク設計に応じて自動生成される低レベルデータも含まれる。
これらのプロセスは一般的に共通しているが、具体的な実装内容は使用するブロックチェーンアーキテクチャによって異なる。
例えば、イーサリアムなどの従来型ブロックチェーンでは、「mempool(メモリプール)」と呼ばれる仕組みが存在する。mempool は、まだブロックに取り込まれていない取引を一時的に保存するためのバッファ領域、つまり「待機エリア」である。
以下は、mempool を採用するブロックチェーンにおける取引の一般的なライフサイクルである:
-
ユーザーが取引を開始し、署名を行う。
-
ブロックチェーンネットワークのバリデータノードが、取引の有効性をチェックし、パラメータが正しいことを確認する。
-
検証が完了すると、取引は公共のmempoolに入り、他の保留中の取引とともに次のブロックへのパッケージ化を待つ。
-
ガス料金の高さに基づき、mempool内の他の取引と比較して優先順位が決定され、最終的に次のブロックに取り込まれる取引が選ばれる。取り込まれた時点で、取引のステータスは「成功」となる。
-
一定時間経過または特定のブロック生成しきい値に達すると、ブロックは最終確定され、取引はブロックチェーン上に永久に記録される。51%攻撃などの極端なケースを除き、情報は変更不可となる。
mempoolなし(Solana)
これとは対照的に、Solanaのような一部のブロックチェーンプラットフォームはmempoolを使用せず、取引を直接ブロック生成者に送信する。これは、連続的にブロックを生成することで処理速度とスループットを向上させることを目的としている。


次に、mempoolを用いないブロックチェーンにおける取引のライフサイクルを見てみよう:
-
ユーザーがアプリケーションの使用中に取引を開始し、署名を行う。
-
アプリケーションが取引情報をRPC(リモートプロシージャコール)サーバーにルーティングする。
-
RPCプロバイダーが取引を現在指定されたブロック生成者と、その後継ぎの3人の生成者に送信する。これは最初の生成者が取引を適時に実行できない場合に備えた予防措置である。
-
ブロック生成者は署名済み取引をコンセンサスノードに送り、検証を依頼する。
-
コンセンサスノードが取引内容の検証に投票し、完了後、ステータスはRPC→アプリケーション→ユーザーの順に返され、「成功」または「失敗」と表示される。
-
mempoolベースのブロックチェーンと同様に、ブロック自体も一定時間またはブロックしきい値に基づいて最終確定される。
逐次実行
ビットコインやイーサリアムなど初期のブロックチェーンは、取引に対して逐次実行方式を採用している。ブロックチェーンに追加される各取引はネットワーク状態の変化を引き起こし、セキュリティの観点から、仮想マシン構造は一度に一つの状態変化しか処理しない。

これにより、ブロックに追加可能な取引数が制限され、ネットワークのスループットに顕著なボトルネックが生じる。結果として待ち時間が長くなり、取引コストが急騰し、時にはネットワークが利用不能になることもある。さらに、逐次実行モデルはハードウェア資源(例えばマルチプロセッサコア)を非常に非効率に利用するため、計算技術の飛躍的進展の恩恵を受けられない。

並列実行
並列計算は1950年代後半に起源を持つコンピュータアーキテクチャの主要技術であり、その背後にある理論的アイデアは1837年まで遡ることができる。この技術は複数の処理ユニットが同時に作業を行い、大きな複雑なタスクを小さな部分に分割することで、従来の逐次処理よりも効率的に問題を解決する。
当初は主に高性能計算システムに使用されていたが、インターネット時代の到来や計算需要の指数的増加、そしてここ数十年間のプロセッサ速度向上の物理的限界により、並列計算は現代コンピュータアーキテクチャの主流となっている。
ブロックチェーン技術においても、この並列処理方式が採用されており、複数の取引やスマートコントラクト間の価値移転を同時に処理するために使われており、「並列実行」と呼ばれている。
並列実行の概念により、ブロックチェーンは互いに競合しない複数の取引を同時に処理でき、ネットワークのスループットが大幅に向上し、拡張性が強化される。これにより、より高いアクティビティ量や大規模ブロックの要求にも効果的に対応できるようになる。
これを簡単な比喩で説明しよう。スーパーマーケットに複数のレジがある場合と、一つしかない場合を想像してほしい。明らかに前者の方が効率的であり、顧客満足度も高くなる。このような並列処理により、全体の処理効率とユーザーエクスペリエンスが向上する。
なぜ並列実行が重要なのか
ブロックチェーン技術において並列実行を導入する主な目的は、高トラフィックや大量のリソース要求に対してもネットワークの処理速度と全体的なパフォーマンスを向上させることにある。例えば、暗号資産エコシステム内で、ボブが最新の人気NFTシリーズを作成しようとしている一方で、アリスが好きなミームコインを購入したい場合、ブロックチェーンネットワークは両方の操作を同時に処理でき、パフォーマンスやユーザーエクスペリエンスを犠牲にすることなく対応できる。
この能力は一見すると単なるユーザーエクスペリエンスの改善に思えるかもしれないが、実際にはネットワーク効率の向上を通じて、新たな革新的アプリケーションやユースケースの開発を可能にする。これらのアプリケーションは低遅延と高処理能力を活用でき、より多くのユーザー層を暗号資産エコシステムに取り込む基盤となり、暗号技術の広範な普及への転換を示唆している。
並列実行の仕組み
並列実行の前提は比較的単純だが、基盤となるブロックチェーン設計の微妙な差異が並列実行プロセス自体の挙動に影響を与える。並列実行を備えたブロックチェーン設計において最も関連性が高い機能は、取引がアカウント残高、ストレージ、スマートコントラクトなど、ネットワークの基礎的な状態にアクセスできる能力である。
ブロックチェーンの並列実行は通常、二つのタイプに分けられる:「決定論的並列実行」と「楽観的並列実行」。Solanaが採用する決定論的並列実行では、取引が実行前にすべてのメモリ依存関係(すなわちアクセスが必要なグローバル状態の特定部分)を明示的に宣言する必要がある。この方法は開発者に負担をかけるものの、ネットワークが実行前に競合しない取引を並べ替え・識別できるため、予測可能で効率の高いシステムを構築できる。一方、楽観的並列実行はすべての取引が競合せずに進行すると仮定する。この構造は取引処理速度を加速できるが、衝突が発生した場合は再実行が必要になる可能性がある。二つの競合する取引(同一ネットワーク状態にアクセスしようとする取引)が発見された場合、システムはそれらの取引を並列または逐次的に再処理する選択肢を持つ。
こうした設計の影響を深く理解するには、現在並列実行の最前線を推進しているチームの視点から分析することが有効である。
現在の並列実行市場の地図

Solana仮想マシン(SVM)
Solanaは、並列実行を中心に設計された最初のブロックチェーンネットワークであり、創設者Anatoly Yakovenkoの通信業界での経験がそのインスピレーションとなった。Solanaは可能な限り高速に動作する開発プラットフォームを目指しており、並列計算のスピードと効率は直感的な設計選択であった。

Solanaの高速性と高スループットを実現する鍵となるコンポーネントは、Sealevelである。これはネットワークの並列スマートコントラクトランタイム環境であり、EVMやWASMベースの環境とは異なり、マルチスレッドアーキテクチャを採用しているため、バリデータのコア性能の範囲内で複数の取引を同時処理できる。
Solanaの並列実行の核心は、取引が有効化される際に、ネットワークがその取引に一連の実行命令(どのアカウントと状態にアクセスし、どのような変更を行うか)を割り当てることにある。これにより、競合しない取引を特定し、同時に実行できるようにする。また、同じ状態にアクセスしようとする取引も同時に処理できるようにする。
Solanaはまた、Cloudbreakと呼ばれる独自のaccountsDBを活用して、状態データの格納と管理を行い、取引の並列読み書きをサポートしている。Cloudbreakは並列実行向けに最適化されており、複数のノードにわたって状態データを分散・管理できるよう水平方向にスケーリング可能である。
その並列アーキテクチャのおかげで、Solanaは多数の取引を処理しながらも高速に実行し、ほぼ即時の最終性を提供できる。現在、Solanaは平均して毎秒2,000〜10,000件の取引(TPS)を処理している。さらに、EclipseのようなチームがSVMを実行環境として利用するLayer 2インフラを立ち上げることで、SVMのユースケースは緩やかにだが着実に拡大している。
並列EVM
並列EVMとは、Solanaとイーサリアムの設計の「両方の利点」を組み合わせようとする新しいブロックチェーン実行環境を指す。すなわち、Solanaのスピードと性能、およびイーサリアムのセキュリティと流動性を兼ね備えるものである。伝統的なEVM設計のように逐次的にではなく並列的に取引を処理することで、開発者は高性能ネットワーク上でアプリケーションを構築しつつ、EVMの流動性や開発者ツールとの接続性を活用できるようになる。
Sei Network
Sei Networkは、EVM互換のオープンソースLayer1ブロックチェーンであり、高性能を重視した多様な分散型アプリケーションをサポートしている。Seiはユーザーと開発者に高速性と低コストを提供することを目指しており、並列実行はそのパフォーマンスとユーザーエクスペリエンスの鍵となる要素である。現在、Seiは390ミリ秒のブロック確定時間を提供しており、Pacificメインネットで19億件以上の取引を処理している。
当初、Seiは決定論的並列実行モデルを採用し、スマートコントラクトが事前に必要な状態アクセスを宣言することで、システムが競合しない取引を同時に実行できるようにしていた。V2アップグレードの導入に伴い、Seiは楽観的並列モデルへ移行している。つまり、ネットワークに提出されたすべての取引は実行段階で並列処理され、その後の検証段階で以前の取引との競合がチェックされる。二つ以上の競合取引(同じネットワーク状態にアクセスしようとする取引)が発見された場合、Seiはその競合ポイントを特定し、競合の性質に応じて並列または逐次的に再実行を行う。

取引データの保存と維持のために、SeiはSeiDBと呼ばれるカスタムデータベースを導入する。これは並列実行を最適化し、v1版の課題を改善することを目的としている。SeiDBは重複データのストレージオーバーヘッドを削減し、効率的なディスク使用率を維持することでネットワークパフォーマンスを向上させる。V2では必要なメタデータ量が削減され、クラッシュ時のデータ復旧を支援するプリライトログも有効化されている。

最後に、Seiは最近、Parallel Stackのリリースも発表した。これはLayer 2スケーリングソリューション(例:rollup)が並列実行を利用・受益できるようにするオープンソースフレームワークである。

Monad
Monadは、まもなく登場する並列EVM Layer 1ブロックチェーンであり、イーサリアムのアプリケーションおよびインフラに完全なバイトコードおよびRPC互換性を提供する。いくつかの革新的な技術により、Monadは低い取引コストを維持しつつ、性能と移植性を最適化することで、既存のブロックチェーンよりもインタラクティブな体験を提供することを目指している。1秒のブロック時間と最大10,000 TPSの確定性を実現する予定だ。
Monadは並列実行とスーパースカラーパイプライン技術を実装し、取引の速度とスループットを最適化している。Sei v2と同様、Monadは楽観的実行モデルを採用する。つまり、ネットワークはすべての着信取引を同時に実行し始め、その後衝突を分析・検証し、必要に応じて再実行する。最終的な目標は、取引を逐次的に実行した場合と同じ結果になることである。

なお、イーサリアムとの同期を保ちつつ、Monadはブロック内の取引を線形順序で並べ替え、各取引を逐次的に更新する。
現在のイーサリアムクライアントが提供する状態よりも効率的にブロックチェーンデータを保持・アクセスするために、Monadは独自のカスタムMonadDBを開発した。これはブロックチェーン向けに構築されたデータベースであり、高度なLinuxカーネル機能を活用して効率的な非同期ディスク操作を実現し、同期I/Oアクセスの制限を排除している。MonadDBは非同期I/O(async I/O)アクセスを提供しており、これは並列実行の鍵となる特性である。つまり、前の取引の状態を読み出している間にも、次の取引の処理を開始できる。
簡単な比喩として、多工程の料理(例えばミートボールパスタ)を考えてみよう。手順は1)ソースの準備、2)ミートボールの調理、3)パスタの茹で上げである。効率的なシェフは、まずパスタを茹でるお湯を沸かし、次にソースの材料を準備し、沸騰したお湯でパスタを茹でながらソースを調理し、最後にミートボールを調理する。これは一つずつ順番に、前の作業が終わるたびに次の作業に進むのではなく、並列に作業を進める。
Move
Moveは2019年にFacebookのチームが、後に中止されたDiemプロジェクト向けに開発したプログラミング言語である。Moveは他の言語に内在するリエントランシー攻撃などの脆弱性を排除し、安全な方法でスマートコントラクトと取引データを扱うことを目的としている。
MoveVMはMoveベースのブロックチェーンのネイティブ実行環境として、並列化を活用してより高速な取引実行と高い全体効率を提供する。
Aptos
Aptosは元Diemプロジェクトのメンバーが開発した、MoveベースのLayer1ブロックチェーンであり、並列実行によりアプリケーション開発者に高性能な環境を提供している。AptosはBlock-STMと呼ばれる、ソフトウェアトランザクションメモリ(STM)の並行制御機構の改良版を採用している。

Block-STMはマルチスレッド並列実行エンジンであり、楽観的並列実行を可能にする。取引はブロック内で事前に並べ替えられ、戦略的に順序付けられることで、競合の解決と再実行が効果的に行われる。Aptosの研究によると、Block-STMによる並列化は理論上最大160,000 TPSをサポートできる。
Sui
Aptosと同様、Suiも元Diemプロジェクトのメンバーが開発したLayer 1ブロックチェーンであり、Move言語を使用している。しかし、SuiはオリジナルのDiem設計からストレージモデルと資産権限を変更したカスタムMove実装を採用している。特に、これによりSuiは状態ストレージモデルを使って独立した取引をオブジェクトとして表現できる。各オブジェクトはSuiの実行環境内で一意のIDを持ち、システムが競合しない取引を簡単に識別して並列処理できるようになる。

Solanaと同様に、Suiは決定論的並列実行を採用しており、取引が事前にアクセスする必要のあるアカウントを宣言する必要がある。
Movement Labs
Movementは、開発者がMove上で構築するメリットを簡単に利用できるよう、開発者ツールとブロックチェーンインフラサービスを構築している。Move開発者のためのAWSのような実行即サービス(execution-as-a-service)プラットフォームとして、Movementは並列化をコア設計理念としており、より高いスループットとネットワーク全体の効率を実現する。MoveVMはモジュール型実行環境であり、ブロックチェーンネットワークが必要に応じて取引処理能力を拡張・調整でき、増大する取引量に対応し、並列処理・実行能力を強化できる。

Movementはまた、M2と呼ばれるZK-rollupをリリースする予定であり、これはEVMおよびMoveクライアントと相互運用可能になる。M2はBlock-STM並列化エンジンを継承し、数万TPSを実現する見込みである。
並列システムの課題
並列ブロックチェーン技術の発展に関しては、以下の重要な疑問とトレードオフを考慮しなければならない:
-
ネットワークは並列実行によるパフォーマンス向上のために、どのようなトレードオフをしているのか?
-
検証者数の削減により検証と実行の速度が上がるが、これはブロックチェーンのセキュリティを犠牲にしていないか? 検証者による攻撃に対して脆弱になっていないか?
-
検証者が少数のデータセンターに集中している場合、これは暗号・非暗号システム共通の遅延最小化戦略だが、特定のデータセンターが攻撃を受けたらネットワークはどうなるのか?
-
楽観的並列システムにおいて、無効な取引の再実行プロセスはネットワークの拡大とともにボトルネックにならないか? この効率性はどのようにテスト・評価されているのか?
大枠として、並列ブロックチェーンは台帳の不整合リスク、すなわち二重払いと取引順序の変更にさらされる(実はこれが逐次実行の主な利点である)。決定論的並列化は、基盤ブロックチェーン上の取引に内部ラベルシステムを構築することでこの問題を解決する。一方、楽観的処理を採用するブロックチェーンは、取引の検証と再実行のメカニズムが安全かつ効果的であり、パフォーマンスに対する妥協が合理的であることを保証しなければならない。
将来展望
コンピュータの歴史は、時間の経過とともに並列システムが逐次システムよりも効率的で拡張性が高い傾向にあることを教えてくれる。Solana以降の並列ブロックチェーンの台頭は、この概念が暗号インフラにも適用されることを強調している。Vitalik自身も、並列化はEVM rollupのスケーラビリティ向上の潜在的キーソリューションの一つだと述べている。広い意味で、暗号/ブロックチェーンの採用拡大には、今日利用可能なシステムよりも優れた、並列ブロックチェーンを含むシステムが必要となる。Solanaの最近のネットワーク障害は、並列ブロックチェーンの開発にはまだ大きな改善余地があることを浮き彫りにしている。より多くのチームがオンチェーンの最前線を押し広げ、次世代の大規模ユーザー層と採用をブロックチェーンネイティブなアプリケーションおよびエコシステムに取り込もうとしている中で、並列実行モデルはWeb2企業と同等の規模でネットワーク活動を効率的に処理できるシステムを構築するための直感的なフレームワークを提供している。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News










