木星链 木星链
Ctrl+D收藏木星链
首页 > SAND > 正文

TRU:热点丨以太坊黑暗森林中的“捕食者”

作者:

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

作者?|?AlexMenUskin

以太坊的黑暗森林怪物并不是开玩笑的。这些Frontrunning的机器人可以分析它们从未在智能合约中使用过的智能合约调用和功能,以获取潜在利润。

鉴于人们对这些机器人普遍缺乏了解,我们开始了一场狩猎之旅,来进一步了解这种情况,看看它们有多普遍。我们设法“捕获”了一些通用的前端机器人,并分析了它们的行为。我们研究了它们的效率和交易被“追捕”的可能性。我们也测试了不同的方法来躲避它们。

什么是Frontrunning?

通常,Frontrunning是在一个已知的未来事务发生之前,在执行队列中第一个获取事务的行为。

Frontrunning的一个简单例子是交换竞价。假设有人打算在Uniswap上购买大量ETH,这足以推高ETH的价格。从这种情况中获益的一种方法是在购买大量ETH之前进行交易,同时价格保持较低。然后,在价格飙升之后,出售ETH获利。

除了这个套利例子,Frontrunning进行许多其他交易也可能是有价值的,包括清算,购买罕见的NFT,或简单的用户错误。。

在以太坊上Frontrunning是通过在交易中出价稍高的交易费来实现的,激励矿工在构建区块时更早地排序,较高的支付交易首先执行。因此,如果两个从同一个合约调用中获利的交易被放在同一个区块中,只有第一个交易获得利润。

行为学

DanRobinson和GeorgiosKonstantopoulos在《ETH是黑暗森林》的一篇博客文章中描述了一次试图Frontrunning的行为,其中有1.2万美元落入了一个复杂的“捕食者”的魔爪中。一个捕食者如此领先,它可以追踪以太坊交易池中的任何有价值的交易,并通过Frontrunning的方式获取收益。

《黑暗森林》的故事太“恐怖”了,一开始很难让人相信。的确,我们有理由怀疑这种“食肉动物”的存在。资金如何从Uniswap这个被大量机器人严密监控的套利平台中撤出?它可能是一个“常规的”套利者吗?

火币朱嘉伟:金融相关领域成为近年区块链行业热点:8月11日下午,火币集团首席运营官朱嘉伟发表了题为《走出巴别塔 区块链通向产业应用的密码》的主题演讲,他表示,区块链技术正在逐渐从纯概念阶段进入初级应用的落地尝试阶段。其中金融相关领域已经成为近年热点,包括数字身份,法定数字货币以及更广泛的金融安全(监管)基础架构。火币在产业应用方面的实例包括区块链积分体系,区块链溯源管理平台等。[2020/8/11]

今年早些时候,我们的深入分析证明事实并非如此。这可不是普通的机器人。它成功地调用了一个合约函数,据我们所知,这个函数以前从未调用过。尽管通过代理智能合约对交易进行了混淆,但这笔资金还是被抽走了。

至少可以说,这相当令人担忧。监视交易池中的任何事务的能力是一种超级强大的武器。令人担忧的是,一些服务开始公开提供“暗池”交易层。

“暗池”交易层不使用Infura这样的服务,甚至也不使用私有节点,而是直接将交易发送给矿工,并承诺不会将交易传播到网络的其他部分,从而保证交易安全不受掠夺者的窥探。

samczun和co.在试图从一份易受攻击的合约中榨取960万美元时,也使用了类似的方法。不难想象,矿工们开始自己使用Frontrunning的机器人,而只向那些支付额外费用的人提供安全通道。

与以太坊的其他元素不同,这些机器人只存在于以太坊主网上。除了一些最初的试验,他们尝试并Frontrunning测试网交易在财务上没有意义。此外,他们不必遵循与所有人相同的规则,因为他们的逻辑是隐藏的。

我们不知道这些Frontrunning的掠食者何时决定攻击。所以,在某种程度上,追踪这些捕食者就像追捕稀有动物一样。我们不想只针对任何一个Frontrunning者,而只是特定的,一般化的那种。

为了确保我们抓到的Frontrunning者是“真正的”一般的Frontrunning者,我们需要一个独特的陷阱。该陷阱是一个新创建的合约,由一个SHA256哈希秘密字符串发起,其中有一些资金可供获取。只有提供了这个秘密,才能取出锁定的资金,资金将直接被发送到提取交易的发送方。

