BRC-20 与 Ordinals 铭文的关系与区别 图 1
BRC-20 与 Ordinals 铭文的关系与区别 · 图 1

BRC-20 常被笼统地说成”比特币上的 meme 代币”或”铭文的一种”,两种说法都对了一半。把它与一般 Ordinals 铭文放在一起对比,能看清同一套基础设施上长出两类完全不同资产的逻辑。

先看依赖关系。BRC-20 建立在 Ordinals 协议之上:它把一段 JSON 指令(形如 {"p":"brc-20","op":"mint","tick":"demo","amt":"100"})用与铭文相同的方式刻进比特币交易的见证数据里。每条指令本身确实就是一条铭文——这一点上”特例”的说法成立。区别在于索引器对它的处理方式:普通铭文的 JSON 描述的是”这个代币是什么”(名称、属性、图片指针),索引器解析一次即可;BRC-20 的铭文描述的是”对某个账本做一步操作”(部署总量、铸造若干、转移若干),索引器必须按区块顺序把所有指令当状态机重放一遍,才能算出每个地址当前有多少枚。换句话说,Ordinals 是”文件索引”,BRC-20 是”应用状态索引”,后端的复杂度高一个量级。

由此引出第二个区别:可替代性。一个 Ordinals 铭文对应唯一一个被标记的聪,天然非同质,两个铭文之间没有兑换等式。BRC-20 代币通过指令账本核算余额,同一代币的每一枚彼此等价,是标准的同质化资产——它与 Ordinals 铭文在”同质/非同质”这条轴上正好落在两端。也正因为余额不是链上原生状态而是计算结果,BRC-20 转账不改变 UTXO 结构:你的”余额”体现在一系列指向你的 mint/transfer 指令里,花费时钱包挑一笔足够大的转出指令刻进新交易即可,找零也是刻一条转给自己的指令。这套 UTXO 式的记账方式让 BRC-20 的单笔转账往往比一次普通比特币转账更贵、更占空间。

第三个区别是规则约束的来源。以太坊的 ERC-20 由智能合约强制执行,函数接口不可绕过;BRC-20 没有任何合约,只是一份写在 GitHub 上的格式约定,节点和钱包靠自愿遵守同一份解析规则。这带来几个后果:理论上任何人都可以发行”冒名”同 tick 符号的指令集;不同索引器对非法格式指令(比如铸了超额数量)的处理策略曾不一致,导致余额视图冲突;协议本身也没有销毁、暂停、权限管理这些概念,一切”功能”都靠社区再写约定(后续的 BRC-20 变体提案都在补这些洞)。

钱包与使用体验上的差异:Ordinals 钱包把铭文当作”贴在聪上的藏品”展示,BRC-20 钱包要额外实现余额计算、铸造队列和转账构造,多数钱包把两者做成同一入口下的两个模块,但功能各自独立,一个支持刻铭文的钱包不一定支持 BRC-20 转账,反之亦然。

最后补一个容易混淆的点:市场上还有在铭文库基础上加索引层与合约层的比特币代币方案,它们与 BRC-20 的差异在于引入了更严格的总量校验、更省空间的编码或配套的兑换池。讨论”比特币代币”时,先问它的数据载体是不是铭文、状态由谁来算(链上指令重放、链下索引还是链上脚本校验),很多看似矛盾的说法其实是把不同层次的东西放在同一个词下争论。理解层次比记住名字更重要:底层是 Ordinals 的编号与数据写入规则,中层是各类应用约定(铭文 NFT、BRC-20 指令账本、各类改进提案),上层才是钱包和市场提供的使用体验,任何一层的规则变动都会向上传导。

适合的心智模型是:Ordinals 给了比特币一个”在交易里夹带任意数据并被社区索引”的底座;在这个底座上,想表达唯一藏品就用铭文 NFT,想表达可计数代币就用 BRC-20 的指令集。两者共享同一套数据和费用环境——网络拥堵时,刻铭文的成本上升会同步传导到 BRC-20 的铸造与转账成本上,生态内部又因此存在真实的资源竞争。

风险提示:本文仅为技术机制科普,不构成投资建议。BRC-20 无智能合约强制约束,依赖索引器一致性,存在解析分歧与费用波动风险,请自行核验协议文档。