月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 币赢 > 正文

以太坊:抢先交易机器人:以太坊黑暗森林中的怪物_OIN

作者:

时间:1900/1/1 0:00:00

这是一个恐怖且真实发生的故事

挑战

像任何正常人一样,我花了很多时间潜伏在UniswapDiscord的支持频道里。

周三下午,有人问是否能够收回意外发送到配对合约的Uniswap流动性代币。

我最初的想法是,这些代币将被永远锁定,但那天深夜,我突然意识到,如果这些代币仍在那里,那任何人都可以去恢复它们。

当任何人调用Uniswap核心合约上的burn函数时,该合约会测量自己的流动性代币余额并将其烧掉,将提取的代币提供给调用者指定的地址。这是Uniswapv2预期行为的核心部分。

我找到了这个合约,这些流动性代币仍然在那里,它们的价值大约为12000美元。

这意味着三件事:

有一个滴答作响的时钟,即使没有其他人注意到这笔免费资金,任何人都可以在任何时候移除自己的流动资金,并意外地从合约中获得这些代币;

2018年以来一些交易者抢先买入10%至25%的Coinbase上市代币:金色财经消息,悉尼科技大学学者研究发现,员工可能不是加密货币交易所Coinbase内幕交易的唯一实例,自2018年以来一些交易者抢先买入了10%至25%(或15%至37%)Coinbase上市代币。

此前报道,前Coinbase产品经理ISHANWAHI因向其兄弟和一位朋友泄漏Coinbase上币信息遭到指控。(彭博社)[2022/8/22 12:39:47]

我可以戴上我的白帽,试着帮失主找回他的代币,这很简单,我只需要调用池子的burn函数,将我自己的地址传递给它。

只是…我知道这不简单。

黑暗森林

以太坊区块链是一个高度敌对的环境,这一点已经不是什么秘密。如果一个智能合约可以被用来牟利,那它最终就会被利用。黑客攻击的频繁发生表明,一些非常聪明的人花了大量时间来检查合约中的漏洞。但这种无情的环境与Mempool相比显得相形见绌。如果说区块链本身就是一个战场,那么mempool就是更糟糕的东西:一片黑暗的森林。

Coinbase:非常重视有关抢先交易的指控,对非法行为零容忍:金色财经报道,Coinbase的一位发言人在一份声明中回应了悉尼科技大学研究人员的一项研究称,“Coinbase非常重视有关抢先交易的指控,我们努力确保所有市场参与者都能获得相同的信息。作为这项工作的一部分,我们已采取措施将资产测试和集成步骤中出现技术信号的可能性降至最低。我们对非法行为零容忍,并对其进行监控,并在适当的时候进行调查。”

此前报道,悉尼科技大学研究人员的一项研究发现Coinbase内幕交易实例超出7月份被指控范围。[2022/8/18 12:32:43]

《黑暗森林》是我最喜欢的科幻小说,它引入了“黑暗森林”的概念,在这种环境中,探测意味着某些高级捕食者的死亡。在这种环境下,公开识别别人的位置和直接摧毁他们一样好。

在以太坊Mempool中,这些顶级捕食者会采取“套利机器人”的形式。套利机器人监控等待中的交易,并试图利用它们创造盈利机会。对于这些机器人,没有哪个白帽比PhilDaian更了解这些机器人,他和他的同事一起撰写了《FlashBoys2.0》论文,并创造了术语“矿工可提取价值”。

Valkyrie:BIS对比特币ETF抢先交易的担忧是错误的:12月17日消息,ETF 经理 Valkyrie 表示,国际清算银行对投机者利用比特币期货交易所交易基金 (ETF) 从一份合约到另一份合约的月度展期的担忧过度了。众所周知,这些基金面临期货溢价,这是由于短期合约到期导致的多头头寸在月末展期而导致的业绩随着时间的推移而下降。然而,据国际清算银行称,投机者利用月度展期可能会加剧这个问题。虽然这种抢先交易过去对传统市场 ETF 的表现产生了重大影响,但尚无交易员在加密市场采用类似策略的迹象。

Valkyrie Investments ETF 投资组合管理负责人Bill Cannon表示:我们没有注意到任何与 BTF 期货展期相关的提前交易。” “流动性一直很健康,执行方面没有任何问题。(Coindesk)[2021/12/17 7:46:46]

