Binance智能链多项目跑路 PopcornSwap卷走4万BNB 交易平台公链“尴尬”何解?

时间:2021-09-23 21:33编辑:未知

我觉得不是的。

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

以bsc为例,作为一个类似DPos的设计公链,跨链桥非去中心化,与上面的大多数资产都是Binance发放的状况下,即便代码开源,谈何去中心化?

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

如上图这种,可以忽视

若是原版添加的代码,土狗删除的,通常也无关紧要,重点是土狗和原版代码不一样的地方:

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

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

这里容易剖析一下差异,第一migrate办法,这个是sushiswap继承的代码,原版代码就有将池子里钱掏空的可能性(所以土狗假如有migrate办法,求稳就不要去玩)。

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

第二步:检查变量

接着这里以h3oh3cornswah3为例:

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

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

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

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

第一步:diff

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

注意一点,diff的合约需如果你真实要转币进来的合约地址(可以转很少的量去拿地址)

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

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

吴说作者 | Colin Wu

本期编辑 | Colin Wu

日前,多名流动性“矿工”对吴说区块链表示,Binance智能链上又一个去中心化的金融“土矿”popcornswap跑路,项目方卷走近48000个BNB,价值约215万美金。数日内还有三个项目(Zap Finance和Tin Finance、SharkYield)跑路。现在SharkYield跑路疑似带走了6000个BNB。

Binance表示安全团队在“连夜跟进”popcornswap项目,但并不肯定能追回成功。Binance此前宣传文章也表示追回是小概率事件,期望用户务必小心资金投入,选择优质的头部项目参与。

此次popcornswap跑路事件出现两个问题:

1、矿工反馈,Binance表示泰达币(通过Tether)、B美元可以冻结,但BNB没办法冻结,因此跑路项目开始大范围用BNB。

2、Binance过去表示,NXT币安智能链社区会为部署上来的优质项目陆续提供审计服务,将来会有标示将审计与未审计完成的项目进行区别,以供用户参考。但直到现在,该审计标示没出现,可能是审计机构的昂贵成本与时长的妨碍。

Binance此前的反馈是,BSC是与ETH一样的公链,不应该为上面的项目负责。何一过去表示:Binance智能链项目又不是Binance发的,ETH上挖矿赔钱如何不找V神索赔?

但另一方面Binance又在宣传帮用户追回资产。比如自动做市商(AMM)的“土矿”项目Wine Swap跑路,Binance安全团队帮用户追回了损失资金的99.9%,共计超越34.4万USD。Binance也表示,像如此的追索总是需要耗费很多的人力物力,而总是这部分追查的线索会中断,能像这次追讨成功可以说是万里无一。

由此Binance就会陷入一个尴尬的境地:对于跑路项目到底是管,还是不管?用户也会对此有疑问,Binance到底管不管?

BSC上项目的逻辑是,进步好的项目CZ会转发twitter,然后引起关注渐渐壮大。相较之下火币生态链中心化程度更高,会列出报名项目,跑路状况较少。Binance智能链更多期望“不做裁判员”。

这也可以理解,Binance智能链的国际化程度更高,对于习惯DAO社区文化的国外用户而言,他们可能更能理解BSC的做法。国外社区很警惕中心化的管理,因此Binance随便冻结BNB资产,也会给国外用户带来担心。就算是针对黑客行为冻结,也需要先有警方的需要。

火币由于项目与用户绝大部分是中国人,这也决定了他们需要选择中心化的管控,据了解火币对于跑路项目有详细的应对策略,几个小项目也第一时间得到了处置。

对于Binance来讲,BSC上跑路状况确实有日渐紧急的倾向,依赖规范治理可能是唯一的选择。但现在为止,大家还没看到Binance智能链规范上改进的动作。

参考Binance智能链(BSC)的野望与尴尬:超越ETH还是成为孙宇晨?

以下内容为iNexusPro独家授权吴说区块链发布,内容稍作编辑

土矿通常来讲,抽走资金通常这几个步骤:

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

2、通过一些“所谓的”安全手段(timelock等)叫你感觉风险非常低。

3、盗取资金之后立刻换为非erc代币或者没办法冻结的代币,然后等待混币机会逃走。

看到了这个步骤,你应该了解了,假如可以做到:

1、不开源的土矿一律不碰,不管他APY写得多么诱惑

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

3、那样相信你能避免大多数风险,下面容易讲一下如何diff合约,如何检查参数,与一些衍生的考虑。

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

检查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给其他地址的状况,因此很难发现问题。一般的用户,没能力,也不太可能发现这个端倪,甚至我相信在本次事件中,一些对合约代码知道一些的土矿老司机也一并翻车。

本次作案手法揭秘之后,相信将来的土矿也大概借助类似的手法进行盗币,而对一般用户而言防不胜防,事实上近期2天bsc上就有2个矿翻车,金额还都不小。

作为交易平台公链,无论是bsc,还是heco,他们的核心竞争优势是什么?是去中心化吗?

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。