Popcornswap合约解析+教你如何避免大部分土矿风险

最近惊闻BSC上2个土矿又跑路了,金额在千万级别,有一个矿朋友还中招了,实在是看不下去,和大家谈谈,如何避免大部分土矿的坑。

土矿一般来讲,抽走资金一般这几个步骤:

通过高APY吸引你冲动梭哈(注意,很多鸡贼的土矿都是写APR,看起来更高,用APR的土矿求稳可以直接关闭),毕竟高APY都是真金白银支撑的,收益这么高大户早来了,正所谓的收益越高,风险越大

通过一些“所谓的”安全措施(timelock等)让你觉得风险很低

盗取资金之后马上换为非erc代币或者无法冻结的代币,然后等待混币机会逃走

看到了这个步骤,你应该明白了,如果能够做到:

不开源的土矿一律不碰,不管他APY写的多么诱人

开源的土矿,如果要参与,一定是在diff合约,检查变量参数之后,少量资金参与。(然而可能还有风险,比如popcornswap,会详解)

那么相信你能规避大部分风险,下面简单讲一下怎么diff合约,怎么检查参数,以及一些衍生的思考。(小白向)

第一步:diff

这里以在线对比工具 https://www.diffchecker.com/ 为例

注意一点,diff的合约需要是你真实要转币进去的合约地址(可以转非常少的量去拿地址)

首先拿到原版的MasterChef代码(这里以pancakeswap为例):

https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#code

韩国将按计划从明年开始对加密交易征税20%:金色财经报道,韩国政府周五宣布,尽管投资者要求推迟征税计划的呼声越来越高,但韩国政府仍准备按计划从明年开始对加密货币交易的资本收益征收20%的所得税。金融服务委员会(FSC)也被指定为负责监督和监管虚拟资产市场的最高政府办公室。这意味着,在2023年5月申报一般所得税时,韩国人将必须报告虚拟资产收益。[2021/5/29 22:54:24]

接着这里以popcornswap为例:

https://bscscan.com/address/0x584527ded17aceb3dc617c40b04e8fe9afc57096#code

分别吧代码复制到两边,开始diff

这里我保存了diff结果,可以直接点这个link:https://www.diffchecker.com/VqaCP3DK

像结果中字符串(名称等)的修改,或者// 后的内容(注释)都可以忽略

如上图这种,可以忽略

如果是原版添加的代码,土狗删除的,一般也不重要,重点是土狗和原版代码不同的地方:

上图为关键差异,土狗修改了原版的migrator方法,还增加了个一个叫做preUpgrade的函数。

BBKX平台ETF专区行情:据BBKX行情显示,BBKX交易平台ETF专区多个币对持续上涨,截至今日14:38(UTC+8),AMPL3L当前净值6.6909美元,日内涨幅23.16%,SXP3S /USDT当前净值0.5055美元,日内涨幅17.62%,IOST3L /USDT当前净值0.9166美元,日内涨幅15.33%。 杠杆ETF是一种锚定标的资产价格变化的指数基金。BBKX平台目前已经上线BTC、ETH、EOS多个主流币种以及HT、BNB、OKB等平台币。

BBKX成立于2019年,致力于打造综合性交易平台,现已集合币币交易、ETF杠杆、量化交易、永续合约、混合合约、云算力等多项功能,已获得节点资本与链上基金联合战略投资。[2020/8/31]

看到这里,如果你对合约一无所知,安全期间,就可以直接关闭页面保平安了。

这里简单分析一下差异,首先migrate方法,这个是sushiswap继承的代码,原版代码就有将池子里钱掏空的可能性(所以土狗如果有migrate方法,求稳就不要去玩)。

popcorn这里,新的preUpgrade方法,是public的,代表所有人都能调用,就是一个非常可疑的点,理论上在migrator设置为恶意地址的时候能够让migrator掏空所有的钱。

第二步:检查变量

点击土狗合约的这个按钮:

检查migrator,owner等变量:(owner是核心)

可以看到migrator是0,owner是一个timelock地址,土狗的一种套路是,声称自己有timelock,给出了合约地址,但owner并不是timelock的地址,那明显就是局了。

当然timelock合约,也可以做小动作,所以也需要做diff操作,这里他的timelock没有问题,就不赘述了

那么完成了上面两步,很多资深矿工可能会觉得,timelock有的,合约变量没问题,虽然有代码存在风险,但是有timelock啊,没事,冲tmd,对低级土狗而言,可能确实就无风险了,但很可惜,popcornswap是一个略高级的土狗。看我下面分解盗币过程:

