如何利用 Flashbots 搭建防 MEV 的 DEX?

    mistX的核心特点是交易无需Gas费,但需从每笔交易中扣除一定比例的「贿金」。根据统计,2020年一月开始至今,以太坊网络最大可提取价值(MEV,也被称为「矿工可提取价值」)至少达7.49亿美元。如此庞大的金额降低用户体验,妨碍网络发展。从KeeperDAO到ArcherDAO,从TaichiNetwork到Flashbots,为解决MEV,协议层不断开疆拓土。这方面的探索也在不断演化,最近开始在应用层有更多尝试。例如Gnosis最新推出的CowSwap()采用「需求匹配」方式,实现链下点对点撮合订单。下面要介绍的就是为解决交易中的抢跑问题,Alchemist利用Flashbots技术推出的去中心化交易所。mistX可以称之为FlashDEX,通过Flashbots绑定交易,实现交易确认。核心特点:交易无需Gas费且防MEVmistX交易无需Gas费。

    在以太坊上交易都需要额外ETH支付Gas费,但是通过mistX,任一代币与ETH互兑不再需要额外ETH支付Gas费,所有交易可以实现零Gas费。不过,零Gas费并不意味着没有交易手续费。用户使用一种代币兑换ETH,或用ETH兑换其他代币,每笔交易中都会付给矿工一定比例费用,这笔费用称为「贿金(Bribe)」。如果交易中是两种代币互兑,没有ETH,那么用户钱包中需要有额外ETH用以支付Gas费。「贿金」类似于Gas费,不同之处在于,这笔费用用于通过mistX来保护交易、防止抢先交易。利用Flashbots在交易发布前「绑定(bundle)」,不会先发到mempool等待矿工打包交易。这样,便会在交易确认前隐藏交易信息,避免被抢先交易,或避免三明治夹击交易。此外,使用mistX也可以无需支付Gas费来一键取消交易。由于Flashbots使用「绑定」处理交易,只要交易未在网络确认,用户可以无需支付任何费用随时取消交易。

    mistX如何完成一笔交易?无Gas费交易指用户无需直接向矿工支付Gas费。CowSwap是由「解算方」先预付交易Gas费,之后再从执行交易中扣除。而mistX是利用Flashbots的交易「绑定」方式实现。下面通过交易来详解实现过程。下图是,通过mistX合约的。从输入数据(图中1所示)种可以看到,用户用0.15个以太坊兑换至少3.898枚MIST,而实际上得到3.918枚MIST(图中2所示)。mistX的创新之一就是利用Flashbots的隐私mempool捆绑交易,交易确认前不会在公开mempool发布,籍此来防止抢先交易和三明治夹击套利攻击。Etherscan将这类交易标记为「私密交易」(图中3所示)。

    Flashbots绑定交易特点是,交易要么全部打包确认,要么全部失效,而且在没有同类绑定交易情况下,绑定交易确认是在区块头部。Nonce一栏中区块位置为「1」,表示这组绑定交易没法受到抢先交易攻击(图中4所示)。实际上此例中用户还是要信任Flashbots不会在绑定交易内进行三明治夹击。而出现这种情况也很容易被发现,如果出现这种情况,Flashbots会取消此类交易。最终Flashbots是要实现所有绑定交易在确认前矿工都不可见。从交易费(图中5所示)一栏中可以看到无需向矿工支付交易费(「贿金」)。只有交易成功后才会向矿工和mistX支付费用(图中6所示)。图中可以看到,用户向F2Pool矿池支付0.003607ETH,向mistX支付0.0001898。总计占交易总额2.5%,约10USD。

    计算mistX的交易成本,仍旧按照「交易Gas用量xGas价格=支付的ETH」。实际使用中,mistX比Matcha等聚合器消耗更多Gas。本例中的Gas用量22.5万(7),相比Matcha耗用Gas13万。Flashbots的绑定交易的费用,对用户来说是免受抢先交易、三明治套利的机会成本。相对而言,用户交易量越大,机会成本越高,使用mistX越划算。随着采用Flashbots的矿工和去中心化交易所越多,单个区块绑定交易越多,给矿工的贿金也会降低。总结从KeeperDAO到Flashbots,从CowSwap到mistX,不到一年时间,MEV已从协议层演化到应用层。从这方面看,这或许标志着以太坊底层基础设施建设逐步完善,开始在应用层积极探索。短期内,用户为了防止套利攻击仍旧需要承担高额费用,但随着市场完善,逐步进化,相信未来用户体验会有很大提升。相关阅读:参考: