嗨,机器人! 把你的钱都给我…

套利的机器人被人套了, DEFI 世界很奇妙。

编者注: 本文简述了一个非常有趣的故事,一个专门去套利的机器人,被人”套利“了,非常奇妙。 ![帖子的图片](https://img.learnblockchain.cn/pics/20210122231931.png) 不看版:曾经在Uniswap上交易过的机器人,可以申领到 400UNI。 但他们需要小心! 如果机器人没有得到适当的保护,就会遭到抢劫。 这是一个讲述被黑客利用故事,对黑客来说,这只是利用 $EMN 之前的热身,也是对粗心大意的机器人操作者一个警示。 [@FrankResearcher](https://twitter.com/FrankResearcher)最近的推特中描述的案例,给了我们启发。 ![贴图](https://img.learnblockchain.cn/pics/20210122231938.png) 真的可以从Uniswap上交易过的合约上申领 UNI,并从中窃取代币吗? 在与[*@bkiepuszewski*](https://twitter.com/bkiepuszewski)进行了一些数据整理后,我们意识到,在很多情况下,这是可能的,这个漏洞可以很容易地用来窃取机器人托管的任何代币。 **所以,趁早检查你的机器人吧!**。 ## 通用套利模式 当同一资产在两个交易所的价格不同时,就会产生在一个地方瞬间买入,在另一个地方瞬间卖出的机会。 例如,如果在交易所1上**1 UNI=0.01219 ETH**,而在Exchange2上**1 UNI=0.01321ETH**,而你恰好有10个ETH,你可以: 1. 在交易所1上以用10 ETH购买820.3445 UNI。 2. 立即在交易所2上用820.3445 UNI兑换10.8367 ETH。 3. 享受你的利润,即0.8357 ETH减去gas。 每个市场上都有成百上千的机器人在寻找这样的机会,这通常是一个双赢的局面。 机器人为其操作者创造了利润,但同时也使市场保持了平衡(每一个交易所的资产价格在时间上趋于平稳)。 ## 简单套利机器人架构 套利的关键在于时机。 套利交易者必须在别人发现机会之前,迅速采取行动,因为他们的成功取决于两个独立的交易。 对他们来说,最好的解决方案通常是创建一个套利机器人。 可能的架构有很多,我不多说技术细节,但通常会包括: 1. **链外逻辑**--实时跟踪市场价格和gas成本,寻找套利机会,评估风险和同时权衡风险/回报。 2. **操作者**--用于触发机器人行动的以太坊地址。 3. **机器人本身**--一个智能合约,具有**存款**(它需要资金来启动套利),**功能函数**(去唤醒起来接收执行指令),**参数化**(告诉机器人该怎么做)。 ## 套利例子 我们来看看[这个机器人](https://etherscan.io/address/0x762bfbd8dc93fac514fd89c027e81621e8597441)被”利用“之前的历史。 例如在[本次交易](https://ethtx.info/0x2f39c926810059cf4b551df9cdab1be8e25ea430ec760121a267603d9348d1d3)中,它在**WETH/MCX**市场上**Balancer和Uniswap**之间的套利赚取了**0.0197ETH**,花费了**0.0067ETH**的油费。 **可以想象一下机器人和它的操作者之间的对话:** > 操作者发现在Balancer上的MCX价格比Uniswap的价格低一些。 > **操作者** - "嘿,机器人,醒醒吧。 这是0.65ETH。 去Balancer上买一些MCX,然后马上在Uniswap上卖掉。" > > **机器人**--"是的,是的,是的! 让我们赚取利润!" > > *机器人在Balancer上交易0.65ETH,得到9955.29 MCX*。 > > **机器人**--"万岁,交易成功。 让我检查一下我的口袋。 哇,我有9955.29MCX,我们赚一笔吧!" > > *机器人在Uniswap上交易9955.29 MCX,获得0.6696 ETH.*。 > > **机器人**--"万岁,交易也成功了。 我有0.6696ETH,是由最初的0.65ETH ”生“出来的。...

编者注: 本文简述了一个非常有趣的故事,一个专门去套利的机器人,被人”套利“了,非常奇妙。

不看版:曾经在Uniswap上交易过的机器人,可以申领到 400UNI。 但他们需要小心! 如果机器人没有得到适当的保护,就会遭到抢劫。 这是一个讲述被黑客利用故事,对黑客来说,这只是利用 $EMN 之前的热身,也是对粗心大意的机器人操作者一个警示。

@FrankResearcher最近的推特中描述的案例,给了我们启发。

真的可以从Uniswap上交易过的合约上申领 UNI,并从中窃取代币吗?

在与@bkiepuszewski进行了一些数据整理后,我们意识到,在很多情况下,这是可能的,这个漏洞可以很容易地用来窃取机器人托管的任何代币。

所以,趁早检查你的机器人吧!

通用套利模式

当同一资产在两个交易所的价格不同时,就会产生在一个地方瞬间买入,在另一个地方瞬间卖出的机会。

例如,如果在交易所1上1 UNI=0.01219 ETH,而在Exchange2上1 UNI=0.01321ETH,而你恰好有10个ETH,你可以:

  1. 在交易所1上以用10 ETH购买820.3445 UNI。
  2. 立即在交易所2上用820.3445 UNI兑换10.8367 ETH。
  3. 享受你的利润,即0.8357 ETH减去gas。

每个市场上都有成百上千的机器人在寻找这样的机会,这通常是一个双赢的局面。 机器人为其操作者创造了利润,但同时也使市场保持了平衡(每一个交易所的资产价格在时间上趋于平稳)。

简单套利机器人架构

套利的关键在于时机。 套利交易者必须在别人发现机会之前,迅速采取行动,因为他们的成功取决于两个独立的交易。 对他们来说,最好的解决方案通常是创建一个套利机器人。

可能的架构有很多,我不多说技术细节,但通常会包括:

  1. 链外逻辑--实时跟踪市场价格和gas成本,寻找套利机会,评估风险和同时权衡风险/回报。
  2. 操作者--用于触发机器人行动的以太坊地址。
  3. 机器人本身--一个智能合约,具有存款(它需要资金来启动套利),功能函数(去唤醒起来接收执行指令),参数化(告诉机器人该怎么做)。

套利例子

我们来看看这个机器人被”利用“之前的历史。

例如在本次交易中,它在WETH/MCX市场上Balancer和Uniswap之间的套利赚取了0.0197ETH,花费了0.0067ETH的油费。

可以想象一下机器人和它的操作者之间的对话:

操作者发现在Balancer上的MCX价格比Uniswap的价格低一些。

操作者 - "嘿,机器人,醒醒吧。 这是0.65ETH。 去Balancer上买一些MCX,然后马上在Uniswap上卖掉。"

机器人--"是的,是的,是的! 让我们赚取利润!"

机器人在Balancer上交易0.65ETH,得到9955.29 MCX

机器人--"万岁,交易成功。 让我检查一下我的口袋。 哇,我有9955.29MCX,我们赚一笔吧!"

机器人在Uniswap上交易9955.29 MCX,获得0.6696 ETH.

机器人--"万岁,交易也成功了。 我有0.6696ETH,是由最初的0.65ETH ”生“出来的。...

剩余50%的内容购买后可查看

  • 单篇购买 20学分
  • 发表于 2021-01-23 10:37
  • 阅读 ( 1703 )
  • 学分 ( 63 )
  • 分类:DeFi

评论