Jason chen

Posted on May 01, 2022Read on Mirror.xyz

深度分析:科学家是怎么偷走了你卖出NFT的利润?

 未经允许严禁各媒体私自转载我的文章,如需转载请先与我联系。

    前天在读者群里,有人发出了一个看起来很奇怪的地址,我们先看一下他的交易记录,请先观察一下,你发现什么问题了吗?

    这个地址在同一个时间点将同一个NFT进行了买入和卖出的交易,这意味着什么呢?我们进入opensea的交易记录找到其中一个NFT的记录来看一下,买入花费0.08E,卖出0.56E,翻了7倍,账面利润0.48E。

    这个收益还不错对吧,但是你要知道,这个地址有300次这样的交易,平均每3小时产生一次,源源不断的产生利润,一天可以赚十多万RMB。

    又到了破案的时候,带着大家顺藤摸瓜抽丝剥茧来看看这么神奇的操作到底是怎么回事。

    熟悉defi的朋友应该都清楚夹子机器人,下意识也会认为这可能是夹子,我当时也是这样认为,但实际上不是的。

    这里先简单科普一下什么叫夹子机器人,后面会单独出一篇讲它的文章,夹子机器人会监测链上的买入情况,当有大单买进某个币时,肯定会拉高币价,于是立刻赶在他之前提高gas费抢先买入,当大单买进成功后拉高了币价,再立刻卖出,从而获利,整个过程是在很短的时间完成。

    但为什么说今天要讲的情况不是夹子机器人,是因为NFT与FT最大的区别是非同质化的,唯一的,即买卖是有“指向性”的,即买方和卖方都对同一个NFT交易,如张三要卖出Azuki#9527,李四也想买Azuki#9527,两者之间才会产生交易,我即使以低价买入了某个NFT,那我无法立刻找到要高价买它的人接盘,不就砸到自己的手里了吗?而FT因为同质化且流动性相比NFT很高,则我买入后卖出去的概率也会大大增加。

    所以可以先推理出来原理应该不是夹子机器人。

    到这里没有头绪了,我们再从交易记录中再找找线索,我们打开其中一个操作看到是在同一个区块的同一个交易中,机器人从两个人之间完成了低买高卖的行为。

    看到了这里我又一头雾水,机器人把同一个NFT快速的从A那边买过来,再卖给了B,那为啥A不直接卖给B,B不直接去向A买啊!为啥要让机器人从中间插一刀赚走这么多钱,因为这么短几秒钟的时间,B也不是傻子,眼睁睁的看着前一秒还是0.08E,后一秒自己翻7倍买下来,没理由啊,这里我琢磨了好久好久没想明白...其实经过后面的推演发现B真的是傻子,所以既然无法叫它夹子机器人,我们就叫傻子狙击器吧,接着推理下去看看到底怎么狙击到了傻子。

    我们再来分析一下这个交易情况,A以0.08E卖给了机器人,机器人又以0.56E卖给了B,如果是正常的操作流程,那应该是:

    A挂单0.08E,机器人花费0.08E买下来,机器人再挂单0.56E,B再花0.56E买下来,但是刚才说到整个买卖过程是在一个区块瞬时完成的,所以一定不是通过这种挂单、买、再挂单、再买的形式。

    单纯的看机器人的操作很难推理下去了,我们来看看上下游的卖家A和买家B他们都做了些什么。

    我们进入卖家的地址中找到这个#5054的操作记录,可以看到在2天前他以0.08E的价格将其挂出,然后在1天前被机器人以0.08E买下来,所以上游的买入流程梳理通了,机器人确实是通过常规的手段将已经挂单的NFT买了下来。

      那下游的卖出是怎么回事呢,为什么可以在一瞬间以高出数倍的价格卖给了B?我们看看买家B的操作记录。

    B在一天前对#5054发出了一份0.56E的报价offer,然后机器人卖给了B。

    等等我有点懵,A不是已经挂单了0.08E吗?B为啥要报价0.56E?B傻啊放着0.08E不买,嫌低了要花0.56E买?对,B是傻了。

    好,姑且我们把B当傻子撒钱玩,那这个NFT不是在A手里吗,按理来说B也是给A报的价,由A卖给B,但为啥B的交易记录显示是机器人卖给他的?

    唯一的可能性就是,机器人识别到了有冤大头傻子B要花7倍价格买下A的NFT,于是机器人在B发起了offer时,趁着A还没有接受,立刻将A的NFT以原价买入,再以B的7倍offer卖给了B。

    这时候问题又来了,难道opensea不会去校验B这个offer到底是报给谁的吗?当B给A的NFT报了offer,机器人买下了A的NFT,这个offer是否还有效,如果有效的话,是归属于A还是机器人的?按照常理来说,我要花10万元买你的车,这时候你把车2万卖给了张三,那我当时承诺的10万元是否依然有效,张三是否可以把他的车再以当时我承诺给你的10万元卖给我?

    现实世界肯定不行的,我看张三仅仅花了2万就把你车买了,凭啥我要花10万?就但是不要忘了,web3的魅力在于智能合约,一切契约化,上了链就按照规则自动运行下去,你既然当时承诺花10万买,甭管这车现在在哪,反正只要契约履行你就得把钱给我乖乖掏出来收了这辆破车。

    我们来测试一下这个链路,即A将他的NFT挂单,B报了offer,我将A的NFT买入后,能否依然以B当时的报价卖给他。

    首先我先准备三个账号,分别是机器人、卖家A和买家B。

        首先卖家A将他的NFT以0.01E的价格挂单。

    然后切换到买家B账号,假设我现在眼瞎了没看到有0.01E的挂单,放着便宜的不买,翻5倍报个0.05E的offer。

    切回卖家A后,发现果真有个傻子给我翻了5倍报价,美滋滋。

       这时候该无情的傻子狙击器登场了,我们切换到机器人的账号,以原价0.01E的价格将其买入。

    接下来到了最刺激的环节,我们看看那个0.05E的报价还在不在,刷新一下....在!而且可以accept!

    无情的机器人此时按下了accetp,收割了傻子买家B的0.05E,同时卖家A也美滋滋正在高兴刚刚自己挂单的0.01NFT卖出去了,殊不知他错过了某个傻子送给他的0.05。

    到这里就破案了,总结一下,这个机器人专门抓那些眼瞎了的傻子,可能没注意挂单价而是直接报了一个高出很多的offer,然后机器人全网监测到有某个NFT产生了远高于挂单价的offer,于是立刻出动将该NFT快速买下来,再接受offer高价卖出去。

    那机器人是怎么能够在如此短的时间内操作成功呢,我们看一下他的交易记录详情,其中From是机器人背后的真正持有人,可以看到交易最后给了ethermine一笔0.38E的费用,这是贿赂矿工提高gas费将机器人的这一笔操作快速的写入区块中。

    所以其实看起来赚了0.48的差价,其实一多半都交了gas费了,最后手里也没剩多少。

    目前除这个机器人以外我还看到了3个同类型的,所以这个方向已经有不少人嗅到了商机卷起来了,因为比的就是谁的速度更快,这几个机器人都在随时监测全网数据,只要发现就一拥而上提高gas费贿赂矿工将自己的交易最先写入,所以随着入局的越多最后都是在给矿场打工。

    至此这个案子破了,我之前的文章中已经讲过了很多比较高超骗局提醒大家注意,没想到今天居然要提醒大家不要闭眼买.....买之前先看看自己的offer价格和报价之间到底有多少差距。

    正如我多次强调的,web3的世界是一片黑暗森林,每个入局的人都以为自己是猎人,实际上可能你只是被猎杀的小白兔,下面是机器人合约地址,感兴趣的可以自己去看看:

0xbe69dde0a051e72e18871be52cf506e419058f11

 欢迎添加我的微信:cj350306878 一起交流学习探讨,也可关注我的twitter jason_chen998获取最新动态。添加时请备注姓名 公司和职位,谢谢。

** 未经允许严禁各媒体私自转载我的文章,如需转载请先与我联系。**

往期文章:

NFT