声音 | 建信基金总裁张军红:区块链等新技术在公募基金行业的运用正成为发展热点:据上海证券报报道,建信基金总裁张军红接受采访表示,金融科技的浪潮正成为推动资管行业未来发展的新引擎,也是公募基金行业发展“第二曲线”的必由之路。大数据、人工智能、云计算、区块链等新技术在公募基金行业的运用正成为发展热点。[2019/8/12]

他们的想法是发送一个提供正确秘密的“诱饵”交易,看看是否有人试图复制它,然后自己提供秘密,从而获得可用的资金。如果有人在诱饵交易之前拿到了资金,这就意味着有人能够在交易还在交易池l的时候分析它,复制它的相关内容,并自己提供秘密。

有趣的是,他们将提供一个他们之前不知道的秘密,一份从未见过的合约,来获得资金。

一般的Frontrunning者是如何工作的?

这个实验的一个重要部分是了解Frontrunning者的工作原理。然而,如果有人建立了一个赚钱的机器,它可能不会在Github上分享。因此,我们只能观察和按工程犯罪者的行为逆向分析。

构建一个通用的Frontrunning者通常需要两个部分。第一个组件是一个以太坊账户,无论是否有智能钱包代理,修改后的交易都可以发送到该账户。第二个是“后端”,也就是操作的大脑,它大多发生在链下。操作符使用一些技术来检查池中的每个事务,解析它,替换它的参数,并确定它是否有任何利润。

一个理性的机器人不会尝试去做一笔费用超过潜在收益的交易。交易费用加起来可能会相当多,尤其是在交易费的时候。因此,要吸引机器人上钩,就需要一个最小的利润。

搜狗CEO王小川:区块链是时下的爆款,哪家公司都不会放过这样的营销热点:搜狗CEO王小川在接受媒体采访关于当下消费品+区块链火爆的现象时谈到,“区块链是时下的爆款,哪家公司都不会放过这样的营销热点。但要明白的是,当商家在自家产品的名字前加上区块链三个字的时候,往往瞄准的就是用户的猎奇心理。”搜狗CEO王小川提醒说,“消费者购物时,切莫被营销者的口号包装蒙蔽了双眼,自己需要的才是最好的。”[2018/4/4]

此外,由于需要对交易池中的每个事务进行分析,所以时间也是至关重要的。挖掘一个以太坊区块平均需要12秒。如果这笔交易的交易费足够高,那么必须在下一个区块到来之前足够快地对其进行分析和替换。

这是一个概率过程,有可能在一个事务被广播后立即挖掘一个块,让机器人没有时间成功地分析它并广播一个正在运行的事务。

有了这些考虑和一些想法,我们测试了机器人抓住诱饵需要多少时间。

设置陷阱

我们的合约的初始余额为0.035ETH,当时价值约20美元。任何向合约中存储的Hash提供正确原像的人都可以获得这些资金。为了获得资金并作为掠夺者的触发器,一个单独的账户将试图通过提供适当的"逆象"像来提取资金。

第一轮:直接调用合约

为了确保我们的基线陷阱能够正常工作,我们首先使用获得者帐户来调用合约。第一次尝试时,交易费相对较高,我们成功收回了资金。

这可能是由于利润过低,无法吸引捕食者,或者因为交易挖掘得太快,它们无法做出反应。显然,这并不是我们想要的结果,因为捕获捕食者是我们的目标。

第二轮:给他们时间思考

在这一轮中,我们解决了之前遇到的问题。我们增加了潜在利润并降低了交易费,这样交易就不会被挖得太快,给机器人时间去发现它。该合约还追加了0.04ETH。

这一次,我们成功了。该交易在被挖掘前等待了大约3分钟,没有从合约中获得价值。根据合约的内部交易,我们可以发现资金流向了别人。

我国年内将出台系列政策“组合拳” 推动区块链等热点产品及服务创新研发:据《经济参考报》报道,为进一步扩大消费,我国将在年内出台一系列政策“组合拳”,其中,推进新技术产品的普及和应用,以及推动信息消费扩大升级,将成为未来我国培育消费新增长点的两大政策主线。此外,我国还将继续推动信息消费扩大升级。具体措施包括:制订发布信息消费发展指南,深化国家信息消费试点示范城市创建,持续优化信息消费环境;推动智能家居、可穿戴设备、虚拟现实、区块链等热点产品及服务创新研发;加快消费电子智能化转型,实施超高清视频产业创新工程,带动超高清视频产业整体升级;拓展电子产品在交通、海洋、医疗等领域的新型示范应用。[2018/3/28]

