解读 Vitalik 最新论文:Privacy Pools 让合规不再以牺牲隐私和去中心化为代价
编译:深潮TechFlow
昨天,Vitalik和巴塞尔大学的一些学者们联合发表了一篇名为《区块链隐私和监管合规:迈向实际平衡》(Blockchain Privacy and Regulatory Compliance: Towards a Practical Equilibrium)的论文,在推特上引起了广泛关注。
在市场行情冷淡时,为什么我们应该关注这样的论文?
Vitalik的思考和文章往往左右着新叙事和技术的发展方向,此外其他区块链领域的知名专家学者,对区块链技术和发展趋势有着独到的见解。
此外,论文探讨的区块链隐私和合规问题,事关加密行业未来发展方向和合规路径选择。在保护用户隐私和符合监管要求之间找到平衡,是加密行业亟待解决的难题。
通读论文之后,我们发现其提出的Privacy Pools协议,为实现隐私与合规的兼容提供了一个可行的技术方案。这似乎可以让Tornado Cash因监管而被打入地狱的悲剧,不再重复上演。
但是,该论文偏学术和技术,阅读难度较大,其中的一些细节和意义普通用户并不容易理解。
因此,深潮研究院对该论文进行了解读和精炼,试图通过通俗的语言阐释论文的核心要点,能够帮助更多人理解隐私和合规这个重要议题,及其技术路径和可能的解决方案。
作者都有谁?
首先,该论文由Vitalik带头,专业对口的学界和圈内从业人士共同参与撰写。
Vitalik充当第一作者。由于Vitalik在加密货币领域具有重要影响力和声望,可以让提出方案获得更多关注。
其他共同作者包括:Jacob Illum,加密行业研究机构Chainalysis的研究员;
mat nadler,巴塞尔大学博士研究生,也有相关DeFi和EVM的开发项目;
Fabian Schär,巴塞尔大学教授,研究方向公链和DeFi协议;
Ameen Soleimani,多个知名加密项目的创始人,实践经验丰富
背景:隐私和监管矛盾,Tornado Cash的悲剧
-
公有区块链的设计是交易透明的,任何人都可以验证交易,不依赖中心化第三方。但这也带来了隐私问题,因为区块链上记录着每个地址的所有交易,这使得地址可以被追踪和分析。
-
比特币白皮书认为区块链可以通过公钥匿名性保障隐私,但这种保护已被证明是不足的,各种区块链分析工具可以关联地址和交易。所以需要更强大的加密技术来提高公链的隐私保护。
-
采用通用零知识证明的系统,如Zcash和Tornado Cash,可以将匿名集增大到全部交易,提高隐私保护。但Tornado Cash也被一些黑客滥用,最终其智能合约地址被OFAC制裁。
关于Tornado Cash的问题,深潮也补充了一些技术背景,对并不太了解之前被监管制裁的读者提供参考:
-
Tornado Cash是一个基于零知识证明的隐私增强协议,可以实现匿名交易。它允许用户存入资金,然后在另一个地址提款,在链上只能看到存和取,而不能看到二者的对应关系,所以具有匿名性。
-
但该协议也被一些黑客组织滥用,他们通过该协议洗钱。例如有证据显示北朝鲜黑客组织就通过Tornado Cash洗黑钱。
-
因此美国财政部OFAC最终将Tornado Cash的智能合约地址列入了制裁名单。监管机构认为该协议为洗钱提供了方便,不利于打击金融犯罪。
-
Tornado Cash的关键问题是,合法用户很难与协议吸引来的犯罪活动脱钩。
-
但是这个证明的创建需要依赖Tornado Cash的中心化服务器。用户需要向服务器提供提款的具体信息,服务器利用自己持有的数据库,检查这个提款确实对应的是哪个存款,然后生成这个证明。
- 这样就需要依赖中心化中介,因为只有Tornado Cash持有完整的数据库,能够生成正确的证明。而普通用户并不能检查证明的正确性,用户和监管只能选择相信。
我们迫切需要一种办法,在不暴露隐私和去中心化的情况下,来证明和让监管信服我的资金来源是干净合法的。
因此,这篇论文提出了一种可行的技术方案,叫做Privacy Pools协议:允许用户证明资金来自一个自定义的关联集合,既保护隐私,又可以证明是否来自某些非法来源。
这可能是隐私和监管兼容共存的第一步。
zk+关联集,解决问题的关键
通过上文的背景描述,我们已经明白了需要解决的问题,即同时保证隐私和去中心化,来证明自己的资金是“无辜”的。
保证隐私,我们很容易联想到zk。的确,Vitalik这篇最新的论文中也肯定了zk,尤其是zk-SNARK在解决隐私问题上的价值:
-
零知识:不泄露私有数据,只证明声明是正确的。
-
简洁性:证明很短,验证很快,即使计算复杂也很高效。
但是,光凭zk-SNARK,只能解决一部分问题:证明我发生过这笔交易,但可以隐藏交易细节。
要彻底的解决问题,实际上需要在隐藏交易细节的前提下,证明这笔交易的来源没问题。
于是,这篇论文将zk和另外一个办法联系了起来 —- 关联集(Association Set)。
-
所谓关联集,即让用户证明资金来源于一个自定义的集合,而不是完全隐藏或完全公开来源。比如,我转了1BTC,但这1BTC是我在其他多个交易中累积到的,于是这些其他的多个交易就可以成为一个关联集。
-
关联集可大可小,可以由用户自由确定其组成和范围,既可以是一个大的anon set提高隐私,也可以是一个小的set用来证明合规。
明白关联集这个概念后,我们再来看看zk+关联集,是如何既能够保证隐私,又能够证明资金来源的:
-
用户存款时,通过zk,会生成一个secret(密钥),然后计算出一个公开的 coin ID。(标记我与钱的关联)
-
用户提款时要提交一个nullifier,证明我用过这个secret。(证明钱是我的)
-
用户通过zk技术只需要证明:我的coin ID同时存在总集合和我声明的关联集中。(证明钱的钱是干净的)
-
外部只能看到交易次数,以及这笔钱的归属集合,但无法得到转账双方的具体信息。
稍微更加技术一点的话,我们可以看原论文的这张默克尔树的示意图。图中的默克尔树实际上是Coin ID的组合,即交易本身都被zk后,我们看不到细节,只在树结构中存储Coin ID;
左边的树表示着当前发生的所有交易,这里面可能有我自己的某一笔钱。现在,要证明这笔钱的资金来源没问题,我需要右边的树—-这代表着我自定义的一个关联集,里面有我的这笔钱和其他交易的关联。只要我说的清右边的交易过往,就能告诉你我当前这笔钱的来源。
在大的概念上,这就像一个privacy pool(隐私池)。右边的关联集里有我这笔钱的来龙去脉,但是,因为通过了零知识证明,我可以向你证明钱的来龙去脉是真实的,但不用告诉你交易细节。
Privacy Pools的实际用例
论文给出了一个非常生动形象地例子,来展现Privacy Pool的应用。
1.背景设定:
-
有五个用户:Alice、Bob、Carl、David和Eve。
-
前四者是诚实的,但Eve是已知的小偷。
-
虽然Eve的真实身份可能未知,但公众知道标记为“Eve”的地址接收的资金是被盗过的钱。
2.用户提款时的选择和博弈:
-
当每个用户提款时,按照论文方法,他们可以选择关联集。
-
这个关联集必须包括他们自己的存款。这意味着,每个用户在选择关联集时,都不能排除自己的存款。
-
对于Alice、Bob、Carl和David这四个用户来说,为了避免与已知的不良行为者Eve关联,他们可以选择一个不包括Eve的关联集。这样,他们可以证明自己与Eve没有关联。
-
但是,Eve面临一个问题:她不能选择一个只包括她自己的关联集,因为这样会立即揭示她是不良行为者。
-
为了尝试隐藏她的不良行为,Eve可能会选择一个包括所有五个用户的关联集,希望混淆观察者;
-
但是,由于其他四个用户都选择了不包括Eve的关联集,这使得Eve的尝试变得徒劳,因为人们可以通过排除法确定Eve是不良行为者。
3.结果:
-
通过关联集的选择,Alice、Bob、Carl和David可以证明他们与已知的不良行为者Eve没有关联。
-
Eve无法隐藏她的不良行为,因为她的关联集包括了所有人。
论文中的图5进一步说明了这两种证明的差异。Membership proof包括一个特定的存款集合,而exclusion proof的关联集则包括除了一个特定存款集合之外的所有存款。
未来展望
虽然上述基于zkSNARK和关联集的隐私增强协议,为区块链技术实现了在合规性和隐私之间的平衡,但仍然存在一些技术和治理上的挑战。作者提出了未来的一些发展方向:
-
隐私属性的进一步研究:这些协议提供的隐私取决于许多不同的因素。关联集的大小、根选择的适当性以及用户的错误可能允许专门的攻击者链接用户的交易。
-
研究分离平衡的属性:进一步研究好的和坏的行为者在某些假设下的行为方式,以及前者的公共证明如何影响后者的隐私。
-
法律研究:法学家可以进一步研究特定的披露要求。这篇论文提出的建议是高度适应性的,法律专家的见解可以帮助调整协议和围绕它的生态系统,以确保遵守各种法律管辖区的规定。
最后我们认为,在当下这个节点,隐私和合规性常常被视为不可调和的对立面。
论文中所述的技术为两者之间找到了一个平衡点,为整个行业带来了正面的意义。希望更多的研究者和开发者能够受到这种技术的启发,为行业的健康和可持续发展做出贡献。