我已经连续熬夜一周,为了翻看SIGN文档,快把自己熬秃噜了。昨晚我又花了3小时跑了测试网。
New Money System 文档里:
"performed_by": "operator:cb-compliance"
记录"谁执行了这次合规检查"。在真实场景里,这应该是一个经过 Trust Registry 认证的操作员 DID。
当我看到上面这个字段时,我决定对它撒个谎试试,也算是一种边界测试吧。
我在 opBNB 测试网构造了一条合规检查记录,格式完全照文档示例,只改了一个地方——performed_by 填了一个随手编造的 DID:did:example:operator:nonexistent-9999。这个 DID 从未在任何 Trust Registry 注册过,它不存在。#Sign地缘政治基建
然后签名提交。250ms后它就给我确认了。
打开 SignScan,记录在那里,完整,有效,字段展示清晰,接口响应流畅。我有一瞬间觉得这个系统做得真棒。
然后我盯着 performed_by 字段看了很久。@SignOfficial
那个不存在的 DID,清清楚楚显示在 SignScan 上。没有警告,没有标注,也没有任何提示!一条声称"合规检查已通过"的链上记录,执行者却是一个虚构的人。
协议没有拒绝,这样也对。Sign Protocol 负责记录"有人声称发生了这件事",不负责验证"声称者是否有资格这样声称"。分层设计没有问题。
但我开始感到不安。
New Money System 的 G2P 发放流程里,compliance check log 会被写入 audit package,作为整个发放行为的合规证明。文档说这套机制的目标是"supervisory visibility"——让监管机构检查每一笔发放背后的合规记录。
现在链上有一条记录:result: pass,performed_by 是一个不存在的 DID。
监管机构打开 SignScan,看到 pass,看到一个 DID。他们需要自己去 Trust Registry 核查这个 DID 是否真实存在、是否有授权、是否在检查时处于有效状态。
我去翻了文档。没有写。Getting Started 页面列出的四个 GitHub 深层文档链接——Reference Architecture、Security & Privacy、Governance & Operations——逐一打开,全部 404,内容从未发布。
在当前所有可访问的 S.I.G.N. 官方文档里,关于如何验证 performed_by 字段的真实性,没有任何文字。
我突然想到一个场景:吉尔吉斯斯坦的福利发放系统,基层操作员提交了一批合规检查记录,performed_by 填的是已离职的操作员 DID,或者一个从未存在的 DID。这批记录顺利进入链上,顺利成为 audit package,顺利通过任何只看"记录是否存在"的自动化审计...
我的判断是:SIGN 的证据层足够诚实。但在主权级场景里,诚实地记录一个谎言,和没有记录,结果可能一样危险。
我建议performed_by 配套一个验证规范:写入时强制校验 Trust Registry,或者 SignScan 展示时标注验证状态,或者部署指南里明确监管方的核查流程。
世界上没有任何一种标准化流程可以适配所有的应用场景。只能说在主权级场景里,SIGN的开发流程还可以继续升级个性,趋向完美。
小区下面的鸟儿开始叫得欢,天也快亮了。$SIGN
而现在,那个虚构的 DID 还在链上。我会继续盯这个DID验证的迭代。
