BRC-20 的 self_mint 模式:只让部署者铸造的限制发行
从“先到先得”说起
原版 BRC-20 的发行是一场公开的先到先得:任何人部署 deploy 铭文声明总量上限与单次铸造量,之后的 mint 铭文谁先被区块收录谁先得,达到 max 上限为止。这个公平模型有著名缺陷:热门 tick 的 deploy 一出现,脚本大军就在一秒内灌满所有 mint 位置,人类用户只能从脚本手里接盘。self_mint 是社区为收拢发行节奏提出并落地的扩展机制,Layer1 基金会维护的 BRC-20 文档对其有完整记录。
规则本体
self_mint 的实现方式是在 deploy 铭文的 JSON 里加一个字段:把 self_mint 设为字符串 “true”。生效后规则有三条。第一,mint 权限只属于部署者地址,其他人提交的 mint 铭文不被索引器承认。第二,这条路线下的 mint 铭文必须以部署铭文为父铭文(parent),否则无效——这一要求借用了 ord 0.14 引入的父子关系语义,让“哪份部署授权了这次铸造”可以在链上追认。第三,字段缺省或值不为 “true” 时一切照旧,公开铸造不受影响。文档同时记录了启用坐标:区块高度 837090,self_mint 与 5 字节 tick 在同一次调整中生效,5 字节(早期提法是 5 位数命名)tick 最初仅对 self_mint 开放。
max=0 的特殊语义
原版规则里 max 必须为正数,max=0 非法;self_mint 提案给 0 赋予了新含义——在部署者独占铸造的前提下不设总量上限。提案帖对此的表述是:BRC-20 资产无法真正消失,销毁也只是转入不可花费输出,不影响 max 作为全部铸造总量上限的角色。换句话说,self_mint 加 max=0 等于“发行方掌握无限增发权”。这是这套机制里最值得普通参与者警惕的组合:总量有限的神话在这里反转成无上限,全靠对发行方地址行为的主观信任兜底,而发行方地址在链上能做的动作(持续 mint、转移)都公开可查,值得定期查看铸造记录。
想解决的问题与没解决的问题
提案与文档给出的动机是针对 tick 抢跑与脚本抢铸:部署者带着节奏放货,理论上映射更可控,也催生了更长的 5 字节、6 字节命名空间(6 字节还引入了 predeploy 承诺机制防抢名)。没解决的问题同样清楚:部署者的中心化本身成了新风险面;不同索引器对 self_mint 细节(父铭文校验严格度、边界高度处理)可能有实现差异;以及 BRC-20 一贯的“两跳转账”(先刻 transfer 铭文再转出载体)带来的 UTXO 膨胀成本没有因此减少。
参与者核对清单
持币或准备参与前:在 ord 或索引器上读出部署铭文原文,确认 self_mint 字段的真实值;核对当前区块高度与启用高度的关系;查发行方地址的 mint 历史频率;索引器显示与钱包显示不一致时,优先以可重放的链上铭文记录为准。涉及资产处置的一切决策都不应从本文这类二手综述得出,请以协议文档与链上数据为准。本文为机制科普,不构成投资建议。
predeploy 的防抢名配套
扩展文档还记录了一组配套的抢名防护:六个字节的 tick 需要先刻一条 predeploy 铭文,其 hash 字段由 tick 字节、盐值与部署者脚本公钥做两次 sha256 得到,把名字绑死在部署者地址上;随后部署铭文必须是指向该 predeploy 的子铭文,且落链区块不早于 predeploy 三个区块。换句话说,BRC-20 的防抢跑工具是分层的:五字节名字由 self_mint 门槛护着,六字节名字由哈希承诺护着,共同把部署时点从脚本速度手里拿回发行者日历。普通参与者的对应检查是:买新名资产时查一遍 predeploy 与 deploy 的父子链和区块间隔,对不上的就按异常流程处理。
从协议字段到持币决策
把 self_mint 放回普通参与者的决策桌:它同时改变了三件事——稀缺性叙事的可信来源从协议规则转移到部署者地址行为,发行节奏的控制权集中, mint 记录的可查性增强。评估一只 self_mint 资产时,与其争论中心化好坏,不如查三个硬数据:发行地址的历史 mint 频率曲线,是脉冲式集中还是长尾零星;max 字段的真实值与已铸量占上限的比例;mint 铭文的父铭文指向是否全部合规。这三项都指向链上事实,不需要听任何人的叙事。反过来,如果一只资产的 mint 历史集中在部署后几小时内完成、地址群高度聚集,那所谓的节奏控制更接近一步到位的内部预分配,叙事就该按相应折价读。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。