暗号資産Bundlerとは?
執筆者 Uttam Singh

暗号資産の用語の中で、「バンドリング(bundling)」ほど多くの意味を持つ言葉は少ない。アプリが20件の残高照会を1回の呼び出しにまとめるのもバンドリングだ。rollupが数千件のトランザクションを1件のL1提出にまとめるのもバンドリングだ。サーチャーが順序付けされた一連の取引をブロックビルダーに提出するのもバンドリングだ。トレーダーがトークンのローンチ時に、そのブロック内で十数個のウォレットにまたがって供給量を買い占めるのも同様だ。毎回同じ単語だが、仕組みは毎回異なる。
大まかに言えば、crypto bundlerとは複数のトランザクションを1つのオンチェーン提出にまとめる特定の操作を指す。バンドリングは、1件ずつ処理するとコストがかさむ、価値が漏れる、あるいは失敗が増える場面ならどこにでも現れる。その仕組みはEthereum、Solana、L2群の間で異なっており、これがこの言葉が混乱を招く一因でもある。
crypto bundlerは何をするのか
crypto bundlerとは、複数の保留中の操作を1つのオンチェーントランザクションにまとめる、あらゆるアクター、コントラクト、サービスを指す。トレーダーは、トークンローンチの着地の仕方をコントロールするためにバンドルする。サーチャーは、実行順序を保証するためにバンドルする。Rollupsは、決済コストを分散させるためにバンドルする。ウォレットやアプリは、リクエストのオーバーヘッドを削減し、複数ステップの操作をアトミックにし、gasをスポンサーするためにバンドルし、これによりユーザーがネイティブトークンを保有する必要がなくなる。
これら異なるbundlerの実装が共有しているのは、動詞としての意味くらいしかない。あるbundlerはトレーディングボットであり、あるものはプロトコルインフラであり、あるものは誰でも呼び出せる単一のデプロイ済みコントラクトであり、そしてあるものはEthereumの標準規格における名前付きロールである。ドキュメントがどれを指しているかを知る唯一の方法は文脈だ。一般的なbundlerの種類は以下の通り。
そもそもなぜバンドルするのか
一般に、バンドリングは3つの仕事のいずれかを果たす。コストを削減する、順序を固定する、あるいは誰かの代理として行動する、たいていはこれらが複数同時に起こる。
わかりやすいのはコストだ。すべてのオンチェーントランザクションは、何か有用なことをする前に固定のオーバーヘッドを支払う。EVMチェーンでは21,000 gas、それに加えてcalldataと署名のコストがかかる。10件の操作を1つのトランザクションにまとめれば、そのコストを10回ではなく1回だけ支払えばよい。DEXルーティングやインデクサーの読み取りのような高頻度の処理では、この差はすぐに積み重なる。
次に順序の問題がある。一部の操作は、固定された順序でまとめて実行されて初めて安全になる、あるいは初めて利益が出る。approvalとそれに続くswapは、両者の間の隙間でフロントランされる可能性がある。裁定取引は、買いと売りの間に何かが割り込むと成立しなくなる。ローンチスナイプ、つまりトークンがローンチした瞬間に置かれる買い注文は、その買いがトークンが作成されたのと同じブロックに収まって初めて機能する。バンドリングは「これらを、この順序で、さもなくば何もしない」という条件を1つの保証にまとめ上げる。
最も微妙な理由は委任だ。スマートコントラクトアカウントは自分自身でトランザクションを送信できないため、秘密鍵を保持する何かがそのアカウントの意図をラップし、gasを支払い、送信する必要がある。それがアカウントアブストラクションbundlerの仕事であり、これによってアプリがユーザーに代わってgasを支払ったり、ETHを保有していないエージェントの代わりに署名したりすることが可能になる。
crypto bundlerの種類にはどのようなものがあるか
crypto bundlerには、一般的に5つの種類がある。
トランザクションのバッチ処理とmulticall
Multicallは日常的なバンドリングの形態であり、1つのトランザクションを複数の呼び出しに展開する小さなコントラクトだ。標準的な実装はMulticall3で、100を超えるEVMチェーンで0xcA11bde05977b3631167028862bE2a173976CA11にデプロイされている。最も一般的な用途は読み取りのバッチ処理だ。20種類のトークンにまたがる残高、allowance、価格を必要とするアプリは、20個の個別のJSON-RPCリクエストを送る代わりに、Multicall3に対して1件のeth_callを発行する。ルーターの呼び出しやDeFiプロトコルの組み合わせを含む書き込みの場合、単一の送信者からのバッチ処理により、複数ステップの操作がアトミックになる。approvalとswapは共に着地するか、まったく着地しないかのどちらかになる。
この種のバンドリングの重要な制約は、multicallが送信者をまたいで集約するわけではないという点だ。トランザクションは1つのアカウントから来て、バッチ処理用のコントラクトに到達し、そこから展開される。mempoolもオペレーターも存在しない。EVMチェーン上の本番読み取りの大部分はMulticall3を経由しており、これがこの分野で最も取引量の多い、しかし最も目立たない形態のバンドリングとなっている理由だ。
MEV bundle
MEV(maximum extractable value)bundleとは、サーチャーが次のブロックにアトミックに含めたいと考える、順序付けされたトランザクションのリストのことだ。サーチャーはこれを公開mempoolではなくブロックビルダーまたはリレーに提出し、包含に対して対価を支払う。重要なのは順序であり、買いと売りが連続して実行されることに依存する裁定取引は、サーチャーがシーケンスを制御して初めて機能する。FlashbotsはEthereum上でこれをmev-boost経由で提供し、Jitoは同等のものをそのBlock Engine経由でSolana上に提供している。
bundleは封印されており、これはすべてのトランザクションが指定された正確な順序で実行されるか、まったく実行されないかのどちらかであることを意味する。Beaverbuild、Titan、Flashbotsを含むビルダーは、最も価値の高いbundleからブロックを構築するために競い合い、リレーはビルダーとバリデータの間に立つ。公開mempoolを経由する一般ユーザーにとってこれが何を意味するかについては、MEV保護の概要を参照してほしい。
Rollup batch
rollup sequencerはデフォルトでトランザクションをバンドルする。L2トランザクションを順序付け、圧縮し、それらを何百、何千件もまとめて1件のL1トランザクションのcalldataまたはblobペイロードとして提出する。Optimism、Arbitrum、Base、その他の主要なrollupはすべてこの方式で動作する。ユーザーの視点からは、L2トランザクションは他のトランザクションと変わらないように見える。L1の視点からは、rollupはバッチ全体を決済するために1件分のトランザクションのオーバーヘッドしか支払っていない。
2024年3月のDencunアップグレードで導入されたEIP-4844 blobsは、これらのバッチのL1コストをおよそ一桁削減し、これがL2の手数料が数セントから数分の一セントにまで下がった構造的な理由だ。これは開発者にとって最も見えにくい形態のバンドリングであり、アプリケーションコードが一切これに触れることがないからだが、同時にL2の経済性にとって最も重要な意味を持つ。
トークンローンチのバンドリング
ミームコインのローンチパッドでは、「bundler」はトレーディングツールを指す。それはトークンをデプロイし、同じブロック内で複数のウォレットから供給量の一部をアトミックに着地する形で買い占める。Solanaでは、これは通常Jito bundleを通じて行われる。作成者はこれを、スナイパーより先に自らのローンチを制するため、あるいはインサイダーのポジションを複数のウォレットに分散させて見えにくくするために利用する。供給量はオンチェーン上では分散しているように見えるが、実際には1者が支配している。
これが、トレーディングダッシュボードにおいて「bundled」が警告ラベルとして読まれる理由だ。Pumpのミームコインローンチを審査するツールは、作成ブロック内で買われた供給量の割合をフラグ表示する。隠れた集中は一度に全て売り抜けられる可能性があるからだ。その仕組みは、MEV bundleが用いるのと同じアトミックで順序付けされた包含だ。異なるのは、それが何のために使われるかという点だ。
アカウントアブストラクションbundler
スマートアカウントのドキュメントでは、「bundler」は通常ERC-4337のアクターを指す。これはオフチェーンのサービスで、user operationsを収集し、多数を1つのトランザクションにまとめ、gasを立て替え、そのアカウントまたはそれをスポンサーするpaymasterから払い戻しを受ける。もしあなたがウォレットやaccount abstractionのドキュメントからここに来たのであれば、これがあなたの思い浮かべているbundlerだ。

