- Published on
【Free MEV系列】| MEV 中的组件与概念
- Authors
- Name
- thinkingchaindotapp
MEV 中的组件与概念
下图是我理解的MEV的生命周期,你可以通过这个链接找到原出处:
下面说明各个组件:
Blockchain Memory Pool && Blockchain State:我们需要在Memory Pool中获取还没有上链的交易,或者查看区块链状态,这是我们原始的数据来源
What to focus
- Speed(Local or third party RPC):我们需要从一个全节点获取区块链上最新的状态,由于区块链的分布式特性,信息到达每个用户的速度有快有慢。你越快获得数据,那么就意味着你拥有更大的可能性发现机会然后捕获它。正常来说,自己维护一个节点会比使用第三方速度快几个量级。
- 各种MEV机会:我们需要书写策略,并且实时更新它以符合市场的需求。这是MEV的核心部分,同时书写策略也是最困难的部分,你需要了解DeFi的玩法(熟悉各种项目,越多越好),运用数学来计算复杂的盈利情况,设计高效的算法,等等。
- Speed(Simulator && Searching for profit):我们需要为我们的策略书写程序。使用Rust书写机器人,它足够快;优化算法,降低复杂度,并且最终模拟出来的结果是盈利的
Searcher(Bundles):我们有了策略,然后需要若干个操作排序好,然后捆绑起来成一个原子交易,交给可信任的Builder
Private Orderflow:一些协议的VIP订单薄,比如1Inch
MEV-Share:用户可以将他们的交易发送到一个被称为 MEV-Share 节点的专门角色。MEV-Share 节点会根据用户的隐私偏好有选择地分享有关用户交易的信息。Searcher在看到这些信息后,会向 MEV-Share 节点提交部分交易包,试图在不查看完整交易数据的情况下从用户的交易中提取 MEV。MEV-Share 节点会模拟每个Searcher的交易包,并将成功的交易包转发给Builder,同时附带一个条件:用户必须得到他们的交易所产生的 MEV 的指定百分比(默认是 90%)。
Builder:
流行的Builder:我们需要尽可能多地将捆绑包发出去给多个builder(比如占比前四的builder),这样我们可以更快的打包上链。下面是一些参考:
flashbot builder0x69 beaverbuild.org rsync-builder.xyz bloXroute Blocknative Tian eth-builder.com BuildAI manta-builder payload.de lightspeedbuilder.info edennetwork.io finest artisanal blocks ...
First-price sealed-bid auction:所有的searcher都进行投标到builder的黑盒当中,他们互相不知道其他人的竞价金额(也叫贿赂费)。Builder会从黑盒中,选取给的贿赂费最多的Bundles,然后优先打包进区块。贿赂费:可以使用gas费的方式,也可以直接将ETH发送到coinbase地址
Builder的一些特性:
- 交易上链之后,才对外可见。(交易不仅在被纳入区块之前对网络隐藏,而且Relayer和Validator等中介机构在交易被纳入区块链之前也无法查看交易内容。注意:这个描述来自Flashbot v1.0,具体情况视平台而定)
- 如果searcher在黑盒中的竞拍失败了,那么它的交易不会被上链,也就是说不会消耗gas
用户可以通过平台的RPC参与竞价。比如Flashbot的是一个叫做
eth_sendBundle
的RPC
Relay
- 各个Builders根据自己的利益打包好了一个区块,然后他们一起将区块提交给Relayer。Relayer从这些区块中选取他最喜欢的Block(给钱越多越喜欢)
- Relayer选好最终的那个区块之后,将它移交给MEV-Boost
MEV-Boost
- MEV-boost 是共识client的附属软件,是一个独立的开源软件,用于查询区块构建并将其外包给Builders
- 各个Relayer根据自己的利益打包好了一个区块,然后他们一起将区块提交给MEV-Boost。MEV-Boost从这些区块中选取他最喜欢的Block(给钱越多越喜欢)
- MEV-Boost选好最终的那个区块之后,将它移交给Validator
Validator:从MEV-Boost拿到区块之后,确认上链
然后,我们所做的所有工作,就是围绕这个图