👨‍🚀 Glaze & Jasmine:本期我们主要关注风云变幻的 DeFi 领域,我们将和大家分享与 MEV 相关的套利方式,学习自动化做市商的相关知识。

如果你喜欢本期内容,不妨在阅读后给我们点个 ⚡️ ,并在下方订阅 un.Block Weekly ⬇️

🚀 链圈热闻:矿工可提取价值 MEV

日渐增多的 MEV 可能导致了高昂的 Gas Fee

上一期的周报中我们为大家介绍了 Gas Fee , Gas Fee 越高,交易就越可能被矿工打包。本期我们就来讨论一下这种打包机制所产生的问题,Miner-extractable Value(MEV)。

MEV 指的是矿工重新排序交易后可以获得的利润。在实际情况中, MEV 可能并不是矿工推动。有可能是我付出了一个很高的 Gas Fee ,希望矿工优先打包我的交易。

我希望矿工优先打包我的交易的原因有以下几种:

💨 抢跑(Frontrunning)

主流的 DEX 都支持滑点,也就是成交价格的区间,假设当前下单价格 100 块,滑点是 5%,这意味着成交价格会在 95 - 105 之间。

宽松的价格区间让套利者有机可乘。

假如一个套利者在内存池中(没有打包的交易都会在内存池中)看到一笔大额买单(币价即将上涨)。根据 AMM 的模型,只要有买单成交,代币价格就会上升。因此,套利者可以通过高额的 Gas Fee 或者贿赂矿工来插入一笔买单,抢在代币价格上涨之前完成买入。套利者的抢跑行为将导致后续的那一笔大额买单以以更高的价格成交。

其实在现实世界中也有抢跑的操作,但是由于法律法规和券商的约束,我们很少在现实世界中看到抢跑的发生。

🏃 尾随(Backrunning)

与抢跑类似,只不过这次的操作变成了紧随别人的交易。

例如目前币价下跌,很多人都被套牢了。这时候突然出现一笔拉升币价的买单。那么我可以通过贿赂矿工将我的单子排在大额买单之后。具体尾随的例子可以参考 👉 律动研究院的文章

🥪 三明治攻击(Sandwich Attack)

三明治攻击 = 抢跑 + 尾随

例如套利者在内存池中发现了一笔大额买单,我们可以在这笔买单之前放置一笔买单(抢跑),在这笔买单之后放一笔卖单(尾随),形成前后夹击。

由于买单会使价格上升,借助三明治攻击,套利者卖单成交价格必定高于他的买单成交价格。

✳️ 无风险套利(搬砖)

在以太坊价格剧烈波动的时候,不同 DEX 的同种代币价格会有差距。

这时候我们就可以从代币价格低的 DEX 购买代币,然后在代币价格高 DEX 卖出,利用价格差完成套利。

以上说的便是几种主要的与 MEV 相关的套利方式。有人说以太坊就像一个黑暗森林,森林中一直有人在检察着我们的一举一动,假如我们发现了一个获利机会,提交了一笔交易,很有可能就被在暗中窥探的第三方发现,第三方会以更高的 Gas Fee 抢在我们前面完成交易,夺走了我们的获取利润的机会。

📔 相关阅读:


🍼 保姆级教程

自动化做市商是 DeFi 的灵魂

📖 区块链理论:自动化做市商

🏦 两种做市商

传统做市商

传统做市商在交易市场中扮演交易中间人的角色,他向市场同时给出买价和卖价。给出报价后,市场上的买家和卖家根据报价与做市商进行交易,买家和卖家间接完成交易。买卖交易依赖于订单簿(Order Book)来撮合,买卖双方需要将订单挂到订单簿上,以价格为信号进行交易。

自动化做市商(Auto Market Maker)

自动化做市商(AMM)是一种去中心化的交易所(DEX)的协议,它依靠数学公式为资产定价。在 AMM 协议下,传统的订单簿被流动性池(Liquidity Pool)所取代;买家、买家、做市商不复存在,取而代之的是流动性提供者、交易者和套利者。

