许多DeFi的参与者已经成为代币合约漏洞的受害者,这导致他们损失了不计其数的钱或代币。这中情况在Uniswap中最常见,因为只要他们有技术并且可以支付以太坊手续费,
任何人都被可以写一份智能合约。不幸的是,这也导致了出现许多本质上就是恶意的智能合约。
不过,绝大多数的子伎俩可以通过使用Etherscan检查智能合约来识别。以下步骤可用于确定合约是否是恶意的。为了展示好的合约和坏的合约之间的区别,本教程将首先给出一个正常合约的例子,然后给出恶意合约的例子。
正常的合约例子
1.访问以太坊浏览器;
2.在搜索栏中输入合约地址(仔细检查你是否有正确的地址);
AnubisDAO Liquidity Rug 3地址已将3000枚ETH转入Tornado Cash:金色财经消息,据CertiK监测,AnubisDAO Liquidity Rug 3地址已将3000枚ETH(约560万美元)经由EOA地址(0x0D1953)转入Tornado Cash。[2023/4/8 13:51:46]
2a.如果不知道合约地址,可以通过Dextools、CMC或CoinGecko获得。
2b.需要记住的是,代币页和合约页是不同的,请确保位于合约页上。
下面是代币页的例子:
这是合约页的例子:
3.点击上面黄色高亮的「合约」按钮;
市场分析:欧洲央行的新通胀目标仍没有回答如何实现的问题:Gruener Fisher Investments创始人Thomas Gruener表示,欧洲央行新的对称通胀目标“很好”,但市场更感兴趣的是欧洲央行会对此采取什么行动。因此,路线图并没有变得更加具体,与过去几年的‘非常规货币政策’的区别仅限于措辞上的细微之处。他表示,这些含糊的声明表明,欧洲央行根本无法精确实现其通胀目标。在这方面,欧洲央行与美联储、英国央行和日本央行是相同的。[2021/7/15 0:55:11]
4.选择如下所示的阅读合约:
5.现在可以阅读合约的参数,它们应该是这样的:
现在怎么办?
这就是最棘手的地方,因为有无数个潜在的参数可以包含到一个代币的智能合约中。在上面的例子中,只有8个参数,这是一个正常合约的标志。因为所有这8个参数都是代币所必需的,并且不会引发「抽毯子」。
观点:无论与SEC的诉讼结果如何 对Ripple而言都不是致命打击:1月27日消息,针对美国SEC对Ripple发起的诉讼,律师Jeremy Hogan表示,如果诉讼最终对Ripple有利,在诉讼结束时,XRP价格将上涨2至3倍将只是一个“保守估计”。无论诉讼得出什么结论,对Ripple来说都不是致命的打击。如果诉讼结果不佳,导致Ripple关闭,XRP可能会归零,但这种情况不太可能发生。因为Ripple是一个技术公司,不太依赖实物资产运营。最糟糕的情况可能是其商业模式遭破坏,最终可能退出美国市场。Jeremy Hogan称,SEC诉讼最可能的结果将是双方达成和解。SEC可能会对Ripple包括其2013-2014年度(甚至2015年)的业务处以巨额罚款,以及对托管XRP销售业务进行某种控制或限制。(AMBCrypto)[2021/1/27 21:48:59]
rugpull,即「抽毯子」
新华网分析:区块链如何带来个人数据保护“革命”:新华网今晚发表文章《区块链如何带来个人数据保护“革命”》,文章表示大数据时代,个人的数据被认为是黄金般珍贵。个人数据泄漏令人担忧,但绝大部分人不可能因为害怕数据被收集而切断与互联网的联系,而现阶段有责任保管个人信息的企业、学校、酒店、社交网站等往往担责不力。专家们认为,区块链技术作为一种带有加密、信任、点对点、难篡改等特征的“中间件”,有望解决这个难题。
区块链技术的出现令个人数据掌控权从互联网公司转移到用户自己手中,使人人掌控自己的个人数据成为可能。通过它,用户个人数据可以与个人数字身份证相关联,用户可以选择数字身份证是匿名、化名或公开,还可以随时随地从任何设备访问区块链应用平台,控制他们的互联网个人数据。[2018/4/18]
其他代币的合约也一样,仍然可以使用完全相同的步骤来阅读合约。在恶意合约中有一些常见的危险信号,这些将在后文概述。现在我们知道了如何访问和查看智能合约参数,就可以确定哪些是潜在的恶意代码。
恶意合约例子
1.铸币功能——这个功能允许铸造更多的代币,从而增加了供应量,并可能允许铸币者在市场上卖出这些代币。这是最常见的导致相关代币价格崩溃的情况。声明:一些代币具有mint功能,因为依赖于弹性供应。但除非有造币的理由,或相关的规则存在,否则不应该有mint功能。检查谁是mint功能的所有者是很重要的:如果所有者是dev,这显然是一个危险信号;如果minter是一个基于数量/价格的智能合约,这就是去中心化的,不太可能是一个局。
2.白名单功能(
Whitelist
)——这个参数只有在项目进行随机预售时才会出现,功能是要求白名单的地址才可以参与购买,以确保没有超额认购。如果项目没有预售,并且在合约中仍然有这个功能,那么它可能被用来使得任何不在白名单上的地址无法出售。也就是说,你可以买,但不能卖。
3.冻结功能(
Freeze
)——顾名思义,这个功能可以在任何时候冻结资产交易。虽然简单,但它可以很明显地阻止人们出售资金池中的代币,锁定以太和原生代币直到解冻。
3a.叠加所有权转移功能(
TransferOwnership
),如果合约创建者拥有冻结功能的控制权,那么他们可以冻结合约,然后将所有权发送到烧毁地址。这样就「杀死了」合约中的以太坊和其他代币,这部分代币将永远无法操作。??
4.不是特定的参数,而是一个代币具有的参数越多,被攻击的参数也就越多。除非代币的项目需要这些参数,否则不应该随意地将它添加到代码中。
其他的注意事项
1.「0多到难以计量」的总量,或者说,一个地址拥有绝大部分的代币。通常可以看到部署合约的地址拥有大部分的代币,这是一个潜在的危险信号。
2.Uni-v2池的代币量,明显小于最大个人持有者的代币量。注意,这里并不包括staking,因为staking地址是众多地址转入的累计额。这是「鲸鱼」分布不均的标志,「鲸鱼」破坏生态系统的可能性越来越大。
注意:正常地址和合约地址之间的区别是地址旁边的符号。用黄色突出显示的符号表示该地址是一份合约。如果这个符号不存在,那么这个地址就是一个个人地址。如果合约中出现了大量的代币,那么了解它们的用途就非常重要了(比如用于staking、线性解锁或锁定团队代币等)
3.匿名团队很可能是一个危险信号,但是也应该理性看待匿名性。如果产品是健全的,安全措施已经到位,开发人员的代码和对问题的回答都是透明的,那么匿名不应该是一个负面因素。但如果匿名和其他危险信号同时出现,那就意味着风险显著增加。
总结
总的来说,与其他的投资相比,以太坊上的Defi合约的风险肯定很高。然而,了解合约运作的基本知识,并能够识别出潜在的危险信号,可以帮助用户降低这种风险。在区块链上进行交互总是有风险的,但是投资于没有恶意代码的合约可以显著防止更多的损失,并且从长远来看可能有助于你的收益。
原文来源:GemHunters
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。