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

ETH:捕捉以太坊黑暗森林中的通用型抢跑机器人_Ontology Gas

作者:

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

以太坊黑暗森林里野兽横行,这可不是耸人听闻。这些抢跑机器人可以靠着分析合约的调用发现潜在的获利空间,哪怕这些调用和合约都是他们前所未见、一无所知的东西。

鉴于大部分人对抢跑机器人的认识不足,我们将深入分析这一情况,并了解抢跑机器人的普遍性。我们成功“捕获”了一些通用的抢跑交易机器人,并分析了它们的行为。我们研究了这些机器人的效率以及交易被抢跑的概率。我们还测试了不同的方式来抵御抢跑交易机器人。

什么是抢跑交易?

一般而言,抢跑交易就是在一个已知的未来交易发生前,将另一个交易插入执行队列的第一位。

一个简单的例子是交易所的交易过程。假设有人想要在Uniswap上买入大量ETH,一种牟利方法就是趁价格还未上涨时抢先买入ETH,等到大批量买入交易推动ETH价格上涨后再卖出ETH。

除了这个例子之外,抢跑其它交易也有可能带来巨大利润,如清算、购买稀有NFT,或简单的用户错误。

在以太坊上,要抢跑一笔交易可以通过提供比目标交易略高一点的gas价格、激励矿工在构建区块时把自己的交易排在前面来实现。Gas价格高的交易会优先执行。因此,如果有两个想要从同一个交易合约调用中获利的交易被打包进同一个区块内,只有排在前面的交易能成功套利。

动物行为学

DanRobinson和GeorgiosKonstantopoulos在《以太坊是黑暗森林》中提到了一次价值抽取,有1.2万美元落入了“捕食者”的魔爪。这个捕食者非常强大,能够追踪以太坊交易池中的套利交易,并通过抢跑该交易来牟利。

黑暗森林故事听起来如此“恐怖”,乍读之下令人难以置信。我们确实有理由怀疑这种捕食者的存在。像Uniswap这样受到大量机器人监视的平台,如何能从中取出资金?Uniswap是否已经变成了一个“常规”套利者?

SafeMoon攻击者在链上向项目方表示想归还资金:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、 预警与阻断平台监测显示,BSC链上SafeMoon项目在升级后引入了任意销毁代币的漏洞。攻击者先买入SafeMoon代币,然后通过销毁SafeMoon代币来拉升价格,接着卖出代币获利。

攻击者为Mevbot,抢跑了0xbcf5e30c164837b5d7c42fd7e33e47a0072dc014e7f0a67aa7710af49d0ce53b攻击交易,该Mevbot在今天之前还抢跑攻击了包括PolarBearX、Nuwa、DBALL、520等其他项目。并且地址有与CEX交互的记录。随后攻击者在链上向项目方表达想要归还资金。[2023/3/29 13:32:24]

今年早些时候,我们的深度分析文章证明了事实并非如此。这不是普通的机器人。据我们所知,它成功调用了此前从未被调用过的合约函数,而且还是在原始交易被代理智能合约混淆的情况下成功抽取了资金。

这至少应该引起我们的警觉。能够监视交易池中交易就等于拥有了一个大杀器。因此,令人不安的是,一些服务商开始公开提供“暗池”交易层。

此类排他性的交易服务不会使用Infura之类的服务,甚至不需要运行私有节点,它会直接将交易直接发送给矿工,并承诺不会将交易传播给网络中的其它节点,从而保护该交易不被捕食者发现。

samczun等人也采用了同样的方法,成功从一个有漏洞的合约中抽取了960万美元。不难想象,矿工也会开始运行抢跑交易机器人,同时只为那些支付额外费用的用户提供安全通道。

Ledger宣布Ledger Connect Web3浏览器将于2023年推出:金色财经报道,硬件钱包Ledger宣布Ledger Connect Web3浏览器将于2023年推出,新浏览器扩展程序将可以通过蓝牙连接到用户的Ledger设备。只要携带硬件钱包才能使用它。更重要的是,当浏览您最喜爱的Web3网站和应用程序时,Connect在后台运行。?

此外,当用户想购买 NFT 时,连接窗口会弹出并显示要购买的东西。Ledger的API对产品进行检查。反过来,用户对他们购买的商品和价格有了更大的确定性。不仅如此,用户可以选择进行购买的设备和帐户,以及将其存储在哪个钱包中。[2022/12/10 21:34:59]

与以太坊的其它部分不同,这些机器人只在以太坊主网上运行。对于这些机器人来说,除了进行初期实验之外,抢跑测试网交易赚不了钱,没什么意思。此外,它们不需要像其他人那样遵守规则,因为它们的逻辑是隐藏的。