5種類のcrypto bundlerの比較
同じバンドリングという概念でも、5つの異なる実装とその背景にある理由がある。最も手早く見分ける方法は、誰が利益を得るかを問うことだ。トレーダーはlaunch bundleから利益を得て、サーチャーはMEV bundleから、rollupのユーザーはbatchから、そしてアプリのユーザーはバッチ処理とスポンサーシップから利益を得る。
よくある質問
bundleされたトークンローンチは詐欺なのか
必ずしもそうとは限らないが、警戒すべき兆候ではある。バンドリングによって、作成者はローンチのブロック内で多数のウォレットにまたがってトークンの供給量の大部分を買い占めることができる。それは正当なスナイパー対策である場合もあれば、後で投げ売りするための集中所有を隠す手段である場合もある。大量にbundleされた供給量は、購入前に確認する価値のあるリスクシグナルとして扱うべきだ。
トークンローンチがbundleされたかどうかはどうすればわかるか
オンチェーン分析ツールやミームコインのダッシュボードは、トークンが作成されたのと同じブロック内で買われた供給量の割合をフラグ表示する。多数の新しいウォレットに広がる高い割合が手がかりとなる。供給量が有機的に分散しているように見えることを信頼する前に、トークンの最初のブロックでの購入とホルダーの分布を確認すること。
ERC-4337におけるbundlerとは何か
ERC-4337のアカウントアブストラクションにおいて、bundlerとはスマートコントラクトアカウントからuser operationsを収集し、複数を1つのトランザクションにまとめ、gasを支払い、EntryPointコントラクトに提出するオフチェーンサービスのことだ。これはそのアカウントまたはpaymasterから払い戻しを受ける。AlchemyはRundlerというオープンソースのものを運用している。
MulticallはbundlerとJIT同じものか
厳密には違う。Multicall、通常はMulticall3は、単一の送信者からの多数の呼び出しを1つのトランザクションにまとめ、主に読み取りのRPCリクエストを削減する。ERC-4337のbundlerは、多数の異なるスマートアカウントからuser operationsを集約し、それらのgasを支払う。発想は似ているが、範囲が異なる。Multicallは1つの送信者の中に留まるが、bundlerは多数にまたがる。
MEV bundleとrollup batchの違いは何か
MEV bundleは、サーチャーがアトミックでフロントラン耐性のある包含のためにブロックビルダーに提出する、順序付けされたトランザクションの集合だ。rollup batchは、sequencerが決済コストを分散させるために1件のL1提出にまとめる、何千件ものL2トランザクションだ。一方は順序を制御し、もう一方はコストを制御する。
Alchemyでcrypto bundlerを構築する
私たちのRPC APIは、開発者が直接触れるバンドリングの表層への入り口だ。Multicall3のようなコントラクトが展開するバッチ処理された読み取り、L2トラフィックが流れるrollupのRPCインターフェース、そして私たちがホストするすべてのチェーン上の標準エンドポイントがそれにあたる。スマートアカウントのフローを構築するチームのために、私たちはオープンソースのRust製bundlerであるRundlerと、gasスポンサーシップのポリシーのためのGas Managerも提供している。その設計についてはRundlerをどのように構築したかを参照してほしい。
アプリを作成し、キーを取得すれば、同じキーがそのすべてで機能する。契約もウェイトリストも不要だ。構築を始める。
bundlerと呼ばれる単一のものは存在しないし、おそらく今後も存在しないだろう。その言葉が広く使われているのは、その根底にある問題、つまり「1つのトランザクションでより多くのことを行う」という問題が、暗号資産のあらゆる層で現れるからだ。その層、つまりコントラクト呼び出しなのか、ブロックなのか、L2 batchなのか、トークンローンチなのか、スマートアカウントなのかを見極めれば、誰かが指しているbundlerがどれなのかがわかる。
関連する概要

ブロックチェーンで魔法を生み出す
Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。