🧩 角色

流动性池(Liquidity Pool)& 流动性提供者(Liquidity Provider)

流动性池和流动性提供者是紧密关联的两个概念,因此我们一并解释。

流动性池可以理解为一个大池子,里面有许多的加密货币资产,流动性提供者将自己的资产注入到流动性池中,为交易提供流动性,通过交易手续费获取一定收益。任何人都可以成为流动性提供者,只要他向池子里注入了资金。

交易者

交易者可以与流动性池发生交易,向池子中投入一种资产,以换取另一种资产,这个交换的过程需要支付交易手续费。

套利者

套利者负责修正交易价格,以保证流动性池中的资产交易价和市场价一致,并从中套利,他们会给流动性提供者带来无常损失(Impermanent Loss)。

🚗 运作机制

流动性初始化

在交易开始前,流动性提供者向一个流动性池子的智能合约注入一定数量的两种资产(两种不同的资产可以组成一个 LP 对)例如在 ETH-UNI 池子中,就需要同时注入 ETH 与 UNI ,以作为流动性储备。

注入到流动性池的两种资产的数量基于当前 AMM 下的资产交易价计算得出。假设在 ETH-UNI 的 LP 对中,当前价格:1 ETH = 100 UNI,那么流动性提供者在注入 1 ETH 的同时需要注入 100 UNI 。

交易

我们将继续沿用上文的例子。

流动性池子建好后,交易者可以向流动性池的智能合约发送交易请求,他可以放入 x 个 ETH ,换出 y 个 UNI (换出的 UNI 的数量受资产价格影响)。同时,交易者需要为它的交易付手续费。

需要注意的是,交易可能会受滑点影响,交易者最终得到的 UNI 数量并可能和交易申请时的数量不一致。关于滑点,我们下次再聊。

套利

交易者交易结束后,AMM 中的资产交易价会发生变动,与市场公允交易价有偏差,套利者可以进场购买被低估的资产或卖出被高估的资产,直到 AMM 的资产交易价与市场公允交易价匹配。

💸 无常损失(Impermanent Loss)

在 AMM 下,只要发生了交易,就会引起价格变动,不同市场价格之间的偏差会带来无常损失。

流动性提供者为 AMM 提供流动性是为了获取交易费用,然而无常损失的存在提高了流动性提供者的投资风险。当无常损失超过了流动性收益,那么 LP 将不再提供流动性,因此无常损失的大小是决定 AMM 类 DEX 能否正常运行的关键。

减少无常损失的最好解决方式是:减少 AMM 下的交易价与市场公允价之间的偏差,现行的方案有借助稳定币进行过渡交易,以及更为巧妙的预言机方案。预言机的作用是为智能合约提供真是准确的价格来降低价格偏差,减少无常损失(只能减少,不能消除)。

📔 相关阅读:

🔨 区块链开发

  • Infura 和 Truffle 新增支持 Polygon:
    • Polygon 是一个协议和一个框架,用于构建和连接兼容Ethereum的区块链网络。它提供以太坊上聚集可扩展的解决方案,支持多链的以太坊生态系统
    • Infura 提供了托管的以太坊节点,为去中心化应用提供基础架构,通过 INFURA 可以你可以智能合约发布到以太坊网络上
    • 关于 Truffle 以及其他开发框架的介绍,见 un.Block 2021 #2

🧰 区块链工具分享

  • Archer Swap: V 神抛售 meme Token 时选用的 DEX 工具,具有防抢跑、零滑点、零取消成本的特点,依靠 UniSwap 和 SushiSwap 的流动性
  • 无常损失计算器

📖 附加题

EIP 2718 可以解决 Gas Fee 高涨的问题吗 🤔


🔔 订阅 un.Block Weekly

✈️ Telegram 频道


🚏Find us

提问&纠错&反馈:

Email:unblocketh@gmail.com

视觉设计:Jenny

特别鸣谢:

本文非商业目的转载授权遵循 CC BY-NC 4.0 协议

版权所有 ©️un.Block 2021