当前事务使用25.000001111Gwei,并且与尝试的“提取”在同一个块中被挖掘。

培养追踪者

既然我们已经成功地找到了一个机器人,我们可以得出一些有趣的见解。首先,事务表明对合约的调用没有直接执行。机器人并不只是复制交易并盲目地从一个拥有的帐户发送它,而是通过代理智能合约传递它,该代理智能合约充当一个智能钱包来执行这些交易。

现在,我们可以跟踪以前和将来的事务地址,以查看机器人的成功程度及其操作方式。

反编译合约有两个主要功能:

“提款”,基本上就是把合约中的所有资金都交给合约的运营商。另一个函数接收一些参数:一个要调用的合约、一个参数列表和一个传递的值参数。

通过该功能,代理合约为运营商充当了智能钱包的角色。除了执行调用外部函数的能力,它还可以保证交易开始时的余额至少和交易结束时的余额一样多,否则还可以恢复,从而避免在调用未知合约时可能出现的资金损失。

金色财经独家消息 王彬生谈《人民日报·三问区块链(经济热点)》:区块链引发的变革本质不是技术问题:金色财经独家消息,王彬生教授针对《人民日报·三问区块链(经济热点)》做出回应,王教授表示:“区块链引发的变革本质不是技术问题,今天计算机专家看比特币以太坊会感觉高深吗?区块链技术的关键是信息的传递成本越来越低,未来边际成本接近零,每个人都可以发布信息每个人都可以记录信息,这才是是区块链引发变革的本质。很多人将区块链理解成高深的技术问题,期待杀手级应用,这个方向是错误的,引起社会变革的技术必须足够简单,茅台要是发token,9000亿市值的股票可能不再存在,把买茅台酒的消费行为和股票的金融行为融合了,这还不是杀手级应用吗?”[2018/2/26]

使用DuneAnalytics,我们可以看到自2018年5月开始机器人取得了多大的成功!

假设这个特定的机器人总是使用相同的代理和发送地址来发行交易,我们可以估计它的收益总计约17ETH。

第三轮:他们到底有多聪明?

现在我们已经确信机器人要攻击我们了,我们想测试是否可以通过第二个合约来混淆我们的调用,从而从我们的合约中提取诱饵。。

我们部署了ProxyTaker合约,并调用了适当的函数,试图提取我们的资金。由于通过代理收取资金的成本略高,授予者合约的金额略高,为0.055ETH。你瞧,我们的交易立刻被另一个机器人抢跑了。

这一次更令人印象深刻。机器人不仅能够检测我们的提取事务,而且它从一个内部调用中,从一个完全不同的合约中识别它!以破纪录的速度完成了这一壮举。我们的提取交易在几秒钟内就被挖掘出来了。

机器人的身份也很有趣。bot的合约主要是由这个账户来操作的。该账户在Etherescan上发表了评论,将其与黑客试图从一份脆弱的Bancor智能合约中提取用户资金的案件联系起来。

考虑到机器人的相同行为模式和事件的临近性,有理由认为机器人在该事件中也在对白人黑客进行普遍的Frontrunning操作。

这个机器人比前一个复杂得多。它不仅关注ETH,还进行各种套利交易。

从收集资金的账户余额来看,它也要成功得多。目前,余额约为300ETH。我们也可以从合约地址中减去所有的资金流入和流出来估算其收益,总计为~900ETH。这只是一个粗略的估计,因为该账户可能进行了与其前端运行活动无关的交易。。

最后一轮:成功提取

为了让这个挑战更有趣一点,我们又做了一次混淆的尝试,这次使用了一个只有我们可以使用的代理合约,一个OwnedTaker。

设置类似于第三轮。授予合约追加了0.05ETH。这笔资金也在同一笔交易中转回给我们,而不是保留在合约中。

在第一次尝试中,对OwnedTaker合约的交易花了大约1分钟时间挖掘,我们成功地提取了资金。

实验重复进行,这次用0.06ETH重新填充了给予者合约,这是我们迄今为止使用的最高的支付,以确保较低的支付不是缺少Frontrunning尝试的原因。

交易费也被故意设定在一个相对较低的水平。交易等待了大约7分钟,但仍然成功提取了资金。

