作者:Ryan Gentry, 2019年9月24日
隐私是加密货币的一个特性,而不应该是产品本身。用户不应该单纯为了实现财务隐私,而在价值较低、安全性较差的加密货币上承担资产负债表风险(例如,出售一些BTC或ETH以获得ZEC)。本文将提出以下观点:像比特币和以太坊这样的通用平台已经为大多数用户提供了足够的隐私保障,因此这部分用户永远不需要以隐私为重点的小众区块链。
抗审查是我们这三篇重头论文的核心原则,没有隐私就无法实现这一目标。因此,隐私必须成为开放金融、全球无国界货币和互联网3.0的关键组成部分。然而,在迄今为止的加密货币生态系统中,与隐私相关的开发活动大多发生在以隐私为重点的区块链上。比特币和以太坊社区把解决可扩展性和用户体验等问题放在首位。
将财务隐私置于所有其他特性之上的开发人员构建了支持它的协议。用例包括大零币(Zcash)和门罗币(Monero)等资产,以及Grin和Beam等新进入者。他们都在功能和可用性之间做出各种权衡,以确保隐私是其核心价值主张。但是,隐私是独立区块链应该构建的正确的价值主张吗?
加密投资者的一个共同论点是,由于隐私在金融交易中的重要性,专注于隐私的区块链应该获得相应的价值。虽然我们从根本上同意后者的说法,但我们不认为两者之间存在因果关系。
我们预计,最有价值的区块链将在一系列不同的技术权衡中胜出,用户和企业将找到新颖的方式,将隐私带入这些网络,而不是任由网络参与者选择原生隐私协议,为之承担资产负债表风险。此外,正如我们已经写过的,layer one第一层资产一般应该被认为是资金,而第一层的资金会产生明显的网络效应,因此只有少数区块链能够打赢这场持久战。如果具有非原生隐私特性的区块链已经能为大多数人提供足够好的隐私,那么具有原生隐私的链就会变得无关紧要。
在本文中,我们将讨论围绕隐私的技术权衡如何抑制功能,使用区块链和专注于隐私保护的资产的固有资产负债表风险,将隐私引入更广泛采用的区块链的不同方法,在什么情况下可以认为隐私保护已经“足够好”,以及我们如何看待与隐私相关的投资。
完全的隐私
在加密货币交易中有四种可以泄漏的信息:发送方、接收方、交易金额和IP地址。如果所有这四种信息都能成功地对任何第三方观察者隐藏,那么这个交易就是完全隐私的。
表1:加密货币交易的隐私频谱。
如表1所示,隐私是一个频谱。一端是不隐藏任何上述信息的交易,例如比特币或以太坊交易。另一端则是Zcash的Sapling交易,它屏蔽了上述四种类型的信息(前提是与Dandelion或Kovri等模糊IP技术相结合时)。Zcash的zk-SNARK架构允许发送方向匿名接收方传输盲量的代币,而区块链上始终不会记录任何相关身份信息,也不会泄露给网络。从理论上讲,它们是完美的。
虽然Zcash已经面市近3年,但是在ZEC中,只有5%的存储使用SNARK(其中大约一半使用遗留SNARK)。大约95%的ZEC存储在没有隐私的透明地址中。2019年,加密市场普遍反弹,不过ZEC是个明显的例外。
数据来源:Zcash自2018年1月起的价格(以BTC计)
尽管给出了这样的承诺,但市场已经明确表态:Zcash的Sapling交易提供的隐私保护并不会令ZEC变得更有价值。
原因有几个。
首先,加密货币的核心创新在于无需信任任何一方或一组成员,就能以编程方式实现,并提供易验证的稀缺性。该特性使得社会的可扩展性成为可能,因为来自不同文化和行业的人都可以验证他们的代币是已知整体中一个得到保证的百分比。不幸的是,理论上完美的隐私定义阻止了完美的可审计性。
2018年3月,Zcash在他们的加密技术中发现了一个漏洞,可能导致无限通胀。正如Zcash基金会自己承认的那样,在不使用Sprout地址之前,不可能知道是否有任何一方利用了这一问题。用户可以验证有多少代币被发送到屏蔽池中,但无法知道这些代币是否被攻击者任意伪造。
完全私有交易会阻止投资者验证Zcash是否像预期中那样稀缺。
其次,以Zcash的方式优化隐私带来了沉重的代价。每次创建一个完全私密的事务时,发送方都必须计算一系列精确的计算步骤,以便生成一个矿工可以在零知识中验证的证明(有关零知识证明的背景知识请参考此文)。这些步骤在计算上非常昂贵,而且Sprout版本过于繁琐,因此无法广泛采用。Zcash团队设计了Sapling版本,明确地为代币传输进行了优化,避免了任何冗余功能,比如以太坊的有状态智能合约,或者门罗币(Monero)的多重签名合约(尽管这些功能可能会出现)。
更高效的完全私有事务会消耗Zcash的任何可编程性。
随着2016年和2017年一窝蜂式的牛市泡沫的终结,如今的市场更倾向于不那么私有、但更安全、可编程和可证明稀缺的资产,比如比特币和以太坊。
尽管如此,无国货货币的未来似乎不太可能完全透明。抗审查要求一定程度的财务隐私。所以到了这一步,我们肯定会提出这个问题:提供多大程度的隐私保护才算是足够好?
“藏身人群中”的隐私
比特币和以太坊社区都在努力将原生隐私带入他们的区块链。但他们并没有向完美的隐私方向进行优化,而是倾向于“藏身人群中”的隐私——这是由Tor网络推广的一种策略。
“藏身人群中”的隐私是指让交易符合一组规则,这些规则使观察者很难辨别给定交易的实际发送方、接收方或金额。遵守这些规则的交易越多,参与者就越多,观察者也就越难去匿名化交易。
与完全私有的事务相反,这种策略通过模糊化为用户创建安全性,因为第三方观察者可以看到正在发生的事务,但是不能对发送方、接收方或已处理的数量做出任何明确的判断。所有的判断充其量都是概率性的,而且在绝大多数情况下,发送方和接收方都保持合理的否认(plausible deniability)。
比特币持有者们正在使用CoinJoins作为他们藏身人群中的工具。
Greg Maxwell在2013年首次提出CoinJoins的概念,它指的是一些不同的参与方将他们的多个单输入、单输出事务组合成一个多输入、多输出的事务。这打断了发送方和接收方之间的直接连接,而且如果所有输出都是相同的大小,它还会模糊由谁接收了多少BTC。最近,诸如Wasabi Wallet和Samourai Wallet这类使用CoinJoins、将信任度降到最低的应用程序大受欢迎。
数据来源:Chainalysis 统计的2019年Wasabi Wallet月度混合的美元价值
同样,CoinJoins也不是完全私有的,因为观察者可以分辨出哪些代币被发送到混合器(mixer),哪些被送出去。但在这种显著增长的背景下,用户群体已经足够大,因此寻求隐私性的用户实际上可能藏身于人群中。Chainalysis是名声最显赫的区块链分析公司之一,其客户包括美国联邦调查局(FBI)、缉毒局(DEA)和国税局(IRS),该公司证实称,他们“无法追踪代币在混合服务中移动的轨迹。” (1)
以太坊的基础层默认没有比特币那么私有,因为它使用基于帐户的模型,而不是基于未消费交易输出(UTXO)的模型。这意味着在许多不同的事务上重用一个地址,而不是为每个事务分配一个新地址。
不过,智能合约平台相对于比特币的一个优势是,它们允许更高级的交易类型。一份智能合约可以为发送给它的所有资产提供“藏身人群中”的隐私。一份智能合约甚至可以为发送给它的所有资产提供完全的隐私。(2) 目前,其中几种支持隐私保护的智能合约已经在主网上运行,还有更多的用例正在开发中。
像Argent的Hopper、Heiswap和Tornado这样的以太坊“混合器”提供了“藏身人群中”隐私的不同版本,其效果堪比比特币的CoinJoins。在这里,用户可以将给定资产的固定金额(如0.1 ETH或10 DAI)存入一个智能合约,等待足够多的用户进行类似规模的存款以构建一个大型匿名集,然后将原始金额提取到一个与原始地址没有连接的新地址。由于面额必须准确,这些解决方案将很难吸引大量存款,这将限制它们向可持续的独立业务扩展的能力。
Aztec Protocol开发了一系列模块化的智能合约,允许机密资产、秘密地址和零值输出,本质上是为了在以太坊上建立一个“藏身人群中”的资产隐私池。用户需要将他们的公共资产发送到一个智能合约,该合约将把这些资产的私有版本生成到其隐私池中,并为用户分配一个新的私有地址进行交易。隐私池吸引的资产越多,人群就越多,而这可以为所有参与者提供更有力的保护。
为现有区块链提供隐私的竞争不仅仅是第二层的附加功能。在不久的将来,像Decred和Tezos这类具有强大治理能力的小型公链会添加协议原生隐私功能。和比特币与以太坊一样,这些社区看到了私有交易的价值主张,正致力于将隐私作为社区的一项功能,而不是将原生金融隐私作为核心产品的功能。此外,Tezos社区正在直接盗用Zcash的Sapling设计! (3)
所有这些关于公共区块链的工作都是为了改进当前“藏身人群中”隐私的黄金标准:门罗币。目前仅有5%的ZEC是受到屏蔽的,但是100%的XMR根据一组通过隐藏来创造安全性的规则传输。
门罗币事务使用三种基本类型来隐藏发送方、接收方和数量:环签名(ring siganatures)、私密地址和环机密事务(RingCT)。环签名允许发送方使用11个用户的密钥签署事务,从而模糊了哪个密钥是他们的。私密地址允许接收者为每个事务使用一个一次性地址,隐藏它们的真实公钥。环机密事务允许交易金额盲化,但需要是可验证的非通胀。
所有的事务都必须使用这些特性,因此所有的XMR都属于相同的匿名集,并且隐藏于相同的人群中。尽管如此,门罗币在2018年熊市中的表现并不比Zcash好多少。
资料来源:门罗币自2018年1月起的价格(以BTC计)
虽然门罗币的交易比Zcash稍微灵活一些,但有状态的智能合约仍然是不可能的。最近的一项研究突破使HTLCs(类似闪电网络的第二层解决方案)成为可能,尽管这可能需要大量的工程。遗憾的是,对于门罗币来说,他们的开发人员社区很小,而且资金匮乏,这意味着新特性开发相对来说是静态的。
无论底层链如何,“藏身人群中”的隐私只能提供合理的否认。人群越大,否认的合理性就越强。
提供多大程度的隐私保护才算是足够好,这个问题现在可以这样去理解:如果一个对手想要对用户的交易进行去匿名化,那么如果交易在Wasabi Wallet的比特币匿名集、Aztec的以太币匿名集、以及门罗币的匿名集之间进行,他们需要花费多少成本才能实现这一点?
去匿名化成本
今年早些时候,研究人员提出,利用门罗币环签名选择过程的某方面特性,对门罗币发起低成本交易泛滥攻击,仅以1700美元的成本,即可在一年内去匿名化其50%的交易。门罗币社区拒绝接受这种估算,称这个数字畸低。他们还反驳了这种算法,称分析过于简单,没有考虑到现实世界中的任何情况,比如同时发生多起袭击,或者价格波动。
本节的目的不是复制交易泛滥攻击,而是利用它的原理,为如何考虑非私有链上的隐私池构建一个通用框架。交易泛滥攻击的基本框架是这样的:每天都有一定数量的交易在门罗币上发生。它们都是混合在一起的,因此除了参与者自己,没有人知道谁给谁发送了多少价值。然而,由于所有事务都是公共的,并且地址在环签名模式中被重用,攻击者本身可能会参与大量这些事务。
通过这种做法,攻击者极大地降低了匿名集,并且可以更容易地确定每个事务的实际发送方和接收方,从而有效地对其去匿名化。具体来说,根据上述报告,一个“控制一年内生成的75%事务输出量的恶意参与者能够跟踪同一时间段内创建的所有事务输入的47.63%。” (4)
如果做出某些假设的话,这种攻击可以扩展到比特币的CoinJoin隐私池(实际上,已经出现了)和以太坊的Aztec协议隐私池。在过去12个月的大部分时间里,使用CoinJoins的比例占到了比特币交易量的5%到10%。(5)
数据来源:Coinjoins作为比特币交易量的百分比。
假设平均交易费用、寻求隐私的交易数量和在给定隐私池中持有的主流区块链市场资本的占比保持不变,则去匿名的成本(C)为:
C = (平均交易费)x (平均#新交易/天)x 1.25 x(隐私池所占市值的%)x 365
表2显示了BTC的Wasabi Wallet池、ETH的Aztec池(假设其占据ETH 5%的市值)和XMR的去匿名成本,使用的是从2018年10月19日到今天的平均值。
表2:假设各隐私池的市值占比,对去匿名化各隐私池的成本做出的估值
表3提供了另一种查看去匿名化成本的方法。在这里,我们要确定的是需要在以太坊或比特币的隐私池中持有多大比例的市值,可以达到与门罗币一样的去匿名成本。
表3:假设去匿名化成本不变,隐私池在市值中的占比
当然,这种高阶分析忽略了攻击者对每个不同的区链采取各种手段的许多细微差别。它并不是要提供确切的数字,而是要提供一个数量级的范围,让大家了解这些“藏身人群中”的解决方案到底能提供何种程度的隐私保护。市场应该对这些数字持保留态度,但要明白,鉴于比特币和以太坊的市值、交易量和交易费用都要高得多,它们的隐私池很快就会比整个门罗币匿名集的攻击成本更高。
不过,除了预测未来,还有一种方法可以用来量化市场对隐私的看法,那就是看看暗网用户——他们是最需要保护隐私的人——最常使用哪种加密货币。由于门罗币目前被认为是最私密的加密货币,你也许会想当然地认为它仍然占据统治地位;然而,CipherTrace发现,只有不到5%的暗网事务使用门罗币。大多数人都在使用比特币。
In Conclusion
加密货币存在的理由是提供一种不依赖可信第三方的价值交易数字方法。要想成为全球性的无国界货币,加密货币必须能够抗审查。而抗审查的先决条件是财务隐私。加密货币的隐私之争将是一场与那些试图让加密货币用户去匿名化的人之间的军备竞赛,如果加密货币想要成功,就必须赢得这场战争。
遗憾的是,正如我们上面所论述的那样,按照Zcash的方式在默认条件下进行完全私有交易的成本太高。它破坏了加密货币的另一个核心价值主张:在整个交易历史中,可以免许可验证未曾发生双重支出,也没有出现过度通胀。没有这个验证属性,任何加密货币都不可能具有足够的社会可伸缩性,进而成为一种全球性的、无国界的货币。
因此,获胜的加密货币必须实现某种不完美的“藏身人群中”式隐私,这种隐私建立在可公开核查的账簿之上。从表2和表3可以看出,比特币和以太坊社区能够将隐私池与它们本身的公共链连接起来,而且由于交易量和费用较高,它们的去匿名化成本很快就超过了整个门罗币区块链。很明显,隐私将成为无国界资金的一个特征,但不会成为核心产品。
隐私的论点应该围绕这一理解来表述。基金经理们将开始投资于那些在比特币或智能合约平台上提供“隐私即服务”(privacy-as-a-service)的公司,而不是投资于在交易中优化匿名性的底层加密货币。第二层解决方案将默认为它们的事务处理程序提供隐私保护,这可能会使大量资金从那些重视事务处理隐私性的主链中脱离出来。
从根本上说,在底层链上争取完全的隐私,这太过昂贵,因此难以实现,这就给了Wasabi Wallet、Samourai Wallet、Argent、Heiswap、Tornado和Aztec Protocol等企业机会。我们相信,投资于Zcash和门罗币的资金将开始流向这些企业或者它们正在构建的底层加密货币。
(1) Coinjoins如今已经很有效,不过预计到2020年,当比特币在Taproot软分叉时,Coinjoins将更便宜、更有效。如今Coinjoins可能模糊了确切的发送方和接收方,但是每个签名仍然在事务中列出,这可能仍然会被人嗅出蛛丝马迹。使用Taproot,所有发送方和接收方签名都可以聚合为一个签名。通过从事务集中完全删除发送方和接收方地址,Taproot既降低了CoinJoin事务的开销(通过增加利用它们的用户数量),又使其更加私密。
与此同时,重要的开发工作正在进入第二层解决方案,如闪电网络(Lightning Network)和Liquid侧链,它们都是默认私有的,试图缓解主链的不足。闪电网络的事务都是在链下进行,因此只有通道打开和关闭是可见的。此外,所有事务在默认状态下都是洋葱路由数据包,这意味着路由节点看不到事务的发送方或接收方是谁,也看不到正在处理的金额。尽管发送方和接收方仍然可见,但Liquid侧链将机密交易整合到盲量金额和资产类型中。
(2) 安永(Ernst & Young)的区块链部门最近发布了使用zk-snarks在以太坊进行私有交易的Nightfall协议,而摩根大通的Quorum部门发布了使用zk-snarks跟踪私人余额的Anonymous-Zether协议,Clearmatics发布了Zeth库,可直接在以太坊实现Zcash交易。所有这些企业都清楚,在使用公共区块链之前,它们必须有私有交易的能力。
如果在像以太坊这样的公共区块链上实现Zcash级别的私有交易,这看起来好得令人难以置信,这是因为情况很可能就是这样:这些交易非常昂贵。
数据来源:The Block统计的以太坊上各种隐私实现的gas成本。
不过,该领域的几项进展可能有助于改变这一事实。就像Schnorr签名和Taproot将有助于改善比特币的隐私一样,EIP-1108应该在今年秋天以太坊的伊斯坦布尔硬分叉上实现。它将大大降低椭圆曲线算法预编译的gas成本,这在前面提到的所有智能合约中都得到了应用。特别是对Aztec来说,它应该能将gas成本降低75%。
(3) 未来拥有更先进虚拟机的区块链,比如Solana、Eth 2.0、Polkadot等,应该能够为完全私有的事务提供近乎原生的性能。这些都是再进一步的事情了,超出了本文的范围。
(4) 交易泛滥攻击错误地断言,只有交易前24小时的环签名才能被重用,而实际上,任何可以追溯到2017年9月15日的环签名都可以被重用。在没有特定假设的情况下,这使得门罗币的匿名集更大,攻击成本更高。自2017年9月15日以来,门罗币累计支付的交易费用中,有60%发生在2017年11月1日-2018年2月1日的牛市高峰期。从2017年9月-2018年10月(不含2017年11月-2018年2月)的平均月事务量为122k,相比之下,2017年11月-2018年2月的平均月事务量为182k,较平时增长了50%。如果我们假设这增加的50%的事务是投机者在交易所发生的存取款,那么它们实际上是去匿名的,而对手不需要自己支付费用。所以如果乐观估计的话,交易对手总支出占17年9月以来所有交易的75%,略低于300万美元。但如果假设每月交易量的25%来自交易所,那么自17年9月以来,交易对手支出总额将下降到70万美元。
值得注意的是,在使用Bulletproof技术于2018年10月进行了一次硬分叉后,门罗币的交易费用应声急落,下降了95%,交易对手支出为75%,每月费用不到1万美元。任何监查机构或好奇的观察者都有预算承担这笔开始。因此,去匿名化度量的成本是,假设在2017年9月-2018年10月间,已经泄漏了足够的信息,导致对手已去匿名化在此期间发生的50%的交易,并且只需要花费足够的交易费用来维持其在门罗币交易量中占75%的地位。(所有交易费用数据来自bitinfocharts.com)
(5) 所有数据从谷歌BigQuery公开的加密比特币数据库中提取。使用的方法在此处查询栏的内联注释中给予了说明。
网友评论