ANS:3分钟教你辨别恶意智能合约,避免被“抽毯子”

来源:律动BlockBeats,原题《如何阅读以太坊合约以避免「抽毯子」》

原文来源:GemHunters,编译:0x26

许多DeFi的参与者已经成为代币合约漏洞的受害者,这导致他们损失了不计其数的钱或代币。这中情况在Uniswap中最常见,因为只要他们有技术并且可以支付以太坊手续费,任何人都被可以写一份智能合约。不幸的是,这也导致了出现许多本质上就是恶意的智能合约。

不过,绝大多数的子伎俩可以通过使用Etherscan检查智能合约来识别。以下步骤可用于确定合约是否是恶意的。为了展示好的合约和坏的合约之间的区别,本教程将首先给出一个正常合约的例子,然后给出恶意合约的例子。

正常的合约例子

1.访问以太坊浏览器;

2.在搜索栏中输入合约地址(仔细检查你是否有正确的地址);

Gate.io “芝麻开门周周利”BTC持仓理财第七期3分钟售罄:据官方消息,Gate.io芝麻开门周周利周五场BTC、ETH持仓计划7号已于今日12点开启,其中,BTC持仓理财认购开启3分钟即售罄,ETH持仓理财认购开启29分钟即售罄。

据悉。Gate.io芝麻开门周周利周五场BTC、ETH持仓计划8号将于下周五中午12点上线,目前,BTC/ETH/USDT 7天Pos活期理财-DeFi流动性挖矿赚SWRV持续进行中。

芝麻开门周周利是Gate.io 理财宝正式推出的7天短期持仓理财产品,锁仓币种为BTC、ETH、USDT等主流币种。详情点击原文链接。[2020/9/18]

2a.如果不知道合约地址,可以通过Dextools、CMC或CoinGecko获得。

2b.需要记住的是,代币页和合约页是不同的,请确保位于合约页上。

下面是代币页的例子:

DeFi流动性挖矿项目kani.finance上线,Initial Pool 3分钟锁仓700ETH:9月6日凌晨,创新型流动性挖矿项目kani.finance上线,Initial Pool 3分钟锁仓700ETH。

据了解,kani.finance是在基于YFI、YFII、Balancer的基础上,创造性地提出了initial Pool、AIP Pool、与Claim即挖矿的玩法。项目完全0预挖,0私募。Initial Pool的占比为5% ,分发KANI数量50万,接受的ETH上限为1000个。请在控制风险的情况下谨慎参与。[2020/9/6]

BBKX平台FANS第四轮认购于3分钟内售罄:据BBKX平台官方数据显示,BBKX平台Friday 21 FANS第四轮认购于3分钟内售罄。本次认购共发放代币10万枚FANS,据悉,FANS自上线已连续两日涨停,每日涨幅3%。

同时,依据FANS的通缩机制,每流通1枚FANS即销毁100枚FANS,项目方已将1000万枚FANS转入销毁地址。

FANS代币即粉丝共识通证,发行总量21亿枚,每流通1枚即销毁100枚,直到全部流通。FANS将共识与价值链接在一起,每一位FANS都是共识的践行者。FANS/USDT将于6月16日18:18开放交易。

BBKX成立于2019年6月,专注衍生品交易,已获得节点资本与链上基金联合投资。[2020/6/17]

这是合约页的例子:

比特币出块平均时间超过13分钟,为2018年后首次:据bitinfochart显示,比特币网络平均出块时间近期有所增加,平均区块时间在13分钟,一度超过了14分钟。

比特币的平均出块时间是10分钟,一般不会准时出块,而是在10分钟上下范围内波动。但平均出块时间超过13分钟在历史上并不常见。

据bitinfochart数据,从2010年开始,比特币出块平均时间超过13分钟仅在2018年第四季度出现过,当时比特币价格也出现了大跌现象,可以推测这种现象或由于币价下跌导致的。此前消息,在3月12日,比特币短时急跌近30%的时候,比特币网络曾出现了1个小时未出块的情况。[2020/3/21]

3.点击上面黄色高亮的「合约」按钮;

4.选择如下所示的阅读合约:

