门罗币的三层匿名:环签名、一次性地址与 RingCT 各挡什么 图 1
门罗币的三层匿名:环签名、一次性地址与 RingCT 各挡什么 · 图 1

默认匿名要拆开看:三层各挡什么

公链的默认形态是彻底公开:谁转给谁、转了多少,全节点都看得见。比特币靠地址复用控制关联,以太坊靠零知识证明路线另辟蹊径(见 零知识证明(ZKP)是什么?为什么能不透露信息也能证明),门罗币走的是第三条路:不指望个别交易洗干净,而是让每笔交易的发送方、收款方、金额三层信息默认不可分辨,三者分别由环签名、一次性地址和 RingCT 负责。

环签名解决”谁在花钱”。花一笔输入时,签名者把自己的真实输入与从链上历史输出中挑选的若干成员拼成一个环,环上任何一个成员都可能是签名人,验证者只能确认”这个集合里有人签了”,无法定位是哪一个。环的成员越多,真实签名者越模糊,代价是签名体积更大、验证更重、占用的区块空间更多。和比特币生态的 CoinJoin 类混合思路不同,环签名不需要不同用户凑同一笔交易,每笔支付自带模糊集合。

一次性地址解决”谁在收钱”。如果收款地址反复出现,余额和资金轨迹仍然可数。门罗的收币机制让每笔转账用收款人公开信息推导出的一次性地址落账,链上看到的收款地址不重复使用;本人对账靠自己的查看密钥逐一扫描认领。第三方既难认出两笔收款属于同一个人,也难直接圈定谁的余额在增长。

RingCT:把金额藏进可验证的承诺

机制示意图

金额隐藏是三层里最难的:既不能让人看见转了多少,又要防止有人凭空变出钱来,验证者必须能核对”每笔交易的输入总额等于输出总额”却看不见明细。门罗的答案是 Ring Confidential Transactions(RingCT)。官方门罗百科给出的时间线是:RingCT 于 2017 年 1 月在区块高度 1220516 上线,2017 年 9 月之后成为全网所有交易的强制要求;它在环签名基础上引入多层链路可链接的匿名组签名构造,让金额、来源与去向同时隐藏,而增发仍然可验证、无需信任第三方。

拆开这句话的工程含义:金额被封装进加密承诺,交易随承诺附上可公开验证的证明,节点核验的是”承诺合法、进出总额平衡”这类命题,而不是打开数字对账。这一步补上了前两层留下的最后一个漏洞:如果金额明文可见,攻击者仍能用金额指纹把环里的候选与真实路径对上,环签名和一次性地址的效果都会打折——RingCT 官方条目所说的金额、来源、去向同时隐藏,指的正是三层互相咬合。把这套结构放在一起看,门罗走的是”用密码学换可读性”的路线:普通节点仍然完整校验每笔交易的有效性,只是看不到业务细节。隐私保护也因此是协议的缺省状态而非可选项——不需要开设置,也不能关掉;想退回明文交易,等于发不出一笔被网络接受的钱。

哪些风险这套机制挡不住

链上不可辨认不等于链上行为合规,更不等于分析无法进行。时间相关性、金额与频率的指纹、交易所端的身份核验、发送方自己泄露的元信息,都是门罗研究实验室(MRL)论文长期讨论过的脱敏攻击面;网络层信息泄露、历史交易在密钥轮换或查看密钥被披露后变得可还原,属于任何隐私方案的共同残余风险。对普通使用者,能做的防御动作很有限也很具体:保管好查看密钥,它相当于整条账本的解密视角;不把同一收款身份跨场景随意复用;在受监管平台上按其公示的资产规则行事——隐私资产在部分司法辖区与部分平台可能面临限制,存取前以平台自己公示的规则为准,这是合规问题不是技术问题。还要强调:门罗币的匿名设计不豁免任何司法辖区的申报义务,本文只解释机制,不提供使用建议,不构成任何投资建议。