Vitalik 近期将其 ETH 资产存入一个名为 Railgun 的隐私池协议 (privacy pools protocol) 项目,并发文再次向外界介绍隐私池的概念,本文复习 Vitalik 等人过往关于隐私池的论文,介绍如何在保有隐私的同时证明资产合法性。
隐私池想解决什么问题
区块链并没有保障隐私
从隐私的角度来看,区块链地址的每笔交易都是公共资料集是有问题的。每当有人将资产转移到另一个地址或与智能合约互动时,交易将在区块链上永远可见
举例来说,Alice 吃晚餐使用区块链钱包支付费用。收件人 (餐厅)现在知道他的地址,并且可以分析该地址过去和未来的所有活动。同样 Alice 现在知道了餐厅的钱包地址,并且可以使用这些资讯来获取其他客人的钱包地址或查看餐厅的收入。甚至知道餐厅钱包地址的第三方也可以分析这一连串用户的过往历史。
Tornado 无法证明合规性
为了解决区块链的隐私问题,出现许多包含 Zcash、Tornado Cash 的隐私协议,虽然确实解决了隐私问题,但是除了合法用户之外,Tornado Cash 也被各种不良行为者使用,造成许多衍生问题。
因此许多开发者开始思考,如何在保有用户隐私的同时,又可以证明其资金的合法性。
隐私池概念介绍
Vitalik 所讨论的隐私池,是一种基于智能合约的隐私协议。可以让用户证明自己的资金 (非) 来自已知的 (非) 合法来源,而无需公开透露用户自己的整个交易图谱。
用户可以自选资金的关联集
隐私池的核心思想是:使用者证明自己的资金是在一个更限缩的关联集之内,而不是像 Tornado Cash 仅仅透过零知识证明 (ZKP) 验证提款与先前的一些存款相关联。
隐私池的关联集可以是所有用户存款的完整子集,或者是仅包含该用户自己存款的集合,不过更常见的情况应该是介于两者之间的任何集合大小,最大化隐私的同时避免将非法资金纳入集合。
这个集合可以按照用户的意愿扩宽或收窄。使用者可以透过提供集合的 Merkle 根作为输入来指定集合,也预期会形成一个生态系统,出现让用户更容易指定符合偏好关联集的相关工具。
举例来说,假设有五个使用者:Alice、Bob、Carl、David 和 Eve。前四名是诚实守法的用户,但仍希望保护自己的隐私,而 Eve 是小偷,也假设这件事情是众所周知的,虽然公众可能不知道 Eve 的真实身份,但他们有足够的证据得出结论并标记 Eve 的地址是有疑虑的。
当用户要提款时,每个用户都可以选择指定的关联集。他们的关联集必须包括自己的存款,同时可以自由选择要包括哪些其他地址的资金。
依照经济学,考虑到 Alice、Bob、Carl、David 的动机与效益最大化,并不会将 Eve 的地址纳入集合。一方面他们希望最大限度地保护自己的隐私,使他们扩大关联集;另一方面,他们希望减少被视为可疑资金的机率,因此他们不将 Eve 的资金纳入关联集中。
当然,Eve 也想最大化自己的联想集,但 Eve 不能排除自己的存款,因此被迫使她的关联集变为所有五项存款的集合。因此尽管 Eve 本人没有提供任何资讯,但透过简单的排除过程,可以做出明确的推论:第五号提款只能来自 Eve。
预期借由隐私池的关联集合设计,可以同时满足用户对隐私的需求,以及避免被怀疑合法性的问题。
当然,若用户有特定需求,可以对外提供更多资讯。
挑选关联及基础设施
预期实务上,用户不会手动挑选存款的关联集,而是订阅关联集提供者 (ASP) 的中介服务,这些服务将产生具有某些属性的关联集自动化为用户保护隐私并剔除可疑资金,在某些情况下 ASP 可以完全在链上打造且不需要外力干预。
本次 Vitalik 所提到的 Railgun 就是一例。
隐私池面对的挑战
不过该论文也指出几点隐私池可能需要面对的问题。
判断资产是否正当的标准
很明显上述隐私池协议要能正常运作,需要有一套系统与标准,协助判断哪些资产是「好的」、哪些资产是「坏的」,这需要有社会共识。
在没有全球共识的情况下,关于资产是否被视为好或坏的结果取决于社会观点或管辖范围,关联集依照国家与地区的不同可能会存在很大差异。
假设有两个具有不同规则集的司法管辖区。管辖区 A 和 B 的主体都可以使用相同的隐私协议并选择发布满足其各自管辖区要求的证明。两者都可以轻松地在自己的管辖范围内实现隐私,并排除在各自管辖范围内不合规的提款。如果需要,用户可以针对两个关联集的交集签发一份证明,让这些提款同时符合两个司法管辖区的要求。
关联集的大小与稳定性
每组的关联集的属性应该是稳定的,不应该随着时间而改变。不过这将限制新集合重新验证提款的需求。一般来说,大型且多样化的集合可能具有更好的隐私性,但可能不太准确和稳定,而较小的集合更容易维护,但提供的隐私性较差。
为了实现有意义的隐私,重要的是要确保关联集足够大并且包含各种各样的存款,但可能会变得不好维护。
链上分析工具竞争
如今许多实体依赖链上工具,分析区块链交易病识别潜在可疑活动、非法地址的互动与其他不合规交易。这类工具通常透过风险评分来评估与每笔交易相关的风险。
隐私池协议可能会让此分析变更困难,因为隐私池消除了存款和提款之间的联系。
隐私池或将成为新隐私标准
隐私池的概念也已经受到社群讨论许久,Vitalik 本次参与 Railgun 的专案也表明其自身立场与支持,或许真的可以解决 Tornado Cash 长期被市场诟病合规性的问题,让市场理解隐私与合规并不是平行线。
不过也有开发者对此持负面意见,例如 Zcash 创办人 Zooko 认为隐私池需要用户主动证明自身资产无罪,并不是一个好主意。