一个只允许所有者转发交易的自有代理的组合,阻止了两家Frontrunning者成功解析数据并为自己赚取利润。

可能只允许合约所有者执行调用的要求,或者资金被发送到与调用合约不同的目标的事实,有助于避免抢先尝试。

机器人很可能会首先考虑自我保护;毕竟,它们调用的是一个未知的合约,它可能执行任意代码。有理由认为,如果利润得不到保证,他们将避免不必要的风险或损失交易费用。

那么,我们赢了吗?

那要看你怎么看了。我们签了一份新合约,还有一个只有我们知道的秘密。很明显,我们发现的两家Frontrunning者都在交易池中操作所有的交易,从他们的利润来看,他们做得很好。

上次我们为什么能抵御?

很难说。可能是机器人没有冒着与经过身份验证的合约通信的风险,或者资金被转移到另一个地址的事实是意外的。当然,这并不意味着这是一种完全避免Frontrunning者的方法。最有可能的是,交易池l中潜伏着更复杂的机器人,它们根本不愿意为了这么小的利润而冒险。

结论

在这个简短的实验中,我们能够证明通用的前端运行机器人是存在的,而且它们是高度复杂的。

当然,我们知道我们的实验还远远不够完整或确定。还有许多其他机器人有着截然不同的触发器和操作方式。诸如潜在的上行空间、沟通模式和最小复杂性等因素,可能会影响它们的运作方式。

然而,我们相信我们的工作提供了一个概念验证,并进一步揭示了这些通用的前端机器人的操作方式。

现在可怕的现实是,如果有一份合约能够产生利润,任何人都可以调用它,即使它是非常模糊的,它很有可能会被某个Frontrunning的机器人抢先尝试。

因此,了解这些机器人及其运作方式至关重要,这样我们才能在现在和未来建立更安全的系统。像Flashbots这样的项目试图通过民主化MEV开采并使其成为一种公共资源来实现这一点。我们希望这项研究有助于实现这一目标。

如果您遇到过这些机器人,或者正在研究更复杂的迷惑技术,请随时联系我们。通过分享您的经验,我们将更好地了解这些机器人,并为我们所有人建立一个更安全的加密社区。

感谢TalBe'ery,OmerShlomovitz,OdedLeiba,DanRobinson和其他人对这篇文章的帮助

附录

Giver合约

ProxyTaker合约

OwnedTaker合约

标签:TRURUNNTRNNItrue币前景rune币最新价格SyntropyNNI币

SAND热门资讯
加密货币:美财长提名人耶伦:加密货币令人担忧

美国财政部长提名人耶伦周二在参议院的确认任命听证会上表示,加密货币令人担忧。她强调了加密货币的在非法活动中使用的情况,她指出,加密货币是恐怖分子在融资和方面的特别关注点.

1900/1/1 0:00:00
区块链:2020年Q3灰度数字资产投资总额达10.5亿美元 创历史新高

12月23日,灰度官方发布《2020年第三季度数字资产投资报告》。报告显示,2020年第三季度灰度数字资产总投资金额达10.5亿美元。这一数字创下灰度季度资金流入最高纪录.

1900/1/1 0:00:00
ALI:研究 | 安全多方计算之混淆电路

导读:混淆电路(GarbledCircuit),又称姚氏电路(Yao’sGC)是由姚期智教授于1986年针对百万富翁问题提出的解决方案.

1900/1/1 0:00:00
WEB:去中心化自治组织Web3API完成100万美元融资

据外媒1月9日报道,Web3APIDAO正式完成了100万美元的前种子轮融资。参与次轮融资的包括RarestoneCapital、TRGC、Gnosis、AutarkVentures、MANTR.

1900/1/1 0:00:00
COS:Cosmos开发者:跨链协议IBC或将于2月1日上线

1月9日,跨链项目Cosmos核心开发者JackZampolin表示,CosmosHub治理提案将于下周发布,如果提案通过,Cosmos网络将于大约1月25日进行升级,同时也意味着.

1900/1/1 0:00:00
比特币:桥水前分析师:预测比特币的顶部太难了,市值有可能超越美元

2021年刚刚开年没过几天,比特币势如破竹,一举冲上4.2万美元,创下历史新高。但这势头来得快去得也快,其价格又很快跌至3万美元左右。一时间,比特币“泡沫”说再一次甚嚣尘上.

1900/1/1 0:00:00