注:原文来自慢雾创始人余弦发布长推,MarsBit整理如下:
今天看到这篇文章科普了WrappedCryptoPunks:
https://m.marsbit.cc/newsdetailShare/20230423094035639766.html…
正好之前有一些笔记,也顺便分享出来,方便大家对早年分叉存在的CryptoPunksV1(wrapped)/img/20230515131906106592/0.jpg "/>
Wormhole攻击者将290万枚USDC桥接至以太坊新钱包地址:1月15日消息,MistTrack监测数据显示,Wormhole攻击者将290万枚USDC桥接至以太坊上一个新钱包地址,初始Gas费来自此前标记的攻击者钱包地址。
据此前报道,2022年2月,跨链协议Wormhole遭攻击被盗12万枚wETH,损失约合3.2亿美元。[2023/1/15 11:13:07]
慢雾创始人通过其推特向跨链DID .bit成功申领slowmist.bit:9月14日消息,慢雾创始人通过其推特向跨链 DID .bit 申领了保留账户 slowmist.bit。据悉,.bit 通过引用第三方数据源保留的账户,在规定时间内成功发起申领就可以按注册费获得该账户。
此前报道,8月15日,跨链DID .bit宣布完成1300万美元A轮融资,CMB International领投,HashKey Capita、QingSong Fund、GSR Ventures、GGV Capital、SNZ 与 SevenX 参投。[2022/9/14 13:29:33]
为什么会出现这种情况,尤其是V1Punks的出现,是因为最早缘起2017年CryptoPunks的一个漏洞:https://etherscan.io/address/0x6ba6f2207e343923ba692e5cae646fb0f566db8d#code…
简单来说就是买家买一个Punk,花的ETH不会给到卖家,会回到自己的口袋,等于是空手套白狼了。代码上的核心在于:
structOffer{
boolisForSale;
uintpunkIndex;
addressseller;
uintminValue;//inether
addressonlySellTo;//specifytosellonlytoaspecificperson
}
buyPunk函数:
punkNoLongerForSale(punkIndex);//这里面将msg.sender覆盖了offer.seller,导致下面的offer.seller引用实际上是指向msg.sender:
pendingWithdrawals+=msg.value;
修复的核心是:
addressseller=offer.seller;//每次buyPunk都会初始化这个seller,这样就确保seller不会被覆盖。
好,这是起源。后来LarvaLabs2017年就修复了。万万没想到,2022.1.17,V1Punks基于最早这个漏洞代码搞了所谓的真正的CryptoPunks,采用ERC721全新封装:https://v1punks.iohttps://etherscan.io/address/0x282bdd42f4eb70e7a9d9f40c8fea0825b7f68c5d#code…搞得有模有样,可能LarvaLabs最不该的就是卖了V1Punks,然后再踩一脚,导致V1Punks更知名了。参考:
TheTwoCryptoPunks,V1andV2:CanV1andV2CryptoPunksCoexistorWillCopyrightTearThemApart?
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4032777
期间,因为LarvaLabs打官司,OpenSea一度下了V1Punks,不过后来又恢复了:https://opensea.io/collection/official-v1-punks…至此,V1Punks的文化诞生。LarvaLabs正统的CryptoPunks等卖给了BAYC的公司YugaLabs。
这段历史挺有意思,对于安全研究来说也很有意义,一个漏洞导致的分叉文化。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。