刷新纪录 120万BUC理财额度3分钟抢空:今天下午15:00,区块链资产私人银行BitUN正式对外开启首款高收益区块链理财产品“丘比特I号”的第二轮发售,总额度120万BUC,预期年化收益20%。上线仅仅3分26秒,120万BUC的理财限额就被一抢而空,刷新了昨日9分37秒的纪录。据“丘比特I号”的理财规则显示,用户可在4月13日-4月15日每天15:00参与理财份额的抢购,最低投资额度为1BUC。4月15日为“丘比特I号”最后一期的理财产品发售日,最大限额为200万BUC,满额即结束。据悉,BitUN的理财资金将交由来自香港上市集团的专业团队进行操作,团队成员有着丰富的股票以及数字货币市场交易实战经验。[2018/4/14]

5.现在可以阅读合约的参数,它们应该是这样的:

现在怎么办?

这就是最棘手的地方,因为有无数个潜在的参数可以包含到一个代币的智能合约中。在上面的例子中,只有8个参数,这是一个正常合约的标志。因为所有这8个参数都是代币所必需的,并且不会引发「抽毯子」。

rugpull,即「抽毯子」

其他代币的合约也一样,仍然可以使用完全相同的步骤来阅读合约。在恶意合约中有一些常见的危险信号,这些将在后文概述。现在我们知道了如何访问和查看智能合约参数,就可以确定哪些是潜在的恶意代码。

恶意合约例子

1.铸币功能——这个功能允许铸造更多的代币,从而增加了供应量,并可能允许铸币者在市场上卖出这些代币。这是最常见的导致相关代币价格崩溃的情况。声明:一些代币具有mint功能,因为依赖于弹性供应。但除非有造币的理由,或相关的规则存在,否则不应该有mint功能。检查谁是mint功能的所有者是很重要的:如果所有者是dev,这显然是一个危险信号;如果minter是一个基于数量/价格的智能合约,这就是去中心化的,不太可能是一个局。

2.白名单功能——这个参数只有在项目进行随机预售时才会出现,功能是要求白名单的地址才可以参与购买,以确保没有超额认购。如果项目没有预售,并且在合约中仍然有这个功能,那么它可能被用来使得任何不在白名单上的地址无法出售。也就是说,你可以买,但不能卖。

3.冻结功能——顾名思义,这个功能可以在任何时候冻结资产交易。虽然简单,但它可以很明显地阻止人们出售资金池中的代币,锁定以太和原生代币直到解冻。

3a.叠加所有权转移功能,如果合约创建者拥有冻结功能的控制权,那么他们可以冻结合约,然后将所有权发送到烧毁地址。这样就「杀死了」合约中的以太坊和其他代币,这部分代币将永远无法操作。??

4.不是特定的参数,而是一个代币具有的参数越多,被攻击的参数也就越多。除非代币的项目需要这些参数,否则不应该随意地将它添加到代码中。

其他的注意事项

1.「0多到难以计量」的总量,或者说,一个地址拥有绝大部分的代币。通常可以看到部署合约的地址拥有大部分的代币,这是一个潜在的危险信号。

2.Uni-v2池的代币量,明显小于最大个人持有者的代币量。注意,这里并不包括staking,因为staking地址是众多地址转入的累计额。这是「鲸鱼」分布不均的标志,「鲸鱼」破坏生态系统的可能性越来越大。

注意:正常地址和合约地址之间的区别是地址旁边的符号。用黄色突出显示的符号表示该地址是一份合约。如果这个符号不存在,那么这个地址就是一个个人地址。如果合约中出现了大量的代币,那么了解它们的用途就非常重要了(比如用于staking、线性解锁或锁定团队代币等)

3.匿名团队很可能是一个危险信号,但是也应该理性看待匿名性。如果产品是健全的,安全措施已经到位,开发人员的代码和对问题的回答都是透明的,那么匿名不应该是一个负面因素。但如果匿名和其他危险信号同时出现,那就意味着风险显著增加。

总结

总的来说,与其他的投资相比,以太坊上的Defi合约的风险肯定很高。然而,了解合约运作的基本知识,并能够识别出潜在的危险信号,可以帮助用户降低这种风险。在区块链上进行交互总是有风险的,但是投资于没有恶意代码的合约可以显著防止更多的损失,并且从长远来看可能有助于你的收益。

原文链接

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

金星链

[0:15ms0-1:153ms