全部文章
2026-05-28

加密金额并不等于私密:藏住数字,并没有藏住关联

人们口中的"私密"其实有两种不同的含义,而大多数工具只做到了简单的那一种。 你可以藏住你转了多少,也可以藏住你转给了。这不是同一个问题,解决了第一个,对第二个几乎毫无帮助。如今有一类越来越多的机密转账方案,会把转账的金额加密——数字被藏起来,余额被加密——并把这当成隐私来呈现。它确实是一个真实而有用的功能。但它恰恰是这个问题里泄露信息最少的那一半。

这篇文章讲的是另一半:发送方与接收方之间的关联,而金额加密完全没有触及它。

一个加密的金额究竟藏住了什么

设想一笔普通的 Solana 转账,把金额一栏抹掉。观察者依然看得到:钱包 A 在这个时间戳、用这种代币,向钱包 B 转了某个东西。图谱上的那条边在那里。两个地址在那里。时间在那里。唯一缺的,是金额栏里的那个数字。

对于很多现实中的去匿名化来说,那个数字恰恰是最不值钱的一块。如果一个调查员、一个交易对手,或一个好奇的陌生人已经能看到你的钱包每两周向某个特定收款人付款,那他就掌握了你的关系、你的节奏——再交叉比对其他公开转账,通常连金额都能估个八九不离十。加密那个数字只是略微提高了门槛,并没有切断那层连接。

而在一条透明的账本上,连接才是敏感的部分。你的交易对手、你的薪资、你的交易关系、钱包 A 和钱包 B 其实是同一个人这件事——这些都是图谱的属性,而非金额的属性。它们在金额加密之后毫发无损地存活了下来。

真正必须消失的东西:那条边

公开链上的隐私,本质上关乎图谱,而不是边上的标签。要获得真正的不可关联性,你必须移除那条边本身——让任何观察者都画不出一条从"资金从哪进去"到"资金从哪出来"的连线。

这需要一个屏蔽池。许多人在加密承诺的背后存款;之后每个人各自用一份零知识证明来提款,那份证明断言"我拥有这个池子里某一笔未花费的存款",却不透露是哪一笔(ZK 证明如何工作)。存款和提款是两笔之间没有边的、相互独立的交易。观察者看到的是来自钱包 A 的一笔存款,和一笔毫不相关、付给钱包 B 的提款,他是真的分不清这俩是不是同一个人——因为那条本能让他分清的数学,从来就没被公布过。

注意发生了什么变化。变的不是金额被加密了,而是那条连接没了。这是一件在结构上更难造出来的东西——它需要一棵承诺的 Merkle 树、一套防止双花的 nullifier 机制,以及一个真正的证明系统(屏蔽池nullifier)——这恰恰是为什么金额加密是更常见的产品。它是工程上更容易的那个问题。

"可大家用的金额都一样啊"——为什么池子仍需小心

打破那条边是必要的,但并不自动充分,而这正是金额从一个完全不同的方向重新回到故事里的地方。在屏蔽池内部,危险不在于你的金额可见,而在于你的金额有辨识度。如果池子里每一笔存款都大约是 0.5 SOL,而你存了 47,那当 47 被提出来时,无论你的证明多漂亮,数学都会指向你。证明藏住了你花的是哪一张 note;可一个异类金额仍然把嫌疑名单缩到了只剩一个。

所以在屏蔽池里,目标和加密恰恰相反:你希望自己的金额看起来和别人一样。用随大流的、取整的金额来存款和提款,你就融进了尽可能大的集合里。Solana 上的匿名集合详细讲解了金额区间是如何塑造你藏身于谁之中的。这是一种比加密更诚实的处理金额的方式:数字不是秘密,与他人的相似才是保护。

一个快速判断工具属于哪种"私密"的方法

只问一个问题:我用过它之后,观察者还能不能看出我的钱包与收款人相连?

  • 如果答案是"能,但他们看不出转了多少"——这是金额隐私。对隐藏余额和付款规模有用;对隐藏关系毫无用处。
  • 如果答案是"不能,连接本身没了"——这是关联隐私,也就是屏蔽池所提供的。

绝大多数被当作机密转账卖的东西,属于前一种。而对于人们真正在意的威胁模型——不想让交易对手映射你的金库、不想让收款人看到你的全部身家、不想让你的薪资图谱公开——你需要的是后一种。

接下来去哪

如果你想看关联隐私的实际操作,在不暴露主钱包的情况下转账 SOL是分步教程。如果你想要诚实的边界——连关联隐私都修不好的那些——SolMask 无法保护你免受什么是一份不加粉饰的清单。而/compare梳理了这个领域里不同设计究竟差在哪。

FAQ

问:把金额加密,难道不还是聊胜于无吗? 答: 是的,对于隐藏余额和付款规模这个狭窄目标而言。只是别把它错当成不可关联性——它让发送方、接收方和时间全都保持公开,而那通常才是人们真正想保护的信息。

问:如果屏蔽池已经打破了关联,那它为什么还要在乎金额? 答: 因为即便证明完美无缺,一个不寻常的金额仍会通过排除法重新识别出你。在池子里你希望自己的金额像人群,而不是被藏起来。这正是金额加密的反面。

问:SolMask 也加密金额吗? 答: SolMask 藏住的是关联,那是更难也更有价值的属性。存款和提款的金额是你融入人群的方式之一,所以建议是随大流,而不是出风头。参见Solana 上的匿名集合

问:我能两者都要吗——既藏住金额,又打破关联? 答: 关联隐私才是击败图谱分析的那个属性,也是应优先保证的。把它与良好的金额卫生习惯(取整数字、向同伴看齐)和一个全新的收款地址结合起来,你就覆盖到了单靠金额加密永远碰不到的部分。

加密金额并不等于私密:藏住数字,并没有藏住关联 · SolMask