CFRAC NFT — 铸造、艺术及合约
0x6E5c
March 17th, 2022

作者:Y4000 (Y4000#2731)

编辑:zerohash (Tet#7609)

更新日期:2022 年 3 月 14 日


CFRAC藏品中前48个NFT的蒙太奇
CFRAC藏品中前48个NFT的蒙太奇

CFRAC藏品中前48个NFT的蒙太奇

宪法碎片化 生成的艺术NFT系列(CFRAC)是基于以太坊区块链上的Y4000的创世NFT系列。它是作为一份礼物赠送给宪法DAO以支持社区的。PeopleDAO 的活跃成员可优先获得。

铸造

CFRAC 于 2022 年 3 月 1 日(星期二)开放铸造,这为 PeopleDAO 社区带来了激动人心的一周。3天后,也就是3月4日(星期五),铸造迅速关闭,使该系列的 NFT 总数达到 1028 个。在铸造开放前一周,我们举办了一场简单的基于推荐的赠送竞赛。开幕时,利用合约直接将20名获奖者的NFT发送到了他们的钱包。铸造过程如人们所愿一样顺利,社区中的大多数人在不花费gas的情况下就领取了他们的NFT;一些人以花费0.05ETH 的价格铸造了额外的NFT。

在此向所有能够铸造的收藏家表示热烈的祝贺。以后,获得 NFT 的唯一途径将是在二级市场上进行购买。最初的计划是在1776进行更大规模的收藏,但在铸造的一种诗意化的结局中,宪法碎片化收藏本身就被分化了。两个用户发现了一个利用合约来铸造额外免费NFT的方法,当我们看到他们的所作所为时,我们迅速采取行动停止铸造,并且销毁了剩余的未铸造的艺术作品。黑客总共免费铸造了 17 个 NFT(超出他们有权获得的)。我们通过Discord 和 Twitter识别出了他们,他们同意将17个NFT中的 10 个归还给 PeopleDAO 国库。当我们关闭铸造时,有3笔合理的铸造卡住了且未能交易成功,所以我们给这3个钱包各发送了一个NFT。剩下的 7 个 NFT 将由 PeopleDAO 国库进行拍卖。 下面的“合约”部分探讨了有关该漏洞的更详细的信息。

艺术

NFT 本身只是一个基于区块链的真实性的证书,用于证明所拥有者的独一无二的数字艺术作品。这个生成的艺术收藏品的目标是让每个NFT都是真正的独一无二 —— 一个独特的数字艺术作品,但显然是一个更大的收藏品中的一部分。该系列的灵感和立意可以在早期的这篇文章中找到:

页面

首先,该集合有意被 4 整除(1776 和 1028 都是),其背后的原因是该项目来自国家档案馆提供的宪法副本,该副本有 4 页。“乱序”算法以不同的方式应用于 4 页中的每一页。第一个页面的碎片从底部掉下来,第二页从右边掉下来,第三页从左边掉下来,第四页从顶部掉下来。所以,通过快速浏览该藏品,您可以清楚地解读不同的页面。 鉴于此,对于收藏家来说,一个有趣的想法是获得一套全部的 4 页。

应用乱序算法为每个页面提供其独特的特征。
应用乱序算法为每个页面提供其独特的特征。

应用乱序算法为每个页面提供其独特的特征。

颜色

选择了16种颜色的调色板作为可能的背景以用于对比古老的羊皮纸。把这套藏品放在一起看的话,我觉得这个调色板只是刚好 "一起工作",尽管光谱相当宽。

使用的色板
使用的色板

使用的色板

我可以设想将布景以不同的方式组合在一起——单色、不同的色调、具有个人特色的系列,或者简单的随机组合。

使用 CFRAC NFT #7、#14、#36 和 #65 的单色套装示例
使用 CFRAC NFT #7、#14、#36 和 #65 的单色套装示例

使用 CFRAC NFT #7、#14、#36 和 #65 的单色套装示例

使用 CFRAC NFT #1、#74、#27 和 #76 的蓝色阴影套装示例
使用 CFRAC NFT #1、#74、#27 和 #76 的蓝色阴影套装示例

使用 CFRAC NFT #1、#74、#27 和 #76 的蓝色阴影套装示例

使用 CFRAC NFT #4、#18、#21 和 #99 的时髦颜色套装示例。
使用 CFRAC NFT #4、#18、#21 和 #99 的时髦颜色套装示例。

使用 CFRAC NFT #4、#18、#21 和 #99 的时髦颜色套装示例。

碎片— 尺寸 和 密度

藏品中每个 NFT 的碎片大小各不相同——范围很广,但它们被归类为:极小中等 这几种特征。鉴于这种分类和基于OpenSea的过滤—看起来,实际上比极小更稀有。一些碎片从页面上 "掉下来"--这在 "密度 "属性中有所体现;密度越小,脱落的碎片就越多...... 这些属性使本来看起来相似的NFT以自己的方式变得独特--以下面这页为例:

相同背景但明显独特的页面展示——CFRAC NFT #17、#53 和 #133
相同背景但明显独特的页面展示——CFRAC NFT #17、#53 和 #133

相同背景但明显独特的页面展示——CFRAC NFT #17、#53 和 #133

合约

发放NFT的目的是奖励ConstitutionDAO / PeopleDAO社区。我们的策略是为积极的参与者提供公平的分配。我们将任何一个钱包可以铸造的最大值限制为 8,以阻止囤积。围绕“免费铸造”逻辑验证钱包的技术可以在这篇文章中找到。一个钱包的第一次铸造NFT是免费的,任何额外的铸造都需花费0.05ETH的价格。检查一个钱包是否已经铸造的逻辑是简单地检查钱包的NFT余额:

require(balanceOf(_msgSender()) + 1 <= MAX_FREE, 'MAX_FREE_REACHED');

漏洞

围绕这个逻辑的漏洞就是将你刚刚铸造的免费NFT转移到另外一个钱包,这就是黑客们所利用的漏洞,然后他们会再去铸造另一个免费的NFT。现在回想起来,这种漏洞本来可以被利用更久。幸运的是,我们很快就发现了这种不诚实的行为,决定关闭铸造并销毁收藏品中的其余艺术品。我们迅速采取行动以保护藏品的价值,而不是让不怀好意的人带着藏品的很大部分逃走。黑客免费铸造了超过他们有权获得的额外的 17 枚 NFT。我们感谢这两名黑客与我们合作,并将10枚NFT归还。最后,他们做了“归还”这件正确的事情,我们也从这一事件中吸取了教训。该系列藏品比最初的预期更少——总体而言,结果是积极的。正确的逻辑是使用已经免费铸造的钱包的 映射,例如:

mapping (uint => bool) public mintedFree;
...
// check before allowing free mint
require(!mintedFree[msg.sender], 'MAX_FREE_REACHED');
...
// afer minting for free, record the wallet
mintedFree[msg.sender] = true;

吸取了教训后,我们为下一期活动的推出做好了更好的准备!另外,如果你在区块链上进行恶意行为,你往往会留下很多痕迹,这样很容易就追踪到你了。我们通过简单地将他们的钱包与相关钱包的POAP分布和ENS信息进行交叉比对,追踪到了黑客的钱包——我们在几分钟内就在 Discord 和 Twitter 上找到了他们。

总结

从历史上看,在每个年代、每个国家和每种文化中都有艺术家破坏他们自己的作品的行为。在 16 世纪,米开朗基罗用锤子敲击了在他的大理石圣母怜子雕塑中基督的左腿和手臂。1908 年,克劳德·莫奈(Claude Monet)用刀破坏了他的至少15幅作品。我个人曾销毁过我厌倦了的生成艺术项目的代码。这在某种程度上是一种宣泄——使头脑重新焕发活力,让新的创作成为可能。尽管销毁剩余的748件NFT令人心碎——但对我来说,这显然是对整个收藏的正确决定。鉴于这些艺术作品的独特属性以及这些作品背后的故事,我希望收藏家们在未来的岁月里继续从这一历史性的收藏中得到且享受!

铸造产生的 5% 的资金用于捐赠给史密森学会。 CFRAC NFT可以在二级市场上购买,这里是该系列的 OpenSea 页面:

Arweave TX
Fz776JbIEj1tTAQSfih6OLQV-bA7tWeaBhv0bRXfAJo
Ethereum Address
0x6E5cc01c94fFaB8A1db9e70A8caC19767f239443
Content Digest
-DJr_i5ubKRBcZSQ-D-mUwf1HdckGaaDfIxCanLwwkU