NFT 安全吗:回顾 CryptoPunks、Meebits 历史上的合约漏洞

链闻ChainNews view 66323 2021-8-4 11:06
share to
Scan QR code with WeChat

随着日本开放 NFT 业务平台,韩国三大娱乐公司之一的 JYP 公司将目光转向 NFT 市场,NFT 越来越受普通人的关注。

试想日本动漫,韩流涌入到 NFT 市场,其爆发力和潜力该有多大?

但是 NFT 和任何其他 DeFi 一样,都是由易受攻击的智能合约组成,因此 NFT 的安全现在也备受关注。本片从以往的 NFT 出现的一些事故来阐述 NFT 智能合约的故事。

NFT 一个不太突出的方面是,它们是建立在智能合约之上的,而智能合约可以被利用、被破坏和被黑客攻击。与任何具有不完美智能合约的典型 DeFi 项目类似,NFT 智能合约也可能存在导致不利结果的漏洞。随着我们讨论历史和一些导致资金损失的不幸事故,我们将回顾人们在过去几年里利用 NFT 合约所做的事情。

CryptoPunks

CryptoPunks 可以说是迄今为止最受欢迎的 NFT 项目,在 2017 年推出后,其智能合约中出现了一个有影响的漏洞。当所有 1 万名 Punks 被卖出并进入二级市场后,发现了一个可能发生销售但未收到实际付款的错误。

NFT 安全吗:回顾 CryptoPunks、Meebits 历史上的合约漏洞

代码中的问题归结为一行——它没有经过足够的测试。@0xfoobar 后来在 Twitter 上发布了一个帖子,详细解释了这个 bug。

CryptoPunks 的创建者 LarvaLabs 最终以一份新的、更新的合约重新启动了该项目。V1 朋克是最初合约的一部分,直到 CryptoPunks V1 的 ERC-721 封装被发布,这也被称为「经典朋克」。

Meebits

在推出 CryptoPunks 多年后,LarvaLabs 又推出了一个名为 Meebits 的后续项目。所有 Meebits 都带有随机特征。然而,在其启动时,一些用户想出了如何欺骗系统和重新滚动特征,以获得他们想要的特征。

如何 ?Meebits 项目在智能合约中包含一个存档文件,显示每个 Meebit 代币 ID 的特征。用户可以启动 Meebit 的铸造,如果他们通过比较特征文件发现代币并不罕见,就可以取消它。一位用户充分利用了这一点,并在 Twitter 和 Discord 上公开记录了他的成功。这个用户是「0xNietzsche」。

0xNietzsche 发起了 300 多笔交易来测试这一漏洞。如果没有足够稀有的特征,他们发起铸造的每个 Meebit 都会被取消。经过 300 多次交易,他们终于能够偶然发现一个罕见的 Meebit。#16647。

「0xNietzsche」声称,他们每小时花了 2 万美元的 gas 费,等着铸造他们稀有的 Meebit,但他们仍然利用合约这样做。他们能够以 200 ETH 的价格出售新制作的 Meebit,当时价值约 75 万美元。

LarvaLabs 很快就听到风声,暂时停止了 Meebit 的铸造,并发布声明:「我们已经暂停了 Meebit 合约中的社区铸造和交易。合约是安全的,所有 Meebits 都是安全的,交易也很顺利。」他们是正确的,Meebits 仍然是完全随机分配的——除非你投入大量的时间和 gas 费用,否则就不能利用合约,而那时,铸造几乎已经完成了。

尽管如此,Meebits 是一个很好的例子,说明了如何利用智能合约,让一个或多个用户在创建 NFT 时获得竞争优势。

MoonCatRescue

MoonCatRescue 于 2017 年推出,一开始他们的合约就有一个相当大的缺陷。

MoonCats 官方常见问题解答页面提出了一个问题:您是否为此获得报酬?

回复 :

不。我们打算从创世猫的销售中收集以太坊。然而,我们在 QA 过程中所做的修正却导致这些资金被永久封存。但这没关系。

当 MoonCat 被收养时,transferCat(catId, catOwners[catId], msg.sender, offer.price),资金被发送到 require(catOwners[catId] != 0x0。在测试中仔细检查它的话,其实是可以解决这个问题的。虽然这不是智能合约的主要缺陷,但在他们意识到这个错误之前,他们仍然失去了相当数量的 ETH。

智能合约的整体漏洞

2018 年 3 月,五位计算机科学家合作撰写了一篇题为《大规模发现贪婪、挥霍和自杀的合约》的论文,他们对此进行了研究 :

贪婪合约,无限期锁定资金

挥霍合约,将资金随意地泄露给任意用户

自杀合约,可以被任何人杀死

他们在以太坊网络上签订了近 100 万个 (970,898) 智能合约。他们发现,其中 34200 个智能合约容易受到黑客 / 利用,这意味着在 2018 年,大约每 20 个智能合约中就有 1 个面临风险。他们深入分析了 3759 份合约,以具体验证它们的代码中存在漏洞,发现 3686 份合约中的漏洞都在平均 10 秒内被发现。这太疯狂了!他们最多可以从合约中提出 4905 以太币——略高于 860 万美元。该报告还补充说,「此外,区块链目前有 6239 以太坊 (约 560 万美元) 被锁定在死后的合约中,其中 313 以太坊在「死」后被送到了死合约中。」有很多加密货币卡在失效的合约里。在进行这项研究时,DeFi 和其他智能合约占链上活动的比例要低得多。Glassnode 于 2021 年 5 月 6 日发布的一份最新报告发现,22.8% 的流通 ETH 被锁定在智能合约中。

NFT 安全吗:回顾 CryptoPunks、Meebits 历史上的合约漏洞

现在仍然是每 20 个智能合约中就有 1 个容易受到攻击的情况吗?项目是否变得更安全了 ? 或者,随着智能合约对缺乏知识的人来说变得更容易发布,情况可能变得更糟了?即使我们保持 1 / 20 的比率,这将意味着大约 1% 的 ETH 供应处于脆弱的智能合约中。

这里的要点是,在开始一个项目之前要做调查。尽量不要 FOMO。确保你想要投资的项目花时间开发智能合约,确保这个项目不是凭空产生的。许多复制粘贴的代码存在于那里,这总是一个危险信号。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: Cloudrush助力中国矿工出海 Next: 美媒:中国封杀比特币挖矿场 老板们跑到境外会不受美国地方政府欢迎

Related