Zcash 的转账有两种“表面”:透明地址像比特币一样把地址和金额写在链上,屏蔽池里的交易则把发送方、接收方和金额全部折叠进零知识证明。这两种形态不是同一件事的两种显示设置,而是两条差异很大的路径。本文讲清透明池与屏蔽池各自在链上留下什么、资金怎么在两者之间搬家,以及普通用户最容易踩的“半保护”状态。
同一个账本,两种记账方式
Zcash 的共识规则同时维护两套余额表示。透明部分与比特币几乎同构:UTXO 挂在一个 t 开头的地址上,交易里明文写清输入输出。屏蔽部分则是一池匿名的“笔记”(note):每张笔记是某个持有者知道的秘密,链上只记录“有一笔存入进入默克尔树”和“有一笔取出并附带一份证明这份笔记归属且不重复花费”的零知识证明。因为存入阶段并不公开认领某张笔记,支出阶段又只出示“我知道一属于池子里的某张笔记”的证明,所以池内转账的发送方、接收方和金额都不出现在区块里。
搬家这一步就是全部风险所在
链上不存在“永远屏蔽”的资金——资金从矿工奖励或透明地址第一次进入屏蔽池时的那笔“存入交易”、以及从池子回到透明地址的那笔“取出交易”,是两条边界的交汇点。在旧版协议里,存入会把来源的透明金额和屏蔽金额同时写进同一笔交易,熟悉历史数据的分析者可以按金额和时序把两笔交易配对,这就是被后来升级针对性修正的“金额关联泄露”。用户的直觉误区也在这一步:把资金“转进屏蔽地址”当成隐身完成,实际上如果存入交易里同时暴露了透明侧的金额,匿名性在入口就被打了个折。Sapling 升级(2018 年 10 月随网络升级激活)优化了这套结构并大幅降低证明成本, Orchard 等后续升级继续改进地址与视角密钥设计;但历史区块无法重写,早年在旧协议下搬家留下的痕迹永远留在链上。
默认态:谁在替你决定隐私
Zcash 与门罗币常被对比的一个关键差异是默认姿态:Zcash 的隐私是可选的,历史上大多数交易的shielded占比长期偏低,因为钱包默认地址、交易所支持、转账体验都会把人推向透明侧。一个只在部分环节走屏蔽池的钱包(比如接收屏蔽但默认透明找零),给出的保护是碎片化的。钱包生态后来推出了所谓 Unified Address(统一地址),让一个收款码同时声明多种“视角”,发送方可自动选择最优路径,部分缓解了这个摩擦,但“是否走屏蔽路径”这个选择仍然真实存在,只是比早年更隐蔽。
一条直觉算术
屏蔽池的匿名集等于池中全部历史笔记。若屏蔽活动稀薄,新存入的笔记能被配对的候选时间窗很短,金额关联与时间聚类分析就更有效;若池子厚实,证明本身保证的不可区分性才真正展开。这是为什么隐私网络的健康度指标里,“shielded 比例”比“总供应量”更值得看——机制写进代码只是必要条件,被用起来的规模才是充分条件的一半。
常见误区
一是把“zcash 地址以 z 开头”直接等同“这笔钱不可追踪”:地址类型只说明余额存放形态,交易图上仍可能在边界处泄露结构。二是把可信设置说成永远的风险:网络启动仪式后,多方可验证的仪式产物与后续证明安全性已分离,但这属于密码学演进史的话题,读旧文章要注意时间口径。三是认为交易费高就一定走屏蔽:费用、确认延迟和交易所支持度才是路径选择的实际约束。
风险提示:本文为隐私协议机制科普,不构成投资建议;各版本参数与默认行为以 Zcash 官方文档当期版本为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。