我们不知道在什么情况下,这些抢跑交易捕食者才会罢手。因此,从某种程度上来说,追踪这些捕食者就像是在寻找稀有动物。我们不想找出所有抢跑交易机器人,这里只针对某几类通用的机器人。

为了确保我们捕获的抢跑者是“真正的”通用型抢跑者,我们需要设下一个特殊的陷阱。这个陷阱就是,使用一个秘密字符串的SHA256哈希值创建一个新的合约,并在合约内存入一些资金。只有提供秘密字符串的人才能取出锁定在合约内的资金。一旦有人发送取款交易,这些资金会直接发送给交易发送方。

我们的设想是,发送一个提供正确秘密字符串的“诱饵”交易,看看是否有人会复制这个字符串,并自己发送提供一个包含该字符串的交易来取走合约内的资金。如果有人能在诱饵交易之前取走这笔资金,则表明有人能分析交易池中的诱饵交易,复制其相关内容,并自己发送提供该内容的交易。

数据:Decentraland和Sandbox的日活跃用户均低于1,000:金色财经报道,根据DappRadar的数据,基于以太坊的虚拟元宇宙Decentraland在过去24小时内拥有38个活跃用户,而竞争对手The Sandbox在同一时间拥有522个活跃用户,活跃用户被定义为与平台智能合约交互的唯一钱包地址。数据还显示,Decentraland的每日最大用户数为675,The Sandbox约为4,503。

尽管用户指标较低,但Decentraland和TheSandbox的估值很高。根据Messari的数据,Decentraland和The Sandbox的市值均在13亿美元左右。[2022/10/8 12:49:05]

有趣的是,它们会向一个之前从未见过的合约提供一个它们之前从未见过的秘密字符串,来取走资金——这就是真正的通用型抢跑者。

通用型抢跑者是如何运作的?

这个实验最重要的一部分是,理解通用型抢跑者是如何运作的。然而,如果有人造了一台赚钱机器,是不可能将它分享到Github上的。因此,我们只能观察捕食者的行为并进行逆向工程。

构建一个通用型抢跑者通常需要两个组件。第一个组件是带有或不带有智能钱包代理的以太坊账户,可以发送修改过的交易。第二个组件是“后端”,也就是整个操作的大脑,通常发生在链下。运营者可以采用某种技术检查交易池中的每个交易,并解析交易,替换交易的参数,判断交易是否有利可图。

-抢跑交易机器人的处理流程-

一个理性的机器人不会试图抢跑一个交易费超过潜在收益的交易。交易手续费可能会很高,尤其是在gas价格很高的情况下。因此,我们预计至少需要一定的利润才能引诱机器人上钩。

Block Green完成370万美元股权融资:金色财经报道,Peter Thiel的Founders Fund领投了Block Green的 370 万美元种子股权融资,这是一个旨在为缺乏资金的矿工提供服务的贷款协议。?该轮融资的其他投资者包括Coinbase Ventures、暴雪和Dao5。该公司将聘请加密贷款商 BlockFi 的现任矿工财务总监。?[2022/9/22 7:15:00]

此外,交易池中有很多交易,要想分析每个交易,时间也至关重要。挖出一个以太坊区块平均需要12秒。如果一个交易支付的gas价格足够高,抢跑者必须赶在下一个区块挖出前迅速分析并替换该交易。

这个过程有一定的概率性。有可能一个交易被广播后,包含该交易的区块就立即被挖出,机器人根本来不及分析该交易并广播抢跑交易。

考虑到种种因素,我们测试了能让机器人上钩的方法。

设下陷阱

我们的合约的初始余额为0.035ETH,当时价值约20美元。只要有人能提供该合约中存储的哈希值的正确原像,就可以获得这笔钱。为了取走这笔资金并引诱捕食者,另一个账户会尝试通过提供正确的原像来获取这笔钱。

第一回合:直接调用合约

为了确保我们的陷阱正常运作,我们首先使用取款者的账户调用诱饵合约。在第一次尝试时,gas价格相对较高,我们成功取回了诱饵合约中的资金。

这可能是因为利润太低,不足以引诱捕食者,或是因为交易很快就被挖出,捕食者来不及反应。显然,这不是理想结果,因为让捕食者上钩才是我们的目标。

第二回合:给机器人足够的时间

