资产分两层记账:ERC-6960 双层代币的主类与子类
ERC-1155 用一个 id 同时表达“这是哪类资产”和“这是哪一个”,简单,但在成百上千种资产共存一份合约时,扁平编号变成一本无法分类的流水账。ERC-6960(Dual Layer Token,双层代币)给出的改造是把编号拆成两级:mainId 标识主资产类型,subId 标识这个类型下具体的属性或变体。按 ercs 仓库记录,提案状态为 Draft(草稿),创建于 2023 年 4 月 30 日,定位上融合了 ERC-20、ERC-721 与 ERC-1155 的功能取向,规范文本列举的适用对象包括发票、公司股票、数字收藏品与不动产的碎片化所有权。
两层结构改变了什么
在双层结构里,“一栋楼”是一个 mainId,“这栋楼的千分之三份额凭证”是它下面的某个 subId;或者反过来说,同一类权益是主类,逐张编号的凭证是子项。转账事件因此带上两个编号:Transfer(sender, recipient, mainId, subId, amount),批量版本携带三个数组。规范还定义 URI(oldValue, newValue, mainId) 事件——注意 URI 挂在主类而不是子项上,意味着元数据描述的是资产类型层面的说明书,个体差异更多体现在编号与余额里。
授权模型与 ERC-1155 神似但粒度不同:setApprovalForAll 让操作人管理调用者名下的所有 subId,approve 可以精确到某个主类某个子项的额度,allowance 与 subBalanceOf 分别读出这两个维度。接收侧沿用 ERC-1155 风格的 onDLTReceived 与 onDLTBatchReceived 回调,兼容安全转账检查的钱包生态。

和 ERC-1155 的实际差异
把 1155 的 id 拆成两列,收益是查询与索引:想统计“同一主资产下所有子凭证的总流通量”“某个 mainId 的全部转账历史”,不用再靠项目方自建的映射表,读日志时按主类过滤即可。代价同样真实:它是一套新接口,现有 1155 工具不能直接读,钱包、市场、浏览器都要单独适配;两级编号也带来新的心智负担——一个地址的持仓要按“主类加子项”的矩阵展开,展示的复杂度高于扁平列表。评估采用者时可以观察一个信号:它的浏览器页面是自己写的索引,还是能直接被通用工具解析。
碎片化叙事下的核对清单
ERC-6960 被 RWA 项目青睐的原因,是它天然贴合“一类资产、多份碎片”的结构。但结构正确不等于资产可信,逐条核对才有意义:主类 URI 里写的资产描述,有没有对应可查的登记文件或审计线索;碎片的赎回路径是销毁 subId 换回资产权益,还是只能二级转让;主类层面的 URI 事件变更时,持有人怎么被通知。这份标准给了资产说明书一个更整齐的文件柜,柜里的文件是否属实,仍要链下去找。
阅读顺序建议
接收回调与批量查询
双层结构在接收端保留了熟悉的手感:onDLTReceived 与 onDLTBatchReceived 的角色对应 ERC-1155 的接收检查,合约钱包可以在收下资产前表态接不接受;balanceOfBatch 允许把多个地址与多个子编号拼进一次调用,索引服务能整块取回持仓矩阵。对做展示的工具来说,这意味着一个地址的余额天然是“主类乘以子项”的二维表,任何只能展示主类总数、查不到子项明细的工具,都只实现了标准的一半。普通用户读双层持仓时也应带着这个矩阵意识:一枚“主资产”在你名下的可能不是一行余额,而是几行碎片加几个整枚——把二维压成一行的产品界面,往往在界面层丢掉了风险敞口的真实形状。
若你从 ERC-1155 过来,最快的理解方式是把它读成“把 id 拆成外键加主键”:1155 的一切心智模型(批量、回调、按量授权)几乎原样成立,只是所有涉及 id 的地方都变成成对出现。若你从 NFT 市场语境过来,要警惕一种误读:把 subId 理解成“另一枚 NFT”——两个标准对“个体”的定义方式不同,能否在二级市场以单枚形式挂出,取决于实现方给这套接口配了什么交易逻辑,标准本身没有承诺。本文为机制说明,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。