Cover photo

MEV×AccountAbstractionに挑戦して撤退した話

この一年間、MEV×AccountAbstractionという領域に挑戦し、そして、撤退した。

この記事は、撤退の理由を中心に書く。これを過去への手向とする。

想定読者

  • MEVとAccount Abstractionに関心がある人

    • MEVないしAccount Abstractionに関する記事を10個くらい読んだことがある人

  • MEVまたはAccount Abstractionに不慣れな人は、末尾の参考文献から読んでほしい

挑戦について

目指していたこと

私は、ERC-4337の導入によって新たに生まれるMEV市場を適正な競争環境にすることを目指した。

この志には、(主に)Ethereumのブロックビルディングの過程が、何者かによって独占・寡占されて、検閲が発生することを回避するという、さらに上位のお題目があった。

MEVに対する世界観

当時の、私のMEVに対する世界観によれば、ブロックビルディングの理想的な状態は、放置しておくと独占・寡占化が進むMEV市場に対して、これを回避する力学を働かせ、競争環境が常に活発になるように構造化することであった。

これは、できるだけ多くのsearcher(MEV抽出戦略を考える人)に、できるだけ多くのorderにアクセスさせ、そして、できるだけ多くのblock builder(ガス効率が最適になるようにorderをブロックへ充填する方法を考える人)に、できるだけ多くのorderとbundleにアクセスさせることで達成できると考えた。

あるいは、mempoolを暗号化することによっても、ブロックビルディングの過程の独占・寡占は回避されると考えていた。

作ろうとしたもの

私は、主に2つの機能を調和させた機構を作ろうと考えた。

① ERC-4337の導入によって生まれる新たなオーダーフロウ(UserOpのオーダーフロウ)のためのorder flow auctionと、② エンドユーザーから受け取ったUserOpをネットワークに接続するbundler(searcherとして振る舞う)に伝播するbundler networkを組み合わせた機構によって、上記の目指すべき世界を実現しようと考えた。

1つ目の機能は、ERC-4337の導入によって生まれる新たなオーダーフロウ(UserOpのオーダーフロウ)のためのorder flow auctionである。

EntryPointが実行する検証ループの中で、事前のon chainオークションで決定した順序通りにUserOpを実行するよう強制する設計を考えた。

オークション収益の一部は、後述するような、本機構の維持、発展に貢献してくれるアクターに、分配する。

オークションの方式は、

  • 任意のUserOpからMEV抽出(frontrun attackなど)を行う権利を競売する方式

  • 任意のDAppのRights to first arbitrage(各ブロックタイムで、他のorderから優先してbundleを実行させる権利)を競売する方式(MEV capturing AMMの構想を参考にした)

などを考えたが、いずれも一長一短だった。

post image

2つ目の機能は、エンドユーザーから受け取ったUserOpを、ネットワークに接続するbundler(searcherとして振る舞う)に伝播する機構である。

伝播を行うアクターは、例えば、DAppの運営者など、誰でもなることができる。伝播する仕事に対して、オークション収益から報酬を得る。

上記の2つの機能は、以下のように調和すると考えていた。

  • 多くのbundlerにUserOpを伝播するほど、オークションが競争性が高まり、オークション収益があがる

  • オークション収益があがるほど、伝播を行った人への報酬があがり、さらに多くの人がUserOpを伝播するようになる

このようにして、UserOpが、多くのbundlerへ公開されるインセンティブを作れると考えた。

撤退の諸理由

プロダクトをピボットした理由

設計上の限界;

私の設計は、block builderの行動を完全に拘束するものではなかった。あくまで経済的なインセンティブによって、紳士的に振る舞うことが合理的になる領域を生み出すに過ぎなかった。

searcherとblock builderの関係性を信頼に足るものにする(block builderの市場を新規参入可能な状態にするためには、これが必要だと私は考えている)ためには、いかなるMEV抽出ケースでも、block builderがsearcherを裏切る行為が、block builderにとって経済合理性がない構造を設定しなければならない。

しかし、(例えば、利益額で年間で上位3%に入るような)大きなMEVを横取りすることが、block builderにとって損になるようにするためには、没収のリスクに晒される巨額のデポジットを事前に差し出してもらうような設計が求められる。

そして、このようなデポジットを好んで行うblock builderいない。