韩国金融服务委员会计划制定稳定币和DeFi相关监管法规:5月24日消息,在韩国执政党和政府今日就Luna和Terra USD(UST )的崩盘召开的紧急会议上,该国金融服务委员会表示,将制定稳定币和DeFi的监管计划。此外,韩国金融委员会表示,虚拟资产发行、流通规律体系将根据虚拟资产的经济实质,分为证券型和非证券型确立监管体系。为确保证券币能够按照资本市场法律监管体系发行,为投资者提供保障,将营造市场条件和建立监管体系,必要时先使用金融监管沙箱。在非证券代币的情况下,通过在国会讨论未决法案,决定准备发行、上市和防止不公平贸易等监管制度。此外,该机构计划制定保护措施,例如引入针对黑客和系统错误的保险系统,以及从不公平交易中收回利润。(韩联社)[2022/5/24 3:38:13]

在这一回合中,我们解决了之前遇到的问题。我们提高了潜在利益,并降低了gas价格,因此交易没有很快就被挖出,让机器人有足够的时间发现它。我们还把合约内的资金增加到了0.04ETH。

这次,我们成功了。这个交易在被挖出之前等待了大约3分钟,最终没能取回诱饵合约中的资金。查看该合约的内部交易后,我们发现这笔资金被其他人取走了。

这个抢跑交易使用了25.000001111Gwei,而且和我们的交易被打包进了同一个区块。

蛛丝马迹

既然我们已经成功捕获了一个机器人,我们可以发现了一些有趣之处。第一,这个抢跑交易显示,这个机器人并没有直接调用合约。它没有复制取款者的交易并通过自己所拥有的账户发送交易,而是将交易发送给代理智能合约,由后者充当智能钱包来执行交易。

现在,我们可以追踪这个机器人之前和之后的交易地址,看看它到底成功抢跑了多少交易以及它是如何运作的。

-机器人正在使用它自己的代理合约-

对这个代理合约进行反编译后,我们发现它主要有两个函数:

一个是“取款”函数:就是将合约中的所有资金发送给该合约的运营者。另一个函数负责接收参数:需调用的合约、一个参数列表和一个传递值参数。

有了取款函数,代理合约就可以充当运营者的智能钱包。除了能够执行对外部函数的调用外,代理合约还能确保交易开始时的余额不低于交易结束时的余额,否则就会还原,从而避免因调用未知合约而造成潜在损失。

使用DuneAnalytics,我们发现这个机器人自开始运行以来可谓“战功赫赫”。

如果这个机器人始终使用同一个代理合约并发送地址来进行交易,我们估计这个机器人共赚取17ETH左右。

-该机器人自运行以来抽取的所有收益-

第三回合:抢跑交易机器人有多智能?

既然我们已经确信机器人是存在的,我们想要测试是否可以通过第二个合约来混淆我们的调用,从而成功取回诱饵合约内的资金。第二个合约是一个代理合约,将调用函数取走诱饵合约内的资金。

我们部署了一个ProxyTaker?合约,并调用函数来试图取走我们的资金。由于使用代理合约取走资金的成本较高,我们又将诱饵合约中的资金增加到了0.055ETH。果不其然,我们的交易马上就被另一个机器人抢跑了。

这次抢跑给我们留下了更深刻的印象。这个机器人不仅能够检测到我们的取款交易,居然还能识别出这个交易来自另一个完全不同的合约的内部调用!而且在超短时间内做到了这点。我们的交易仅在几秒内就成功挖出。

这个机器人的身份也相当有趣。这个机器人的合约主要由下图所示的账户控制。该账户在Etherscan上发表了一条评论,使人联想到白帽子黑客尝试从有漏洞的Bancor智能合约中取走用户资金的活动。

-机器人运营者账户的评论-

鉴于这个机器人的行为模式与上一个机器人相同而且两次抢跑事件情况相似,我们有理由怀疑这个机器人在白帽黑客的营救活动中,也对白帽黑客发起了抢跑。

这个机器人比上个机器人复杂得多。它不只聚焦于ETH,还执行其它不同的套利交易。

根据取走资金的账户的余额来判断,这个机器人成功得多。目前,其账户余额持有约300ETH。我们还可以通过所有流入和流出代理合约地址的资金来估算这个机器人的收益,总计大约900ETH。这还只是粗略估算,因为该账户可能进行过与抢跑交易无关的交易。

最终回合:成功取回资金

为了让这场挑战变得更加有趣,我们再一次尝试了混淆调用的做法,这次使用的是只有我们能使用的代理合约OwnedTaker。

这次的设置与第三回合差不多。我们往诱饵合约中充入0.05ETH。这笔资金同样会通过交易返回给我们,而不是留在合约中。

在第一次尝试中,发送至OwnedTaker合约的交易在大约1分钟后才被挖出,我们成功取回了诱饵合约中的资金。

我们又重复实验了一次。这次,我们往诱饵合约中重新充入0.06ETH,这是历次实验中最大的一只诱饵,来排除抢跑机器人因诱饵太小而不上钩的可能性。