Phil曾经告诉了我一个他称之为“广义抢跑者”的宇宙恐怖存在。套利机器人通常在Mempool中寻找特定类型的交易,并尝试按照预先确定的算法进行抢先交易。通用的抢跑者通过复制并用自己的地址替换来寻找任何可使抢跑获利的交易。

以太坊客户端Geth在最新版本中加入了减少抢先交易的逻辑:以太坊官方客户端Geth在最新的双周维护版本1.9.19中加入了减少抢先交易(front-running)的机制。变更记录中表示,该版本将会在挖矿过程中,按交易收到时间对同价交易进行排序,以减少抢先交易的情况。[2020/8/17]

这就是为什么这次救援行动不会简单的原因。任何人都可以调用这个burn函数,如果我提交了一笔调用burn函数的交易,它就像一个闪烁的“免费货币”标志,直接指向这个有利可图的机会。如果这些怪物真的在mempool中,它们会看到,复制然后变异,并在我的交易被接受之前抢先完成交易。

请注意,这种环境比以太坊区块链状态本身更残酷。这些免费的资金已经在区块链上停留了大约8个小时,它们尚未被发现,等待着被任何一个调用burn函数的人从池子中提取出流动性代币。但任何试图捡起它的尝试,都会在飞行过程中立即遭到阻击。

营救行动

以太坊2.0或将再被推迟 多个竞争对手或抢先运行PoS共识:5月23日,The Daily Hodl发布分析文章称,以太坊2.0的发布可能会再次推迟,因为开发者计划在2020年6月升级股权证明(PoS)算法。主要原因是系统中存在多个bug,以及竞争对手正努力超越以太坊以成为市场上第一个成功实现股权证明的区块链。不断寻找代码错误是推迟最初计划于2020年1月启动以太坊2.0的主要原因。由于负责存储区块链数据和验证区块的是客户端,因此确保它们完全同步是非常重要的。目前,Ethereum 2.0有7个客户端正在开发中,大多数客户端都在为Schlesi测试网络进行优化。Ethereum 2.0的Schlesi测试网络非常成功,为6月份基于0.12规范的更正式的测试网络带来了希望。该小组目前进行的大部分工作致力于纠正代码中的错误和改进检测方法。但是,以太坊“多客户端模式”造成了延迟,因为人力资源不足以确保最佳开发。然而拥有多个客户端对于维护高水平的网络安全性是至关重要的,并且开发团队肯定不会为了最佳的启动时间而牺牲安全性。即使这意味着打破一些承诺并推迟发布。为了加快系统的完善,bug赏金计划已运行一段时间。虽然Ethereum的开发人员正在修复这些缺陷,但他们的竞争对手很可能会首先获得运行的股权证明共识,Harmony、Tezos、EOS、Cosmos、Algorand和Qtum现都有可行并可操作的产品。[2020/5/24]

为了在不通知机器人的情况下提取到资金,我需要混淆这笔交易,这样机器人就无法检测到它对Uniswap对的调用,这将涉及编写和部署定制合约。尽管我是一个专业的DeFi思想领袖,但我以前从未在以太坊上部署过合约。

我需要帮助,而当时已经过了午夜。幸运的是,我认识的一些最好的智能合约工程师生活在欧洲时区。我在Paradigm的同事GeorgiosKonstantopoulos同意帮助部署合约并提交交易。我们另一家投资组合公司Yield的首席工程师AlbertoCuestaCa?ada则自愿执行合约。

一些优秀的以太坊安全工程师帮助我们想出了一个混淆方案。除了将调用隐藏为内部交易外,我们还将交易分为两部分:一笔是激活我们合约的set交易,另一笔是在合约被激活的情况下拯救资金的get交易。具体实施如下:

部署一个Getter合约,当所有者调用它时,它只在激活时发出burn调用,否则将恢复;

部署一个Setter合约,当所有者调用它时,它将激活Getter合约;

在同一个区块中提交set交易和get交易;

图:我们自定义智能合约的代码

如果攻击者只尝试执行get交易,它将在没有调用set交易的情况下恢复。我们希望在攻击者按顺序执行这两笔交易之前,我们的交易能够先被区块纳入。

图:我们的救援脚本

令我们惊讶的是,即使我们手动调高了gas费用,set?交易依旧被Infura拒绝了。在几次失败的尝试和重置之后,时间给了我们压力,然后我们开始变得草率了。我们让第二笔交易溜到了之后的一个区块。

而这成了一个致命错误!