このような問題は、純粋にインセンティブ構造のみでMEV市場を適正化しようとする試みに内包する問題であり、設計を根本的に見直さなければならなくなった。

見ていたスコープの狭さ;

私の設計のスコープは、ERC-4337の導入によって新たに生まれるMEV市場(エンドユーザーからblock builderまでの過程)の競争適正化であった。bundlerの一元化を回避して、現状のEthereumと同等の分散性をERC-4337でも実現することを主眼としていた。

しかし、MEVサプライチェーン全体の競争を適切に保つには、bundlerより下流にあるblock builderの一元化という、より大きな問題があった。

私の設計は、言ってみれば、ブロックビルディング過程の分散性の問題を、より下流に押しやっているに過ぎず、問題の根本的な解決をコーディネートできるものではなかった。

ERC-4337へのコミットから撤退した理由

Ethereum全体の発展から見たERC-4337の位置付けについて、ERC-4337のワーキンググループ(yoav氏やdror氏など)とスタンスが異なった。

私は、Account Abstractionのネイティブ実装の提案(EIP-86、EIP-2938など)が採択されなかった経緯から、ネイティブ実装が実現するには5年程度かかると予想している。そこで、ERC-4337には、他の提案にはない独自の価値があり、プロトコルレイヤーの改修を必要としないAccount Abstractionの実装としての最適化を試みるべきものとして捉えていた。

一方で、ERC-4337のワーキンググループは、ERC-4337を、あくまで、ネイティブ実装に向けた実験の機会と見ており、ネイティブ実装が実現した時には必要なくなる機能についての開発を進めることに批判的でさえあった。

例えば、私見では、EntryPointContractは、各ウォレットサービス提供者が自社の売り出したい機能に合わせて拡張してデプロイする方が、優れたcontract walletが世に出されて良いと考えていた。一方で、ERC-4337のワーキンググループは、EntryPointContractの機能は、いずれExecution clientに実装されることになるため、singletonで開発を進めることに固執していた。

上記のように、ERC-4337の開発方針が異なり、ERC-4337を大きく拡張する私のアイディアはERC-4337のワーキンググループとは相入れないものであった。さらに、彼らにとっても、ERC-4337は「早く次のステップに行くための足掛かり」であったので、ERC-4337の開発に大きなリソースを注ぐ理由がなかった。

MEV領域からピボットした理由

MEV領域は、端的に「暗号学の発明を待つべき領域」に思えた。

上述の通り、私は、純粋にインセンティブ構造のみでMEV市場を適正化しようとする試みには根本的な問題があると理解している。

そして、管見によれば、残された方法は、searcherがblock builderよりは信頼できる主体をトラストする方法(TEEを使ったSUAVEなど)、もしくは、mempoolを暗号化して誰もMEV抽出できなくする方法であると考えている。後者の実現可能性について明るくないが、後者が実装された場合、前者は不要となると考えている。

いずれにしても、MEV領域は、スタートアップにとっての領域ではなく、アカデミアの領域だと思えた。この領域を取り組むにあたって、私たちのチームよりも適したチーム(Flashbots, Frontier Research, SMG, 日本人チームではTitania Research など)がたくさんあり、私たちのチームがあえて取り組む理由がないと結論づけた。

今後について

ユースケースを創出する活動に体重を乗せようと思う。

ブロックチェーンが普及する次の10年~30年に必要な仕事は2種類ある。1つは、10~100億人に使われるブロックチェーンとは「かくあるべき」を描く仕事だ。そして、もう一つは、そこに至るステップを一段ずつ埋める仕事だ。

私の次の挑戦は、後者の中にある。ブロックチェーンが、代金支払い手段として使われる領域を大きくする挑戦する。

参考文献

MEVに関して

https://mirror.xyz/0x988b28F0985eFd5eFA5e7019B6a0be5E354472d8/Ne8M8q0ColjVAW69GxxYsr_UW488FlX0Ouo4s5QaVPE

Account Abstraction(特にERC4337)に関して

https://zenn.dev/sivira_inc/articles/d041f1ac44ca1e

https://mirror.xyz/askyv.eth/GPJ_yFNi9noouqzYxGbk7ejfEgeL4l9kCxqeUHmN9EY

https://zenn.dev/taxio/articles/834e6a04bd6b80