发行规则写进脚本:Cardano 铸造策略怎么限签名、限时间、限量 图 1
发行规则写进脚本:Cardano 铸造策略怎么限签名、限时间、限量 · 图 1

在以太坊上判断一个 NFT 项目”还能不能偷偷增发”,要读合约代码、查 owner 权限、猜函数逻辑。Cardano 把这道题改成了查表:链上原生资产的发行条件不由某份合约的自觉维持,而是写在一段叫铸造策略(minting policy)的脚本里,由账本规则逐笔强制。

先从资产的身份说起。Cardano 上的每一种资产由两部分标识:一段策略脚本的哈希,加上资产名。也就是说,资产编号本身就是”哪段规则在管我”的直接表达——你无法在不知道规则哈希的情况下描述一种资产,也无法在换掉规则后保留同一个编号。官方文档对策略的定位很朴素:它规定在什么条件下可以铸造(或销毁)该策略下的资产,比如谁有权限控制供应量。规则一旦定了,所有涉及该资产的交易都必须同时满足其全部条件,任何一笔漏检都不行。

条件具体能写什么?文档给的第一个例子就是最经典的形态:多签——规定允许铸造时需要哪些签名,不需要写任何代码,纯签名门槛就是一种合法策略。在这个骨架上还能叠加时间条件:账本里每笔交易都可声明有效区间(invalid before 与 invalid after 两个边界),把策略脚本写成”只在某个槽位区间内放行铸造”,就得到时间锁定的发行窗口;再结合脚本自行计数的写法,可以把每笔铸造的数量与总量条件写进规则。于是三种最常见的发行承诺——“只有这五人同意才能印""过了这个区块不许再印""总数不超过某个数”——都有了用脚本表达的方式。需要区分的是:供应量、资产名等参数在创建时锁定,而”未来还能不能印”这件事完全由策略脚本的放行条件决定,两者一起才构成完整的增发画像。

关键差异在于强制层。以太坊上的类似承诺要编译进合约逻辑,靠代码执行;Cardano 的原生资产由共识层直接验策略:你转一笔账,节点顺手就检查这轮铸造有没有违反该资产的政策。买家要判断”还印得出来吗”,路径因此变成三步:取资产编号里的前段(策略哈希),在浏览器或节点上找到对应的脚本内容,读它写了什么条件。策略是一次性多签、时间窗早已过期,还是脚本本身无法再满足,三种情形指向完全不同的增发风险。读不到脚本原文时(策略以哈希形式引用而未披露),则应把”规则未知”如实记为风险项,而不是默认安全。

对藏品持有者,这套模型还有两个衍生影响。其一,同一策略脚本下可以发行多种资产(策略哈希相同、资产名不同),所以”同出一个发行方”在编号层面一目了然,蹭名仿盘很难伪造前段哈希;其二,官方另有把长资产名做短指纹编码的规范(CIP-14),日常核对时用指纹比对能避免复制长名出错。至于资产元数据长什么样,则由 CIP-25 等社区约定描述——规则分层很清楚:脚本管发行权,约定管描述格式,账本管归属。

把 Cardano 的经历带回去看其他链,收获的是一条通用的尽调思路:所谓”限量”,永远要问到”由谁、在哪一层、凭什么强制执行”为止。有的答案是一段共识层校验的脚本,有的是一个可以弃权的管理员钥匙,有的只是一句公告。三者强度完全不同,而编号体系只帮你把第一种答案变成可查的哈希。

还有一类边界值得写进检查清单:策略脚本可以允许”任何人满足条件即可铸造”——比如把铸造绑定在某个出价条件或先到先得的结构上,这时发行权不在任何钥匙持有者手里,而在脚本规则与先到先得的市场过程里。同样,销毁也走策略验证:脚本可以规定只有某类签名才能烧掉该资产,也可以放任持有人自由销毁。换句话说,“谁能印、谁能烧”这对看似对称的权力,在策略里是两组可以分别设计的条件,读脚本时别把它们混作一条。

本文为机制说明,不构成任何投资建议。

发行规则写进脚本:Cardano 铸造策略怎么限签名、限时间、限量 图 2
发行规则写进脚本:Cardano 铸造策略怎么限签名、限时间、限量 · 图 2