ERC-6239 语义灵魂绑定代币:给链上证书加上“谁对谁是什么”
从一张不可转的证书说起
灵魂绑定代币(SBT)的概念由 Vitalik Buterin 等人在 2022 年的论文中推广:一种绑定在账户上、不可转让的代币,用来表达学历、会员、信用、职务这类“属于你但卖不掉”的东西。接口层面的最小实现是 ERC-5192(已标记为 Final),它只回答“这枚代币是否锁定、锁定了就不能转”。
但锁定只解决了“能不能转”,没解决“它说明什么”。一枚写着“优秀志愿者”的 SBT,语义全靠自由文本,机器无法把它和另一枚写着“志愿者奖”的代币关联起来。ERC-6239 在此之上推进了一步:让 SBT 携带 RDF 三元组,状态为 Final。

三元组是什么结构
RDF 是万维网联盟(W3C)定义的数据模型,用“主语—谓语—宾语”三元组表达事实。例如:
<地址A> <担任> <某个DAO的财务多签成员>
<证书X> <颁发给> <地址A>
<证书X> <有效期到> <某个时间戳>
ERC-6239 为代币增加一组语义管理函数:setSemantic 按索引登记一条三元组,unsetSemantic 移除,getSemanticCount、getSemantic 供查询,修改时发出 SemanticSet 与 SemanticDeleted 事件。合约声明自己的接口标识后,工具可以识别“这是一枚带语义记录的 SBT”。
意义在连通性:当多个项目的凭证都用三元组描述“谁在什么期间以什么身份参与了什么”,链上数据第一次可以在不依赖中心索引的情况下互相查询——社交图谱、可信联系人、治理参与记录都能沿宾语与主语跨合约漫游。这是它试图搭建的“链上关联数据层”。
可转让性会受影响吗
这是新手最容易混淆的一点。ERC-6239 继承 ERC-5192 的锁定语义:语义记录本身不改变可转让性设置,锁定与否由 5192 的 locked 状态决定;项目如果只加了语义而不锁定,代币照样可以转。因此“语义 SBT”在字面上允许两种实现:真正绑定账户的凭证,和带结构化描述但可自由流通的记录。看穿这一点,检查的是 locked 查询结果和 supportsInterface 对 0xb45a3c0e(5192 标识)的返回,而不是代币标题。
同时注意三元组的写入权限:语义由谁设置、能否被发行方事后改写,各实现不同。一条可以被签发方随时改写的“任职记录”,证据价值要打折。
现实定位
语义 SBT 目前主要出现在去中心化身份、社交恢复、信用评分的试验项目中,普通消费市场几乎见不到。它代表的问题是真实的:链上留下了海量互不相通的“徽章”,机器读不懂,跨应用复用就难。三元组是机器可读的第一步,但采用面还窄,评估一个声称“可组合身份”的项目时,不要只因它用了这个标准就默认生态配套已经存在——先查有没有索引器和查询工具真的消费这些三元组。
它也不解决隐私。把社交关系显式写上链,本身就是一次披露。三元组的主语和宾语往往是真实地址,“某人在某机构任职”这类事实一旦登记就永久可查,离职记录也不会自动消失。有些团队因此选择折中:链上只放哈希或承诺,明文数据留在链下,需要证明时再用零知识手段做选择性披露——那是与本标准互补的另一套技术组合,取舍点从”是否结构化”变成了”暴露多少”。对普通用户而言,接受一枚语义 SBT 之前,先读它记录了哪些三元组,和读一枚新代币的授权条款同样重要。
风险提示:链上身份数据一旦公开难以撤回,涉及个人信息发布需谨慎;本文不构成任何投资建议或法律意见。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。