はじめに
この記事はDENSO アドベントカレンダー 2025の9日目の記事です。
きっかけ
ある日のこと、ブロックチェーンに書き込むスピードがアプリの性能限界だよなあと思い。
調べていたところ、Fastest Blockchains by Transactions Per Second (TPS)を見てみると。
L1 のEthereum
62.34 tx/s
178.6 tx/s
にもかかわらず,Base のトランザクション性能が
1,267 tx/s
3,571 tx/s
となっていて文字通り桁違いのスピードを叩き出していたのに驚いた。
なぜならBaseはOptimisticロールアップを使ったOpStack上に構築されたL2ネットワークであり、最終的にはL1のEthereumにトランザクションを書き込まないといけないわけだ。
なんでこんなに性能が出るのと思って調べたのがきっかけです。
この話をしているとたまたま近くにいたあるお方が、これはS3にトランザクションデータの本体を格納して、チェーンにはポインタを書き込むだけだからデータサイズが小さくて速いだけどこれってもうWeb3じゃないよね、ただのWeb2アプリじゃないかという話があってからの調べることにしました。
ちなみに1000TPSってどれくらいかというとPayPay1500万人ユーザーくらいの時の性能って感じみたいです。
Flashblocksとは
Flashblocks(フラッシュブロック)はFlashbotsというMEV対策で知られる研究開発機関が作った新技術で、ブロック生成のしかたを工夫することで取引の確定(confirmation)を劇的に高速化する仕組み。通常、Baseを含むOP Stack系のL2チェーンではブロックタイムは約2秒ですが、Flashblocksを使うとこのブロックを内部で複数に分割し、約200ミリ秒ごとに「部分ブロック」を作成します。部分ブロック(Flashblock)がひとつ完成するたびにその中のトランザクションは即座に確認(事前確定)されユーザーに結果が返されます。言い換えれば、1つのブロックを10個以上のマイクロブロックに分けて逐次実行・確定していくイメージ。こうすることでユーザーから見ると取引がほぼリアルタイム(0.2秒程度)で確定するため、Web2アプリのようにサクサク動くUXを実現できる。
FlashblocksはすでにUniswap Labsが開発するL2「Unichain」で実装済みであり、Baseでも2025年2月末にSepoliaテストネットで導入された。Baseチームによれば、FlashblocksによりBaseは処理速度が従来の10倍となり、「史上最速のEVMチェーン」になるとのこと。
Flashblocksの仕組みと特徴
Flashblocksは内部でどのように高速化を実現しているのか。
技術的な特徴をまとめると、以下のようなポイントがあります。
- 部分ブロックを常時ストリーミング: ブロックビルダー(Sequencer)が250msごとに部分ブロック(Flashblock)を作成しネットワーク全体にストリーミング配信します。ノードは新しいブロックを待たずに取引情報を受け取り続けます(Solanaの“shred”やCelestiaのデータスクエアと似た発想です )。
- 低レイテンシの事前実行: 各部分ブロック内のトランザクションは即座に実行され、ユーザーには「事前確認(プリコンファメーション)」として結果が返されます。これにより取引の初期確認が約0.2秒で得られ、ユーザーはほぼ即時に取引成立を実感できます。
- 逐次実行とリバート保護: ノードは部分ブロックを受け取るたびにトランザクションを継続的に実行・適用し、次の部分ブロックを待ちながら状態を更新していきます。万一最終的なブロックに含まれない取引があっても適切にリバート(取り消し)される「ネイティブなリバート保護」が組み込まれており、ユーザーは途中結果に過度に依存しない設計です。
- 状態ルート計算の最適化: 部分ブロックごとに全てブロックヘッダ(状態ルートやブロックハッシュ)を計算するのではなく、一連の部分ブロック全体で一度だけ最終的な状態ルートを計算します 。これにより高コストな状態計算処理を部分ブロック間で重複せず済ませ、全体のスループットを向上させています。
- 従来のRPCインタフェースを拡張: Flashblocksで実行中の取引結果は特殊な新APIではなく、既存のEthereum標準のJSON-RPC APIを通じて参照可能です。例えばウォレットがeth_getTransactionReceipt等を呼ぶと、RPCノードがキャッシュしている事前確認結果を返すようになっています。これによりDAppやウォレット側の実装変更を最小限にとどめつつ高速化の恩恵を受けられます。
以上の仕組みにより、Flashblocksはブロックタイムを疑似的に1/10以下に短縮しつつ、ブロックあたりのガス使用量を最大限に引き上げることを可能にしています。Flashbotsの解説によれば、この手法で秒間あたりのガス消費量(ひいてはTPS)を従来の複数倍に引き上げるポテンシャルがあるとのこと。
Baseが桁違いのTPSを叩き出せる理由
Flashblocks導入後のBaseは、実効的なブロック生成間隔が0.2秒となり体感速度が飛躍的に向上しました 。さらに注目すべきはトランザクション処理能力(スループット)の大幅な増加です。冒頭で触れたように、ChainspectのデータではBaseの最大TPSは理論値で約3,571 tx/sにも達し、これは同期間のEthereum L1の最大TPS(約178 tx/s)の20倍にあたります 。なぜL2であるBaseがL1の制約を超えるTPSを実現できるか?
ポイントは、L2では多数の取引をまとめて圧縮し、ひとつのL1ブロックに書き込めるという仕組みにあります。Optimistic RollupであるBaseは定期的にEthereumに対し圧縮済みのトランザクションデータ(コールデータ)を投稿します。個々のL2トランザクションは署名や一部のデータを省略してまとめられるため、Ethereumの1ブロック内に格納できるL2取引数はL1ネイティブ取引より多くなります。さらにFlashblocksによりBase側でブロックを細分化・並列実行することで、L1への投稿頻度やデータ効率を最大化している。
その結果、L1の限界を上回る取引処理をL2上でさばきつつ、要点だけを圧縮してL1に書き込むことで高TPSを達成しています。実際L2BEATのデータを見ると、Baseはこの1年間で約443GBのデータをEthereumに投稿しており、平均すると1日あたり1.22GB程度のデータで数百万件以上の取引を支えている計算。
Flashblocksの貢献もあり、このような効率的なデータ利用で高速・大量のトランザクション処理が可能になっていると言えます。
もちろん、この手法にも限界や注意点はあります。
最終的なデータは全てL1に書き込まれるため、Ethereumのデータ可用性(DA)容量がボトルネックとなります。
今後Ethereumに実装予定のデータBlob(EIP-4844)などDA強化策が進めば、Rollupのスループットはさらに向上するでしょう。
一方で、L1に投稿されるまでの間はBaseのSequencer(コインベース社が運用)が単一障害点となるなど、性能向上と引き換えにある程度の中央集権的運用に依存している現実もある。
Flashblocks自体も現状ではFlashbotsが提供するブロックビルダーに頼る構造で、完全分散化されたブロック生成とは言えません。しかしBaseチームは今後この仕組みをオープン化・分散化していく意向も示している(例えば将来的なマルチビルダー対応やTEE技術の活用による地理的分散など)。
Flashblocksは「Web3らしくないのか」データ保存と中央集権性のトレードオフ
Flashblocksについて調べ始めたきっかけは、チェーンにはポインタだけを書き込み、取引データ本体はS3に保存するなんて、それはもはやWeb3ではなくWeb2のアプリではだった。
確かに調べてみると、Baseが発表したAppchain(アプリケーション専用チェーン)向けの仕組みでは、取引のバッチデータをAmazon S3に保存し、チェーン上にはその識別子(ポインタ)のみ記録するというアプローチが採用されています。
チェーン上に保存するデータ量を大幅に削減できるためガス代が安く高速になりますが、データの実体がオンチェーンに存在しない点で「ブロックチェーンらしさ」が損なわれているようにも見える。
実際この方式では、仮にAmazonのサーバがダウンしたり運営主体が悪意を持ってデータ提供を停止した場合、チェーン利用者は自力で取引データにアクセスできなくなるリスクがあります。純粋な意味での「誰でも検証可能な分散台帳」からは一歩後退する設計と言える。
しかしBaseチームは、このトレードオフを認識した上でTEE(Trusted Execution Environment, 信頼実行環境)による検証モデルで安全性を担保しようとしています。具体的には、AWS Nitro EnclavesのようなTEE内でAppchainの状態遷移を検証・証明し、その結果(状態ルートとS3上のデータ参照)をBase L2に即座に投稿する仕組みです。これにより本来Optimistic Rollupで必要な7日間のチャレンジ期間を省略し、ユーザー資産の引き出しもほぼ即時に可能となっています。言わば「ハードウェアで信頼性を担保する代わりに、分散性を犠牲にして高速化を得る」方式で、ZKロールアップが実用水準に達するまでの中間解とも位置付けられています。
このようにFlashblocksおよび関連するBaseの拡張技術は、ユーザー体験(UX)の向上と分散性・検証可能性のバランスを模索する挑戦と言えます。
高速化を優先すると往々にしてブロック生成の地理的集中や中央集権化を招きがちですが、Flashblocksではオークション方式の見直しやTEEs活用によって可能な限りユーザー体験と分散性を両立しようとする工夫が凝らされています。完全なWeb3の理念(すべてをパーミッションレスかつオンチェーンで行う)から見れば妥協点はあるものの、現実的な性能ニーズに応えるための実用解ということかな。
おわりに
今回調べたFlashblocksは、Baseをはじめ新しい世代のL2が直面する「スケーラビリティとユーザー体験」と「分散性」のトレードオフに対する現実的な解決策だった。
部分ブロックのストリーミングによる10倍速の体感速度向上、そしてオフチェーンデータ保存やTEE活用による柔軟な設計、従来のブロックチェーンとは異なる発想が盛り込まれていた。