随机铸造与可退款的铸造:ERC-721R 与 Exorcist 想解决什么
“先铸造者抽中稀有的概率更高”是 NFT 铸造里最古老的抱怨之一:编号如果顺序分配,脚本可以抢在公开开售第一秒批量铸造,按稀有度表把编号区间逐个扫光。ERC-721R 是为了削平这种优势而写的 ERC-721 基础合约——公开铸造按伪随机顺序出编号,且揭示与铸造在同一笔交易里完成;后来的 Exorcist 变体则在这层机制上再加一刀:铸造后一段时间内可以不问理由地退款。两套机制都源自 2022 年的实践(ERC-721R 从 Fashion Hat Punks 提炼,Azuki 带火过同期的 ERC721A 批量风潮说明合约层创新一直在发生),但它们解决的都不是价格问题,而是铸造流程的公平性结构。本文只讲机制。
随机出号是怎么实现的
官方 README 给出了实现要点:采用现代版 Fisher-Yates 洗牌,用一个高效的数据结构同时记录“还可选的编号”与“已铸出的编号”,每笔铸造从可选集合里随机定位一个编号发给铸造者,因此同一笔交易里铸造者立刻知道自己拿到了什么,不存在“先付钱后开奖”的盲盒等待。规范层面的几个事实值得留意:它假定首个编号为 0;单账户余额上限取某个整型边界;合约账户不能参与铸造。想按编号定向发放时,作者给出的约束是用 _mintAtIndex 且必须从大到小补铸,否则随机集合的一致性会被破坏。
“不完全安全”是哪来的
README 的自嘲很坦率:这是一个“有趣但不完全安全”的娱乐向合约。问题的根源在于伪随机的可预测性:随机性来自区块数据与合约状态的混合,矿工、批量铸造者理论上可以推算和博弈特定交易的出号;洗牌集合的状态也让“最后一批编号只剩哪些”随进度逐渐可推断。它防住的是最简单粗暴的“顺序扫号”,防不住更专业的统计博弈。把它当成概率上的均衡器、而不是密码学意义上的公平抽签,才是合理预期——这也解释了为什么强调可验证随机的方案会走向预言机随机数而不是洗牌合约。
Exorcist:把“不想要可以退”写进合约
Exorcist 仓库描述的机制是:在合约期内铸造者获得一枚收据,期满可选择退款拿回铸造费,或继续持有换成正式藏品;它的社区列表页把参与条件写成“铸造价不超过某个门槛、退款期不少于十四天”这类条款式约定。从机制角度,这类设计真正改变的是博弈结构——投机性“先抢再说”的动机被退款权削弱,但它同时引入了新问题:退款的资金从哪来(合约锁着的铸造款总额是否足额)、退款期结束未领的余额归谁、价格随市场波动时退款权是防跌保护还是变相退出通道。这些都没有标准答案,只有合约代码里的具体写法。还有一条朴素但常被忽略的算术:退款退的是当初的铸造价,与市价涨跌无关;若项目方把铸造款挪作外部支出而非全额锁在合约里,退款池就有缺口,宣传口径再响也改变不了“池子里有多少退多少”的链上事实。
参与者核验清单
- 读合约:随机源怎么取、是否声明了定向补铸逻辑、可铸造编号区间与集合大小的关系。
- 退款型铸造逐项确认退款期长度、退款资金链上来源、领取退款的截止与后续。
- 明白随机不等于公平保证,也绝不等于价值保证;稀有度的统计口径永远要按揭示后的数据重算。
- 合约自称“可退款”不等于可无摩擦退出,链上资金池是硬边界,超额承诺兑付不成立。
本文仅解释合约机制与风险结构,不构成任何投资建议或铸造时机判断。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。