月亮链 月亮链
Ctrl+D收藏月亮链

ETH:科学家在行动:捕猎以太坊黑暗森林中的抢跑机器人_ethereal代表什么意义

作者:

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

抢先交易机器人如何截胡资金?如何避免被抢先交易的厄运?

以太坊黑暗森林中的怪物可不是茶余饭后的玩笑。这些抢先交易的机器人能分析智能合约指令和它们之前从未在智能合约中用过的函数,以提取潜在收益。

要更好的了解这些机器人,本文提供了一次探寻以太坊黑暗森林的漫游之旅。让我们进一步深入该黑暗森林中,了解它们有多么猖獗。

我们设法「利用陷阱」,捕获了一些常见类型的抢先交易机器人,并对其行为进行了分析。

在这场漫游之旅中,我们研究了这些抢先机器人的效率,研究了各种交易被它们追猎的可能性。当然,我们还测试了不同的逃避他们的方法。

以下,enjoy。

一般来讲,抢先交易(https://en.wikipedia.org/wiki/Front_running)是指在已知的未来交易发生之前,在执行队列中插队兑现交易的行为。

抢先交易的一个简单示例是交易所出价。假设某人即将在 Uniswap 上购买大量 ETH,足以推动 ETH 价格上涨。从这种情境中受益的一种方法是在这笔大量买进 ETH 之前的瞬间抢先买入 ETH,此时价格仍然较低。然后,在 ETH 价格飙升之后,立即卖出以锁定利润。

除了这种套利交易实例,还存在很多利用抢先交易攫取价值的途径,包括清算、购买罕见的 NFT,或者仅仅是制造用户错误。(交易或成交顺序的可提取价值被称为「矿工可抽取价值 MEV」)?

以太坊中的抢先交易可以通过支付略高于正常水平的 gas 价格即可实现,通过这种方式,可以鼓励矿工在构建区块时将其交易排列在优先顺序。交易支付的手续费用越高,执行的顺序越靠前。因此,如果两笔交易都会从同一个区块中的同一个调用智能合约的指令中获利,只有先成交的那笔交易会最终获利。

Dan Robinson 和 Georgios Konstantopoulos 在联手撰写的「以太坊是一片黑暗森林」博客文章中描述了在一次试图拯救以太坊一个智能合约中价值 12,000 美元代币的行动中,遭到套利机器人截胡的经历。这些超级掠食者机器人非常先进,能追踪到以太坊交易池中任何有价值的交易,通过抢先交易的手段截胡。

现场 | Quarkchain首席科学家:联盟链与公链的协同发展与扶持值得期待:金色财经现场报道,在“2019 CAN 万物互链·区块链与全球经济新格局”大会上,Quarkchain首席科学家杨耀东表示:一般而言,联盟链的安全性可以通过传统的方法解决,公链的安全性保证则需要成熟的激励系统,因此经济模型在公链中的应用尤为重要。在公链的开发和研究中,积累的很多优势,都可以在联盟链发展中进行应用,未来两者的协同发展与扶持值得期待。[2019/12/3]

链闻注:「以太坊是一片黑暗森林」中文版文章可参见:

https://www.chainnews.com/articles/124072923888.htm

黑暗森林的故事令人「毛骨悚然」,以至于刚读到文章时简直无法相信。实际上,确实有理由质疑此类超级掠食者机器人的存在。为什么有人能从 Uniswap 协议中搞走资金呢?这个平台可是被无数机器人虎视眈眈地监视着?这些机器人是不是也就是一群普通的「套利者」而已?

今年稍早,我们发表过分析文章证实它们可不是普通的「套利机器人」。据我们所知,它们能设法调用以前从未调用过的智能合约函数。就算是通过代理智能合约对交易进行了模糊处理,但这些机器人依然可以通过此类操作掠走资金。

至少可以这样说,这令人震惊。能监视交易池中任何交易的能力是一种威力无穷的武器。令人不安的是,一些服务商开始公开提供「暗池」交易层。

「暗池」交易层无需使用诸如 Infura 之类的服务,甚至不使用私有节点,直接将交易发送给矿工,矿工承诺不会将其广播到网络中的其余节点,从而确保交易躲过掠食者的雷达。

著名白帽 samczun?曾联合多位伙伴,从一个出现漏洞的智能合约中拯救出 960 万美元的行动中采用了类似的方法。不难想象,会有矿工开始操纵抢先交易机器人,同时只为支付额外费用的交易者提供安全通道。

链闻注:关于该故事的中文版文章可参见:

https://www.chainnews.com/articles/551492636558.htm

这些机器人与以太坊的其它元素不同,只能活跃在以太坊主网,而智能合约可以在开发环境或测试网中进行测试。除了进行一些初步试验之外,让这些机器人尝试抢先交易测试网中的交易在财务上没有意义。此外,由于隐藏了逻辑,因此这些机器人的运行规则可能各不相同。

动态 | 科学家:“数币将致全球气候达到危险临界值”存在明显缺陷:据livebitcoinnews报道,多名科学家对科学杂志上关于“数字货币被大规模采用,将导致全球气候达到危险临界值”的观点进行批驳,美国西北大学教授Eric Masanet表示,虽然像比特币这样的加密货币的未来增长是高度不可预测的,但我们确实知道全球电力部门正在脱碳,而信息技术,包括加密货币采矿设备,正变得更加节能。科学家观点表示,该研究存在明显缺陷。太阳能和风能等可再生能源正在增加,产生二氧化碳的密集型煤电厂将逐步淘汰;挖矿活动可能从中国等碳密集排放地区转移到冰岛或加拿大等清洁地区;比特币可能被用作价值储存,而不是用于支付,而其他具有替代验证机制的加密货币则更可能被用于支付。[2018/10/31]

我们不清楚这些领先交易掠食者决定发起攻击的条件。因此,在某些方面,追踪这些掠食者类似于追逐稀有动物。

我们不针对所有领先交易机器人,而只针对特定的,即广义类型的这种机器人。

我们要确保抓住的抢先交易机器人是「真正的」广义抢先交易者,需要一个独特的「陷阱」。陷阱是一个新造的智能合约,以 SHA256 哈希值的秘密字符串发起,并附带有一些资金。任何人只有给出秘密合约才能提取锁定的资金。资金将直接发送到提取交易的发送者。

这个陷阱的构想是以提供正确秘密合约的方式发送一个「诱饵」交易,以查看是否有人试图复制并自己给出秘密合约,从而截胡资金。如果有人在诱饵交易之前截胡资金,则意味着有人在交易池中时能对交易池进行分析,复制其相关内容并自行给出秘密合约。

有意思的是,机器人能够在一个以前所未有的智能合约中给出一个它们之前毫无所知的秘密合约来截胡资金——它们确实是真正的广义抢先交易机器人。

该实验一个不可或缺的部分,是要了解广义抢先交易机器人的工作机制。但是如果有人打造了一台赚钱机器,他们是不可能在 Github 上进行分享的。因此,我们只能对掠食机器人的行为进行观察和反向工程。

打造广义抢先交易机器人通常需要两个组件:

第一个组件是一个以太坊账户,有或没有智能钱包代理,它们篡改的交易将会被发送到这个钱包。

第二个是「后端」,即操作的大脑,通常发生在链下。

这些机器人的操作者使用某种技术扫描交易池中的每笔交易,对其进行解析,替换其参数(例如,交易调用方),并判断对其截胡是否有利润。

谷歌大脑团队的研究科学家:想让过去的自己使用GPU来挖一些比特币:谷歌大脑团队的研究科学家,被称为“GANs之父”的Ian Goodfellow在参加访谈时,被问到想给过去的自己提什么建议时表示,希望使用一部分自己为深度学习而购买的GPU来挖一些比特币。[2018/5/8]

抢先交易机器人工作流

理性的机器人对于交易费用超过可能获利的交易不会发起截胡攻击。总计交易费用可能较高,尤其是在 Gas 价格高昂的时候,因此,要想让抢先交易机器人攻击我们的诱饵交易,需要一定的最低利润。

此外,由于机器人需要对交易池中的每笔交易(其中有很多交易)进行分析,因此时间也很重要。以太坊平均需要 12 秒产出一个区块。如果交易的 Gas 价格足够高,则必须在下一个区块产生之前对其进行分析并足够快地替换掉原交易。

这是一个存在一定概率的过程,在交易被广播出去后,有可能有一个区块被立即挖出,导致机器人没有时间来成功分析该交易并广播一个抢先交易。

考虑了这些因素以及一些想法,我们测试了抢先交易机器人出手截胡诱饵的条件。

我们的智能合约 (付款方?Giver:https://etherscan.io/address/0x36cb72433fbe10f03988b9d61d6c479a97a2a0b0) 设立时的最初余额为 0.035 ETH,当时价值约 20 美元。任何人向合约中存储的哈希提供正确的秘密合约,就可以拿走这些资金。拿走这些资金的交易会触发掠食者的抢先交易动作,另一个账户 (接受者 taker) 会试图给出合适的秘密合约来提取资金。

第一轮:直接调用合约

为了确保基准陷阱正常运行,我们首先使用了接收者帐户来调用合同。第一次尝试时,Gas 价格相对较高(由以太框架确定),我们能够成功收回资金。

我们能成功可能是因为截胡这一交易的利润太低,不足以打动掠食者,或者因为这一交易很快被写入区块,机器人没来得及采取行动。显然这不是我们期待的结果,我们的目标是引诱掠食者进入我们的陷阱。

第二轮:给掠食者留出思考时间

这一轮中我们解决了先前遇到的问题。我们增加了潜在利润,并降低了 Gas 价格,因此交易不会太快地被写入区块,从而使机器人有时间找到它。该合约的余额增加至 0.04 ETH (余额比以前增加了 0.005 ETH)。

魁北克省首席科学家辟谣:未曾说过“比特币不是吸引犯罪活动的磁铁” :据coindesk消息,魁北克省首席科学家Remi Quirion的办公室向coindesk澄清说,此前媒体发表的一些有关首席科学家Remi Quirion对于加密货币看法的文章并非事实,Quirion并未发表过这些言论。早先曾有媒体报道,Remi Quirion称“比特币不在法律之上,也不是吸引吸引犯罪活动的磁铁”。这些内容首先出现在由非营利新闻机构Agence Science-Presse制作的文章中,并发表在了首席科学家的政府网站上。[2018/4/21]

这次我们遭到了攻击。该笔交易在被写入区块前滞留了约 3 分钟,最终未能从陷阱智能合约中提取到价值。我们审视了合约的内部交易,发现资金被别人截胡。

链闻注:该笔交易地址为https://etherscan.io/tx/0x5bfd9294747686cddf8a0be649605ac700bd45363204bbb53dc091f193e0085c

这笔抢先交易 花了 25.000001111 Gwei (比我们使用的 Gwei 数高了 .000001111Gwei) ,与我们的交易被写入同一区块,明显是截胡行动。

链闻注:该笔抢先交易地址为https://etherscan.io/tx/0x5b8221dea090c630e056e7160f065a590138eea8680c634c9134b2c37c7c394a

植入追踪器

既然我们的陷阱已经成功地俘获了一个机器人(我们也付出了一定的代价),我们可以提炼出一些有趣的洞察。

首先,交易显示未直接执行对智能合约的调用。该机器人不是复制了交易并从其拥有的帐户中盲目发送,而是还通过代理智能合约传递了该交易,其代理智能合约充当了执行这些交易的智能钱包。

我们现在可以追踪之前和未来的交易,仔细看一下这个机器人到底有多大神通,以及其如何运行。

这个机器人使用其自有的代理合约

反向编译 (https://etherscan.io/bytecode-decompiler?a=0xc798d5ed657adef1ca7bc6090c590319dffe8979)该合约,显示了两个主要函数:

Groningen大学数据科学家Oleksandr lvanov:Tether发行量与BTC价格相关性趋零:近日,Groningen大学(荷兰第三大大学)数据科学家Oleksandr lvanov发表的一份名为“The Tether Report”的研究报告。该报告利用统计学方法,根据Coinmarketcap的历史数据以及2017年Tether的数量,绘制出BTC价格和Tether的每日变化百分比的关系曲线,结果表明:不论是在短期还是长期,Tether发行量与BTC价格相关性都接近于零。这意味着:市场普遍认为的“是Tehter的超发推动了BTC价格上涨”是个伪命题。不过,lvanov进一步解释说,这个统计结果却并不能否定Tehter的操纵行为。[2018/2/6]

「Withdraw」主要是将该合约中的所有资金发送给机器人的运营者。另一个函数接受部分参数:要调用的合约,参数清单并传递价值参数。

有了这个函数,这个代理合约扮演了机器人运营者的智能钱包。除了能执行调用外部函数的功能外,它还可以确保交易开始时的余额至少等于结束时的余额,否则可以还原交易,从而避免在调用未知合约时可能造成的资金损失(当然不包括 Gas)。

利用 Dune Analytics 工具,我们可以看到这个机器人自 2018 年 5 月开始运营以来收获颇丰。

假设这个机器人一直使用同一个智能代理和收款地址来发起抢先交易,我们可以估计其共赚到了约 17 ETH。

该机器人不同时间段赚到的资金 (以 ETH 为单位)

第三轮:这些机器人有多智能?

既然我们已经确信这个机器人程序是主动对我们发起攻击,那么我们想测试是否可以通过第二个合约(代理合约)混淆我们对合约的调用,从而从合约中成功提取诱饵资金,该代理将调用一个函数来从诱饵合约(giver)中提取诱饵资金。(该合约还具有「收款」函数,可将资金退还给我们)。

我们部署了 ProxyTaker 合约,调用适当的函数,试图提取资金。由于通过代理的行动的成本比之前略高一些, giver 合约的余额又上调至 0.055 ETH。结果是我们的交易立刻被另一个机器人抢先交易 。

链闻注:

ProxyTaker?合约地址为?https://etherscan.io/address/0x68b1b608034e9f4d34e777e1529bc157e17f60c8

调用地址为https://etherscan.io/tx/0xf4b8b57a6e61e97b954da6f9c6b66494aa764bdf0b3a4643e3beb8b276fd7b07

机器人抢先交易地址为https://etherscan.io/tx/0x8b358f45f28d27eb4910bd3a244527399c627c6066c70efc1c3fcb6ffc8517da

这一次机器人的手法更令人叹为观止。该机器人不仅能侦测出我们的提取交易,而且能从一个完全不同智能合约的内部调用中识别该交易!而且这一切是以创纪录的短暂时间内完成,我们的提取交易是在几秒后就被写入新区块,掠食者的抢先交易也是。

该机器人的身份也很有意思。该机器人的智能合约(https://etherscan.io/address/0xea4df374e6b7b3772bb5f98cea1a22606a9eb54c)主要是被这一账户(https://etherscan.io/address/0x052ede4c2a04670be329db369c4563283391a3ea)运营。该账户在 Etherescan 发表过一条评论,当时那条主贴是白帽讨论从一个有漏洞的 Bancor 智能合约拯救资金的内容。

运营者账户中的信息 (来源 : etherscan)

考虑到该机器人的相同行为特征(利用账户 A 调用代理,将资金转至账户 B) ,以及与上述交易的临近特征,有理由怀疑这个机器人在上述事件中也对白帽的资金拯救行动进行过(https://etherscan.io/tx/0x43f5612bacb17117f538e7a08822f9f7956d82755d5b7b406bfffcea588f5ebe)广义抢先交易。

这个机器人比我们之前遇到的那个要智能很多。它不仅瞄准 ETH 交易,还进行各种套利交易。

单从其账户余额来判断,其收获成果也要高出很多。目前该账户中余额约有 300 ETH (时价 18 万美元)。我们还可以从合约地址中算一下所有流入和流出的资金,以估算其收益,其总额约为 900 ETH。

这只是一个粗略的估计,因为该帐户可能进行过与其抢先交易活动无关的交易。这里是该机器人所有盈利的交易列表:

https://www.duneanalytics.com/queries/14863

为了让挑战更刺激,我们进行了更模糊的尝试,这一次使用了仅我们能够使用的代理合约 OwnedTaker。

这个陷阱与第三轮非常类似。Giver 合约余额为 0.05 ETH。同一笔交易中还包括了将资金返还我们的交易,而不是留在合约中。

第一次尝试中,资金支付给 OwnedTaker 合约的该交易(https://etherscan.io/tx/0xce539b25b05e106c2f4ff0f6f76158efe436f1d8c9568048d4dcd1c016a6fef0)

花了约 1 分钟写入区块,我们最终收回了资金。

我们随之重复了这一实验,这次 giver 合约余额提高至 0.06 ETH,迄今我们使用的最高一次余额,确保不会因为价值太低让抢先交易机器人觉得不值得出手。

Gas 价值也被蓄意设在较低的值。该交易

(https://etherscan.io/tx/0x0eb7efff8e6386b13e8ebb7453689412cd2e23f844f70e18acb97209eb07d276)

滞留了约 7 分钟,但我们依然成功提取了资金。

加入只能由合约主人转发交易的 Owned 代理合约,在两次交易中使得上述两个已知的领先交易机器人无法成功解析数据并截胡。

成功提款

也许是只允许合同主人执行调用的要求,或者资金被发送到与调用合约不同的目标地址这一事实,能帮助避免机器人的抢先交易尝试。

机器人很可能被调教为首先考虑自我保护。毕竟它们正在调用未知合约,该合约可能执行任意代码。可以合理地假设:如果不能保证利润,它们将避免不必要的风险或交易费损失。

具体取决于您如何看待它。我们使用了新合约,但只有我们知道一个这个秘密合约。很明显,我们发现的两个领先交易机器人都是在交易池中进行所有交易,并且从它们的利润来看,它们干的很不错。

我们为什么在最后的尝试中避免了被抢先交易的厄运呢?

具体原因很难判断。可能是机器人不愿冒与经过身份验证的合同进行通信的风险,或者资金被转移到另一个地址这一事实是出乎其意料。

这绝对不意味着这是避免被领先交易的完全可行的方法。最有可能的是,在以太坊交易池中潜伏着更复杂的机器人,它们只是根本不愿意冒险冒险获得这么小的利润。

在这一简短的实验中,我们能够展示广义抢先交易机器人的存在,以及其智能程度之高。

当然,我们很清楚我们的实验既不完整也不确定。还存在许多其他的机器人,它们的触发机制和运营方式截然不同,诸如潜在盈利、通信特征和最低复杂度(例如,通过 gasLimit)等因素可能会影响其运营方式。

不过我们确信我们的工作提供了一种概念验证,让人们进一步弄清这些广义抢先交易机器人的作案手法。

目前令人震惊的现实是,如果存在任何人都可以调用智能合约而获利的交易,即使它非常晦涩难懂,现实是很有可能被某个抢先交易机器人捷足先登掠走资金。

因此了解这些机器人及其运行方式至关重要,这样我们才能在现在和将来构建更安全的系统。诸如 Flashbots 之类的项目试图通过让 MEV 提取民主化并使其成为公共资源来做到这一点。我们希望这项研究有助于实现这一目标。

感谢 Tal Be’ery、Omer Shlomovitz、Oded Leiba、Dan Robinson 以及其他帮助审阅本文的各位。

链闻注:文中作者所用相关合约代码可在原文附录查看:

https://medium.com/zengo/ethology-a-safari-tour-in-ethereums-dark-forest-677566d7c575

撰文:Alex Manuskin,加密货币钱包 Zengo 区块链研究员,作者授权链闻发表该文章的中文版本

编译:Perry Wang

标签:ETHTHEHERETHETether EURethereum公链tether币价格ethereal代表什么意义

中币交易所热门资讯
数字人:金色前哨 | 建行数字人民币钱包已支持绑定招行等8家银行银行卡_比特币总市值

2021年是DCEP普及年。而要普及,银行的数字人民币钱包必须支持更多的银行卡才行。2020年的DCEP进展请看此前金色财经的报道“一文读懂DCEP的2020年”.

1900/1/1 0:00:00
METAM:以太坊第一钱包MetaMask是怎样炼成的?_metamask真的假的

2020年1月6日,因MetaMask官方推特一则介绍MetaMask Swaps的视频更新,随后Shapeshift首席执行官Erik Voorhees在推特发布一条预告推文并配上神似Meta.

1900/1/1 0:00:00
EFI:DeFi周刊 | 新COVER代币启动 DeFi市场出现巨鲸五个月吞金2.8亿美元_ETH

DeFi周刊是金色财经推出的一档每周DeFi领域的总结栏目,内容涵盖本周重要的DeFi数据、DeFi项目动态等.

1900/1/1 0:00:00
比特币:比特币高涨行情下 他们亏了:高杠杆炒币9胜1败也可能清零_加密货币行情英为行情

原文标题:《比特币高涨行情下 他们亏了:高杠杆炒币9胜1败也可能清零》“2020年3月12日6点30分,我在家里吃饭。”现在想起来,来自湖北武汉的炒币者鲍先生还清晰地记得这一时刻.

1900/1/1 0:00:00
BIKI:BiKi的2020 身在潮流才能引领潮流_wstUSDT价格

2020年12月26日,在第二届与时共创年度金色盛典上,BiKi荣获“2020年度区块链百强企业”、 “2020年度最佳数字金融服务平台”、 “2020年度最具影响力品牌奖”.

1900/1/1 0:00:00
数字货币:加密资产2020收官季:前30总市值破5000亿美元 平均上涨超51%_bitopro交易所

四季度,尽管DeFi流动性挖矿仅留余温,但BTC却开启了加速上涨模式,让市场为之瞩目。BTC不仅突破2万美元创下历史新高,而且还在不断上涨刷新这一记录.

1900/1/1 0:00:00