我们的get交易确实被纳入了,但是出现了一个UniswapV2:INSUFFICIENT_LIQUIDITY_BURNED错误,这意味着流动性代币没了。结果是,在我们的get交易进入mempool后的几秒钟内,就有人执行了调用,并扫荡走了资金。

怪物吞噬了我们。

教训

教训1:怪物是真实存在的!

尽管从理智上,我们知道这些抢先交易机器人普遍存在,但在你真正看到它们的行动之前,你很可能低估了它们。

我们抱着一丝侥幸,通过授权合约将救援作为内部调用,我们原本以为它能保护我们,但现实并不是。

如果你发现自己也处于这样的情况,我们建议你联系ScottBigelow,他是一位一直在研究该主题的安全研究人员,而他有一个更好的混淆原型实现。

教训2:别草率

即使在时间紧迫的情况下,我们也应该坚持原计划。如果我们花更多的时间在脚本上,调整合约,或者甚至同步我们自己的节点以避免使用Infura,我们可能就能将两笔交易放入同一个区块中。

教训3:不要依赖一般的基础设施

你所做的事情越奇怪,你就越难通过现有的基础设施,比如Infura。在我们的案例中,我们试图提交一笔基于当前区块链状态看起来会失败的交易,Infura对此有合理的保护措施。而使用我们自己的节点可以避免这个问题。

或者,如果你碰巧认识一个大矿工,你可以让他们直接在一个区块中纳入你要提交的交易,完全跳过mempool和怪物。

教训4:未来只会变得更可怕

这只是发生在我们身上的抢先交易事件的一个例子,而类似的事情每天会发生很多次。今天,抢先交易者只是机器人,而明天,则可能会是矿工。

今天,矿工们并没有抓住这些机会,把钱留在了原地,但谁也不能保证,他们将来是否会重新排序并提交自己的交易,为其自身利益服务。更糟糕的是,他们可能会重构其他矿工开采的区块,试图窃取他们没有认领的MEV,从而导致区块链的不稳定。

我们认为这种未来是可以避免的。Optimism有一个雄心勃勃的愿景,即如何将MEV重新定向以造福于生态系统,以作为其layer2扩展性解决方案optimisticrollup的一部分。

如果你正在思考关于MEV的事,或在这一领域建设些什么,请联系我们!

感谢AlbertoCuestaCa?ada、ScottBigelow、PhilDaian、CharlieNoyes以及SamSun对这篇文章提供的帮助。

End

注:原文作者是Paradigm研究合伙人DanRobinson和GeorgiosKonstantopoulos。

标签:以太坊COINOINCOI以太坊价格走势图Gift CoinCoinbase Wrapped Staked ETHCMLCOIN价格

币赢热门资讯
BIG:BigONE「DeFi 机池挖矿产品」增加 150 万 USDT 额度_bigone金大一

亲爱的用户:BigONE「DeFi机池挖矿产品」昨日上线后异常火爆,短时间内150万USDT被抢一空.

1900/1/1 0:00:00
TBI:关于Hotbit增开YFV/BTC、GEN/USDT交易对的公告_TPS

尊敬的用户:Hotbit定于北京时间09月01日14:00开放YFV/BTC、GEN/USDT交易对.

1900/1/1 0:00:00
ETH:最近很火的SushiSwap怎么参与挖矿_sushi币值得长期持有吗

最近DeFi、DEX、Stake、Uniswap、SushiSwap还有这些新出的平台爆表的收益率让踏空的老韭菜们一头雾水,更是想了解怎么参与到里面也来赶一波潮流.

1900/1/1 0:00:00
COIN:CoinBene满币上线Concentrated Voting Power(CVP)的公告_ethnographyinbusiness答案

尊敬的用户:CoinBene满币将上线CVP,支持CVP/USDT交易对,邀您体验。CVP充值时间:2020年9月1日17:30(GMT8)CVP交易时间:2020年9月1日18:00(GMT8.

1900/1/1 0:00:00
OIN:Arweave 的潜力是复兴亚历山大图书馆,而非 Filecoin 替代品_COI

为什么Arweave不是Filecoin的替代品,而是更值得关注的重大创新?撰文:刘毅,CdotNetwork创始人,RandomCapital合伙人Arweave是个「非典型」区块链项目.

1900/1/1 0:00:00
BIO:BiONE交易所关于新增上线8个5倍ETF币对的公告_ONE

尊敬的BiONE用户:平台将于2020年9月1日10:00(UTC8)新增上线一批新5倍ETF币对.

1900/1/1 0:00:00