我们还故意将gas价格设为较低值。这个交易等待了大约7分钟,但是依然成功取回了诱饵。

使用只能由所有者用来转发交易的Owned代理合约有效防止了机器人解析数据并抢跑交易。

-成功取回资金-

或许是因为只有合约所有者能执行调用,或资金被发送至与调用合约不同的地址这一事实,使得我们成功躲避了抢跑交易机器人。

这些机器人很可能被设置成了以自我保护为首位。毕竟,当它们调用未知合约时,该合约有可能执行任意代码。因此,我们可以合理地假设,在不能保证利润的情况下,它们会选择避免不必要的风险或交易费损失。

那么,我们赢了吗?

这就取决于你怎么看了。我们使用了一个新的合约,而且只有我们知道用来控制合约的秘密字符串。显然,我们捕获的两个抢跑机器人会检测交易池中的所有交易。从它们所获得的利润来看,它们确实精于此道。

为什么我们在最后一次实验中成功抵御了抢跑机器人的攻击?

这很难说。可能是因为机器人不愿意冒险与带有身份认证的合约通信,或是因为它们没有料到资金会被转移到另一个地址。这并不意味着,这个方法可以抵御所有抢跑机器人。更有可能是因为交易池中潜伏着更加复杂的机器人,它们不屑为这点蝇头小利而冒险。

结论

通过这次实验,我们已经证明了通用型抢跑机器人不仅存在,而且智能程度很高。

当然了,我们知道这个实验并不完整,也无法得出权威结论。很多其它类型的机器人有着截然不同的触发机制和运行方式。潜在利润、通信模式和最低复杂性等因素也会影响这些机器人的运行方式。

然而,我们相信我们的工作提供了概念证明,并且进一步揭露了这些通用型抢跑机器人的运行方式。

可怕的是,如果有人调用一个能够产生收益且任何人都能调用的合约,即使这个合约非常复杂,也很有可能会被机器人捷足先登。

因此,了解这些机器人以及它们的运行方式至关重要,这样我们才能构建更加安全的系统。Flashbots等项目试图通过实现MEV提取民主化并使其成为一种公共资源来实现该目标。我们希望这一研究能够有所帮助。

如果你遇到过这类机器人,或是正在研究更复杂的混淆技术,请随时联系我们。你的经历可以帮助我们更好地了解这类机器人,并构建一个更安全的加密货币社区。

感谢?TalBe’ery、OmerShlomovitz、OdedLeiba、DanRobinson等人对本文的审阅。

原文链接:

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

作者:?AlexManuskin

翻译&校对:?闵敏?&阿剑

标签:ETHAND以太坊GASALETH币CANDLE币以太坊币最高价格是多少钱Ontology Gas

PEPE币热门资讯
比特币:比特币首次突破4万美元关口 年初至今累涨逾1.1万美元_coinw交易所安全吗

北京时间周五凌晨,比特币首次触及4万美元大关,不到一个月上涨一倍,2021年以来累涨超1.1万美元,推动加密货币市场的总市值突破1万亿美元.

1900/1/1 0:00:00
GAT:Gate.io 将上线 Alpha Finance (ALPHA) 交易的公告_gate.io官方登录网页版登录

Gate.io将于2021年1月8日16:00上线AlphaFinance(ALPHA)交易。AlphaFinanceLab是跨链DeFi产品的生态系统,可互操作以为用户带来最佳的alpha收益.

1900/1/1 0:00:00
DAI:老山说币:以太高位震荡,后市依旧看多?_MAKE

各位朋友们,你们好,我是老山说币。在这个市场,如果你处于一直亏损的状态,不如换个环境。也许正是你的一次改变,会给你带来不一样的结果.

1900/1/1 0:00:00
晚间必读5篇 | 以太坊2020: N倍增长

1、以太坊2020:N倍增长2020年对整个世界都是充满挑战的一年。与此同时,事实证明它对以太坊却给予了比较积极的影响——以太坊的生态系统在许多方面都没有减弱,朝着我们的市值迈进了一大步.

1900/1/1 0:00:00
OBI:Huobi Global调整部分ETP产品持仓限额(2021/01/07)_Huobi Bitcoin Cash

尊敬的用户:为了提升交易体验,降低市场风险,HuobiGlobal将于2021年1月7日22:00(GMT8)对ETP(ExchangeTradeProduct)的以下产品进行持仓限额调整.

1900/1/1 0:00:00
PLA:一文了解 Plasm:波卡上的 ETH 2.0_NFT4Play

Plasm是一个基于波卡的可扩展的智能合约链,使用Parity的Substrate开发,并设计为Polkadot的平行链.

1900/1/1 0:00:00