原文来源:老雅痞
作为一个NFT收藏家,你应该关心链上的合约出处,NFT最真实的出处是直接从创造者的钱包或创造者拥有的智能合约中铸造出来的。然而,通过一些小技巧,有人可以使用一种被称为"SleepMinting"的技术来操纵NFT的创作者来源。
SleepMinting是指者直接将NFT铸造到一个著名的创作者的钱包,并从创作者的钱包中回收NFT。
这就造成了这样的假象:
(1)创作者自己真实地铸造了一个NFT;
(2)将该NFT发送给了一个子;
基于"链上"的出处,子可以声称他们拥有一个著名创作者铸造的NFT,并以更高的价值出售。
这在技术上是如何运作的?
首先,了解智能合约如何存储NFT的出处和所有权是至关重要的。任何人都可以使用ERC-721标准中的ownerOf(tokenId)函数查询NFT智能合约,以确定NFT的当前所有者是谁。你甚至可以通过改变eth_callRPC方法参数来查询特定区块编号的NFT所有者。然而,查看所有权变化的最简单方法是查看ERC-721传输事件日志。
a16z Crypto政策负责人:美SEC主席一直在监管方面“踢皮球”:金色财经报道,a16z Crypto 的政策负责人、前 CFTC 专员 Brian Quintenz 周五在2023共识大会中表示,美国证券交易委员会(SEC)主席 Gary Gensler 一直在监管方面“踢皮球”。他说:“我们已经看到SEC主席认为,除了比特币之外,所有加密货币都在他的管辖范围内,需要遵守他们的规则。一场地盘争夺战涉及两方(SEC和CFTC),而现在,我认为球场上的一方正在跑到另一端并开始‘踢皮球’,CFTC 在这场争夺战中失去了位置”。
Quintenz 表示需要立法解决方案,他说:“如果没有一个愿意接受该技术并制定适合该技术并以适当方式保护消费者的规则的监管机构,国会就必须介入”。[2023/4/29 14:34:17]
我的a16zCrypto同事DarenMatsuoka在Twitter上写了一篇关于事件日志和它们如何工作的精彩文章。转移事件日志是由智能合约向外界发送的消息,包含关于NFT转移的细节。转移事件日志提供了一种有效的方式来检查NFT的来源。
a16z普通合伙人James Gwertzman将于本月底辞职:1月19日消息,a16z普通合伙人James Gwertzman宣布将于本月底辞职,成为一名全职建设者。去年6月,a16z宣布推出6亿美元Web3游戏基金Games Fund One,并表示James Gwertzman负责领导该基金。[2023/1/19 11:20:13]
Sleepminting
这是beeple的数百万美元的作品"First5000Days"在rarible上出售。看看截图,上面清楚地写着"创造者:
但这是个局。它的创造者MonsieurPersonne,也自称是NFTs的Banksy,故意用beeple的名字铸造了这幅作品,他使用了一种叫做sleepminting的技术。那么他是如何做到的呢?
基础知识
NFTs是使用ERC-721智能合约创建的,他们把NFTs的所有权记录作为一个列表。一个地址和一个作品的序列号组成一个对。像这样。
NFT组织PROOF完成5000万美元A轮融资,a16z领投:金色财经报道,NFT组织Proof周二宣布完成5000万美元A轮融资,a16z领投,其他参与者包括Collab+Currency、Flamingo DAO、SVAngel、Vayner Fund和Seven SevenSix。Seven SevenSix在4月份为Proof领投了1000万美元的融资。PROOF发布了到今年年底的计划,包括对CC0系列的支持,即将推出的MoonbirdsDAO的更新,以及PROOF的第三个NFT系列:MoonbirdsMythics。MoonbirdsMythics是一个2万个PFP系列,预计将于2023年推出。PROOFWeb3社交平台也即将推出,测试版将使PROOF创作者、Moonbirds和Oddities的持有者能够创建由收藏家策划的画廊。该平台将整合PROOF生态系统特有的内容和行动,包括研究报告、播客、DAO提案等。[2022/8/31 12:59:29]
Alice:1
a16z合伙人:NFT潜在价值来自围绕其建立的社区:金色财经报道,知名风投a16z合伙人Chris Dixon在推特上表示,毫无疑问,围绕NFT建立的社区创造了NFT的潜在价值,这些社区中,NFT会成为个人身份的一部分,当社区参与度越强,NFT的价值就越能得到强化。[2021/11/11 6:45:16]
Booble:2
Malory:3
成交后,Alice可以通过以下方式将她的NFT转让给Booble。
转让1:Alice==>Booble
现在列表更新如下:
Alice:
Booble:2,1
Malory:3
在以太坊,我们用地址名字来识别,而且我们需要签署转账来授权。但是在这篇文章提供的例子中,我将使用明确的名字来简化解释。
现在,通常开发者以合理的方式实现ERC-721合约。Alice只有在她拥有一个NFT并能提供有效签名的情况下才可以转让。
ERC-721标准只是一个社会契约,它定义了一个允许艺术平台互操作的接口。只要合同的接口与ERC-721合同的接口相匹配,任何机器都会认为它是有效的。
但是,正如我们现在所看到的,这可能会导致以太坊上的NFTs出处出现安全问题,它是可以被篡改的。
正如我所说,任何合理的ERC-721合约都会允许矿工只为自己造币,并且只转让他们拥有的碎片。
但是,假设我们定制了我们的ERC-721合约,使我们可以向其他账户铸造。假设我们调整了转让功能,使我们的账户在某些情况下,也可以转让另一个人的NFT。那么,我们就可以建立一个允许我们sleepmint的合约。
举例:作为攻击者Malory,我们给Booble铸造一个序列号为1的作品。
mint1:address(0)=>Booble(由Malory执行)
现在我们的配对看起来如下:
Alice:
Booble:1
Malory:
然后,由于Malory已经调整了合同,将序列号为1的作品从Booble的账户转移到任何其他账户,她可以在像rarible这样的NFT平台上提供出售。
由于她从地址(0)到Booble的铸币为"创造者--Booble"被显示出来。
一旦Malory成功了一个买家,她就会收到她的"Ethers",并将假冒作品卖给买家。
转让1:Booble=>买方。
更新后的所有权记录现在是这样的。
Alice:
Booble:
Malory:
Buyer:1
就这样,Malory成功地篡改了NFT的创作出处记录,以高于其价值的价格出售了她的作品。
具体细节:
仔细查看rarible和Etherscan的信息,我们会发现这更像是一个接口问题,而不是一个安全漏洞。没有人能够进入beeple的账户。
另外,当仔细看一下交易记录时,可以发现子的手法:
伪造的mint交易
伪造的转账交易
对于mint交易,我们可以看到Etherscan显示两个"From"字段。一个是msg.sender发送的交易,另一个是说明NFT的发件人。
对于交易的发件人字段,即msg.sender,它不能被人为操纵,因为它需要发件人的私钥的有效签名。然而,对“TokensTransferred”的字段的授权受制于智能合约的漏洞,因此,可能会人为操纵。
简单地说,子可以对“TokensTransferred”字段进行任意修改。
因此,我们必须检查From和TokensTransferred是否都与beeple的正确地址相符。如果不是,那就是假的。
这种攻击它与"rugpull"类似,有人认为区块链使web2问题都消失了,因为每一个数据都是经过认证和检查授权的。但事实是,这些问题并没有消失。它们只是转移到了别的地方。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。