Bitget App
Trade smarter
行情交易合约跟单策略理财Web3

零时科技 || Fount-running, MEV 和 Hacker

零时科技零时科技2023/11/23 04:51
作者:零时科技

0x00 背景

最近,我们监控到了一笔抢跑的攻击事件,被攻击者是 HopeLend,攻击交易为:

https://etherscan.io/tx/0x1a7ee0a7efc70ed7429edef069a1dd001fbff378748d91f17ab1876dc6d10392

在区块 18377042 中被抢跑的原始攻击交易为:

https://etherscan.io/tx/0xa414de03bbf7baccea6b5c95af9ebfbed43b1c3151debd29673df979a0f4b0b0

同样在区块 18377042 中由于,抢跑攻击交易 position 为 0,被抢跑的攻击交易 position 为 5,所以抢跑成功,真正的黑客攻击失败。

那么抢跑者如何控制交易顺序的呢?我们可以观察到抢跑的 gas fee 和被抢跑的 gas fee 没有多大的差异,那么真的这么巧,刚好让抢跑的交易在被抢跑的之前执行?

我们可以观察到一笔 264ETH 的转账

随后我们可以打开这笔交易所在的区块,我们可以发现原来这个 264 ETH 是给区块的 proposer 转账。那么,这块就很好理解,哪个 proposer 能优先 propose 抢跑交易的区块,就会获得 264 ETH 的费用。这个 264 ETH 其实就是 MEV

0x01 什么是 MEV

MEV 全称是 Miner Extractable Value,就是矿工可提取价值。可提取价值不是指矿工打包区块收取的手续费,因为这块的手续费是交易发起的用户同意的且矿工无法自行手续超额手续费。MEV 是指矿工通过增加、删除、修改交易顺序获得的超额利润。

不过在 Ethereum 升级后,MEV 的术语已经变成了 Maximal Extractable Value,即最大可提取价值。通常,MEV 的相关案例最常见的有以下几种:

Arbitrage 套利

DEX 由于使用不同的价格语言机可能会导致不同 DEX 之间的价格存在差异,所以可以通过一笔交易中在价格较低的 DEX 买入 TOKEN,在价格高的 DEX 抛售 TOKEN 进行获利。

Liquidations 清算

借贷协议是连接借款人和出借人的 DEX(例如 MakerDAO、Aave、Compound 等)。借款人提供平台支持的抵押品后可以借入一定价值的资产(通常需要超额抵押),当借款人的抵押品无法偿还债务时,就会发生清算,清算人可以以低价购买抵押品偿还债务。清算机器人通常会搜索借款人的资产,第一时间进行清算,获得借款人的抵押物。

Sandwich 三明治攻击

三明治攻击又叫夹子攻击,三明治攻击利用 DEX 的 AMM 机制,例如,CPMM 算法下,大额买入会拉升对应 Token 的价格。所以,攻击者在监控到大额买入时,在其买入前发起一笔买入交易(使其的 Slippage 在客户允许的范围内),然后在其买入后再发起一笔卖出交易即可获利。


0x02 Flashbots 和 PBS

Flashbots

Flashbots 是一个研究和开发组织,旨在减轻 Maximal Extractable Value(MEV)对区块链的负面影响,特别是以太坊。他们的主要目标是通过 MEV-Boost 等产品为 MEV 打造一个无需许可、透明和可持续的生态系统。未来的 MEV 发展应专注于跨链 MEV 捕获、最小化价值流失、最小化对协议真实用户的潜在负面影响,并确保参与者公平分配等方向。

PBS

PBS 全称 Proposer-Builder Separation,原意将 PoW 时代矿工的工作拆分成两个部分:1. 交易排序打包由 Builder 负责;2. 打包后的验证,投票由 Proposer 负责。这样做的好处就是让负责交易验证的节点门槛降低,吸引更多的节点加入进行验证,使得 Ethereum 的去中心化程度进一步增加。

如果 Builder 直接把 transaction bundles 发送给 Proposer,那没法避免恶意的 Proposer 将其中的 MEV 机会替换为自己可获利的交易,那么 Builders 就会受到相应的损失。所以,flashbot 在 builder 和 proposer 中间加了一层 relay,relay 不会直接把完整的区块内容发送给 proposer,而是仅仅发送 block header,那么 proposer 对 block header 进行签名,relay 在拿到签名后再将完整的 block 发送给 proposer。那么,如果此时 proposer 替换了区块的内容则会受到 Ethereum 机制的惩罚。

Pay Tips (bribe) to proposer

那么,黑客是如何支付带外费用呢?简单来讲,黑客通过 Smart Contract 向 Coinbase 转账即可,如下:

function payForTips public payable(uint256 payTips) {

block.coinbase.call{value: payTips}("");

}

其中,block 可以获得区块的信息,coinbase 为 proposer 的地址,于是可以通过这段代码给该区块的 proposer 支付费用。

在此次攻击事件中,抢跑黑客可以 build 一个 bundle,将自己的交易放到最前,由于黑客的钱包交易成功执行后,proposer 会获得 264ETH 的天价费用,则 proposer 会优先 propose 抢跑黑客的 bundle。此时,就完成了攻击抢跑。


0x03 思考

在此次攻击事件,抢跑黑客通过支付天价 Tips,使其先于其他黑客完成攻击。所以,似乎 proposer 也没做错什么,仅仅是选择收益最大的 bundle 进行 propose。当然,很多攻击者也会针对正常的交易进行抢跑,三明治攻击等。如何防范这种攻击呢?其实当我们了解了 MEV 的原理后,就会明白,基本上所有的 MEV 机会都会在 Public mempool 中搜寻,只要我们将 transaction 提交到 private pool 即可避免这种风险,例如,flashbots 就提供 private mempool。


0x04 参考

https://ethereum.org/en/developers/docs/mev/

https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/

https://noxx.substack.com/p/order-flows-kingmaker-of-the-block

https://eips.ethereum.org/EIPS/eip-4895

https://medium.com/taipei-ethereum-meetup/after-the-merge-mev-309e836698cf

0

免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。

PoolX:质押赚新币
CEC、QTLX、GDV等热门新币火热进行中!
立即质押!

你也可能喜欢

鲍威尔兑现华尔街最想要的降息!但市场依旧疑虑重重

周三几乎所有主要资产都出现下跌,虽然跌幅并不大,但自2021年6月以来,美联储政策决议后市场从未出现过如此一致的回调。

Jin102024/09/20 20:09

美联储本次是“鹰派降息”?未来关键或在于鲍威尔会有多鸽!

花旗预计美联储将在11月再降息50个基点,并在12月降息25个基点。

Jin102024/09/20 20:09

美联储降息后,特朗普怒喷:这是在操控政治!

美联储的降息举措已经在两党之间产生巨大反响,哈里斯“点赞”,特朗普认为美联储居心叵测。

Jin102024/09/20 20:09

FBI:伊朗黑客一直在干预美国大选!

伊朗黑客据称窃取了特朗普的竞选材料,并发送给之前的拜登竞选团队。伊朗反驳:毫无根据!

Jin102024/09/20 20:09