项目方通过调用:

https://bscscan.com/tx/0x38f75296e3343228c0309f8c99a24ca4f4812372f2b032f38ce25ac5a992b768

preUpgrade方法,让自己的地址有了合约里token的transferFrom权限(简单理解为uniswap交易之前你需要allow合约花你的币,这里是allow自己花合约里的币)

看前面的代码可以发现,preUpgrade确实又这个功能,但他只会给migrator这个权限,而migrator又是0,修改migrator需要经过时间锁,那么他是怎么做到的呢?(这个问题其实也困扰了我一会)

答案是:项目方在部署合约后,加timelock之前,把migrator改成了自己的地址,并通过preUpgrade提前获取了里面所有token的allowance,然后再改回migrator,添加时间锁。

因为这些tx混在项目方添加池子的tx中,普通人根本不可能去检查一个池子之前的每一个tx,所以popcornswap得以在2小时内盗取2mil的代币。

这个作案手法也引起了我的思考,目前并没有有效的工具,能够查出一个合约地址里,token allow给其他地址的情况,因此非常难发现问题。普通的用户,没有能力,也不太可能发现这个端倪,甚至我相信在本次事件中,一些对合约代码有所了解的土矿老司机也一并翻车。

那么popcornswap的解析就讲到哪里,下面是我个人的一些思考,以及私货(不愿意看的朋友就可以关闭文章了)

本次作案手法曝光之后,相信未来的土矿也很有可能利用类似的手法进行盗币,而对普通用户而言防不胜防,事实上最近2天bsc上就有2个矿翻车,金额还都不小。

作为交易所公链,不管是bsc,还是heco,他们的核心竞争力是什么?是去中心化吗?

我个人认为不是的。

bsc,heco等,他们最大的优势应该是1. 低手续费 2. 交易所公信力背书

以bsc为例,作为一个类似DPos的设计公链,跨链桥非去中心化,以及上面的大部分资产都是币安发放的情况下,即使代码开源,谈何去中心化?

个人认为,反而应该反其道行之,引入类似EOS的仲裁机制,最大程度的保证用户在链上的的财产安全才是生存之道。

本次popcornswap事件以及最新翻车的土矿,币安目前都还在踢皮球阶段,要求用户去报案或者说我们在监视黑客地址等等,而不是想办法帮用户挽回损失,长此以往,当土矿跑路越来越多的情况下,请问币安,谁还会去用BSC?

如果类似事件在Heco或者其他交易所公链发生,而他们拥有类似的安全机制,保证了用户的资产安全,这样大部分散户才敢放心的在上面继续使用,毕竟,你作为交易所背书的公链,优势不是,也不可能会是去中心化。

希望所有交易所公链技术团队三思,通过代码升级保证自己公链的安全性来差异化竞争,也许还不太晚。

原标题:Popcornswap合约解析+教你如何避免大部分土矿风险

作者:iNexusPro

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

币安下载OKEx启用中文名欧易 开启全球化战略布局

2 月 2 日,OKEx官方正式启用中文名欧易,开启全球化区块链产业布局,旨在让全球一亿人拥有数字资产。 欧易OKEx自2017年创办以来,为用户提供币币、杠杆、期权/交割/永续合约、DEX交易、余币宝、DeFi挖矿、借贷等多元的产品矩阵,目前已经覆盖200余个国家和地区,拥有千万级用户量,平台综合实力长期领先行业水平。

NEARDeFi 1月复盘:多个头部项目创下新高 算法稳定币表现不佳

在ICO热潮过去3年之后,ETH再次在一月份创下新高。同样地,Uniswap、Aave、Synthetix、MakerDAO等以太坊上的DeFi龙头项目,也都在这一个月内创下了市值的最高记录。最大的去中心化交易所Uniswap,目前流通市值达到了56亿美元,与Binance Coin的差距只有24%,而Uniswap还有大量的平台币尚未解锁。

USDT叫板DEX龙头?MDEX与Uniswap多维度对比

2020年12月,火币正式推出生态链 Heco,从性能上看,Heco的TPS能够达到500+,交易确认时间为3秒左右,GAS费用以HT计价约为0.001美金,在以太坊网络囿于低效拥堵状态的当下,给了DeFi的开发者和用户一个新的选择。

[0:0ms0-5:430ms