& J) X- r) s# C3 h* p8 K, I
####众所周知,隐私性是近来加密货币领域的一项重要话题。无论是公司还是个人,都不希望本国政府、他国政府、家人、同事或商业竞争对手可以毫无限制地随意查看他们发布在公有链上的所有信息。
# m6 }% T" c- O5 H
目前针对保护区块链上隐私的各种方法已经过大量的试验和研究。然而,我们尚未看到过关于这方面的综合性概述。在这篇文章中,我们将从以下四个方面分析有关隐私领域的最新试验和研究情况:1)隐私币;2)智能合约隐私;3)隐私架构;和4)隐私研究。
##比特币的隐私(或者说比特币缺乏隐私), Y. f# V. A. S0 Q( |
. \$ F1 u8 h: z3 G4 C2 A4 U' S
原先,比特币是作为匿名加密货币被开发的,只要现实世界的身份无法与比特币地址联系起来,就能保护隐私。然而,由于比特币区块链的公开性,人们很快就发现,基于某些地址和交易的使用模式是有可能识别个人身份的。另外,节点在广播交易时也会泄露自己的IP地址。
每个节点代表一个地址,每条边代表一项交易。许多节点(诸如Mt.Gox、SilkRoad和SatoshiDice)的身份都已经根据其交易模式被识别出来了。
' O* [6 o" w, H* [0 W' y
2013年,Meiklejohn等人成功地识别出了很多在线钱包、商户和其它服务提供商的身份。如今,诸如Chainalysis和Elliptic等服务提供商将区块链去匿名化,从而侦查洗钱、欺诈和违规行为。
-在这个示例中,可以看出{Alice,Bob}向{Carol,Ted}发送了比特币,但是无法精确判断发送者和接收者的身份。不同的用户重复几次这个过程之后,匿名集就会扩大。-3 O! y. g$ @1 _" D; y0 B
& E2 H y7 O% T7 j& C5 `. B
为了解决比特币隐私性被削弱的问题,CoinJoin(混币)等Tumbler服务应运而生,以提高比特币的匿名性。CoinJoin让用户共同创建交易来变更其代币的所有权,赋予集合中的每个用户匿名性。随着不同的用户不断重复这个过程,这个匿名集会扩大。犯罪分子一直都在利用这种Tumbler服务将可识别的比特币与其他资金混在一起,从而掩盖该资金的来源。
但是Coinjoin有其自身的缺陷。Coinjoin的隐私性依赖于匿名集的大小。而实际上,每项Coinjoin交易中平均只有2到4名参与者,因此研究人员能够将67%的Coinjoin交易去匿名化。后期,随着Coinjoin的改进,又出现了更好的加密货币Tumber服务,如TumbleBit等,但是TumbleBit也存在局限性。
* _4 o5 y% m4 \ s3 Y6 I" f
###隐私币5 y9 D$ j( ?' j
由于比特币缺乏隐私性,而且在协议层面上尚无提高自身隐私性的计划,目前已经涌现出好几种支持私密交易的新型加密货币。
Zcash由一支强大的密码学家团队通过zk-SNARKs技术创建的。1985年,Goldwasser、Micali和Rackoff最先提出了“零知识证明”的开创性想法。2015年,EliBen-Sasson等人在零知识证明的基础上进一步开发了zk-SNARKs技术,该技术在使人们能够简洁且非交互性地证明自己知道某个信息的同时不透露具体内容。zk-SNARKs为许多与隐私相关的项目提供了技术支持,并且可以利用一种名为递归组合的技术压缩区块链的规模。
# \! t9 t; m+ l |( j4 ^! `
Zcash团队目前致力于Sapling项目,这是一次对网络的性能升级,将改善隐蔽(加密)交易的性能和功能,计划于2018年10月启动。由于大约85%的Zcash交易仍公开发送,发送受保护的交易在计算方面的成本十分高昂,因此Sapling项目将有望增加受保护交易的数量(编者注:2018年10月28日,Sapling在Zcash主网成功激活)。! t5 b/ @1 Q! V' N# m
. j, b# ~1 N& C( l
门罗币(Monero)是另一种隐私币,使用的是环签名而非zk-SNARKs技术。目前,门罗币团队正在构建Kovri以支持保护隐私的封包路由,这样一来,用户可以隐藏自身地理位置和IP地址。将用户的网络流量匿名化将大幅度提高门罗币网络的安全性,并确保用户不会因为使用了门罗币而遭到逮捕或人身伤害。( q) p; h$ ~- O; k" c
Zcash和门罗币经常被拿来比较。这两个社区都是由Twitter名人领导的——ZookoWilcox领导Zcash,RiccardoSpagni(@fluffypony)领导门罗币——但不同之处在于,Zcash背后有一家公司和一家基金会的支持,而门罗币只拥有一个由核心开发人员组建而成的有机社区。这两个项目曾在匿名性方面都存在缺陷:研究人员能够将69%的Zcash隐蔽交易与创始人/矿工联系起来,也能将62%的门罗币交易去匿名化;但这些缺陷目前已得到修正。
然而,这两个项目本质上采用了迥异的隐私保护方法,并且采取了不同的折衷方案。到目前为止,我还无法确定这两个项目从长远来看哪个更胜一筹。在我看来,Zcash和门罗币将继续像可口可乐和百事可乐那样共存。
( J* S5 S- \* \
Mimblewimble是《哈利波特》中的锁舌咒,TomElvisJedusor是伏地魔的法语名,IgnotusPeverell是隐形衣的原主人。(校对注:即下文中人采取的化名都是从哈利波特里来的:))-
Mimblewimble是一个专注于隐私的新区块链项目,建立在比特币的设计基础上。2016年7月19日,“TomElvisJedusor”向一个比特币研究渠道投了白皮书,随后就消失了。后来,“IgnotusPeverell”启动了一个名为Grin的GitHub项目,并开始真正落实Mimblewimble的白皮书。Blockstream公司的AndrewPoelstra在2017年斯坦福BPASE大会上展示了他们的工作成果,此后Grin开始获得大量的主流关注。Grin的第三个测试网已经发布,其主网预计将在2019年初首次亮相。
& J! R8 k7 ]) Z! j& q( y
Mimblewimble/Grin是对比特币的隐私交易和Coinjoin做出的一次改进。关键特点包括无公开地址、完全隐私化和区块链简洁化。近来,Grin挖矿迎来了热潮,因为和比特币一样,Grin币只能够通过工作量证明挖矿获得。Grin利用的是布谷鸟循环(CuckooCycle)工作量证明算法,该算法最初设计为抵制ASIC的,而如今却被认为是支持ASIC的。
总体来说,Grin将一系列令比特币如此强大的社会特性——匿名创始人、无领导的开发团队、POW共识、无ICO、无链上治理——与针对Zcash和门罗币的技术改进相结合。和比特币不同的是,Grin的总供应量是不受限制的,它采用了线性供应的货币政策,这意味着通货膨胀在早期非常高,但在一段时间后逐渐趋近(但不达到)零。Grin网络发布后,早期的通货膨胀会刺激消费而非投机。尽管持续的通货膨胀会阻碍Grin成为理想的价值储存手段,但是等到比特币的区块奖励消失而矿工只能赚取交易费的时候,Grin就能避免像比特币那样的不稳定性。
1 H/ c7 W8 \( ^
Grin的新型货币政策与备受争议的Zcash创始人奖励大不相同,后者指在最初的4年里,项目开发人员会得到新铸造的ZEC中的20%。MimbleWimble区块链的规模与用户数量而非交易数量成比例,通过使用门罗币的环形签名避免出现UTXO集膨胀问题。6 o& d5 V0 v, ^, }, x
3 g3 X9 Y! P/ K
其他有趣的隐私币包括MobileCoin和BEAM等,目前还处在开发早期。
% t6 j- R( u2 q+ Z
###智能合约隐私
智能合约中的程序代码是开放的,所以智能合约隐私与支付隐私是不一样的。不幸的是,程序混淆经证明是不可能出现的,因此智能合约目前既缺乏保密性(隐藏支付金额),又缺乏匿名性(隐藏发送者和接收者的身份)。- F8 L ?5 M. a7 |0 b/ w9 t
( y8 _ \- o" `
在我看来,当企业准备大规模建立去中心化应用并需要隐藏其客户的活动时,就会出现对智能合约隐私性的强烈需求;目前,让所有人都看到像加密猫这类去中心化应用的使用,这并没有什么不好。这有点像是互联网一开始出现之时,基础网站都使用的HTTP协议,而后由于电子商务等活动需要加密网络流量,才针对相关网站引入了HTTPS协议。. S4 z1 e! g# D! A6 a# G$ N
! }$ r& L* H5 j. ~* ?( g8 y7 D
-以太坊中没有隐私,所有人都可以在DappRadar上看到去中心化应用的使用情况。-
就以太坊而言,BenediktBünz正在斯坦福大学从事一项关于私人支付机制的研究,名为Zether;这种机制与以太坊完全兼容,并且可以为以太坊智能合约提供保密性和匿名性。Zether将作为一种以太坊智能合约执行,将gas消耗降至最低。Zether还具备多种功能,可以为支付渠道等常见应用带来可证明的隐私性。& ^/ y% _3 E- X& e+ A; F9 d9 ]
Keep是另一个通过为私有数据创建链下容器的方式搭建以太坊隐私层的项目。因此,智能合约可以在无需向公有链公开数据的情况下管理和使用私有数据。2 P) |1 Z0 _- T; [9 D
虽然对于以太坊来说,隐私性的优先级别目前仅次于Casper排在第二,但是以太坊基金会实施Casper的进度很慢,而且风险在于隐私性要到多年后才会成为以太坊的核心特征。如果在此期间智能合约中的隐私性成为加密社区急需解决的问题,将会出现新的隐私性智能合约平台来填补这一空白,就像Zcash和门罗币的出现填补了比特币在隐私支付方面的缺陷。Enigma、Origo和Covalent也都是新的智能合约平台,它们试图在区块链中实现原生的隐私功能。% p" } C& m/ u; V; {2 ?6 @7 G/ Z
OasisLabs是另一个令人兴奋的隐私项目,构建了新的智能合约平台Ekiden,该平台将智能合约的执行与底层共识机制分隔开。智能合约在一个被称为安全区的独立硬件(如英特尔SGX)内部运行。这个安全区就像一个暗箱,使计算相对于其他应用保持私密。它还会生成一个加密证明来证明程序是正确执行的,然后将这个证明存储在区块链中。通过将智能合约的执行与共识分离,Ekiden可以兼容包括以太坊在内的不同底层区块链。7 ~8 o( C( j- a4 C
###隐私架构
/ u- y1 x) V) a, a$ A3 f
除了隐私币和私有智能合约外,Web3堆栈(编者注:中译本见文末超链接)还有其他重要的隐私架构项目值得一提。
% g1 n5 `/ j3 Q
Orchid正在尝试建立一个优化后的Tor版本,其中,用户通过出租自己额外的带宽来获得代币,成为Orchid网络中的中继者。Tor的问题在于只有大约6000个中继节点和不到2000个桥节点,因此政府可以将所有中继节点和桥节点拉入黑名单,从而防止其公民访问Tor。如果利用代币作为经济激励去鼓励更多人成为中继者的话,除非随着网络的扩大相应加大阻挡面,否则阻挡Orchid的难度就会加大。
BOLT正在建立一个私人支付渠道;当参与者开户、交易和关闭支付渠道时,该渠道使用盲签名和零知识证明来隐藏参与者的身份。最初的支付渠道建立在Zcash上的,但将能够与比特币和以太坊进行互操作。( \4 r8 i' a! C
& E( R7 o! t4 J3 Q1 R
NuCypher正在搭建一个去中心化密钥管理系统;该系统使利用代理再加密技术提供与HTTPS相同的功能。代理再加密属于公钥加密,让用户能够在不了解底层消息的情况下将密文从一个公钥转换到另一个公钥。5 M8 r- T7 |& o) W" _- K# a
1 f( \) k# {: ]* T
Starkware正在包括以太坊在内的各种区块链上实行zk-STARKs。zk-STARKs相比zk-SNARKs的优势在于前者不需要可信设置,尽管加密证明的容量也会大得多。
###隐私研究" a' O, {' u2 _( ], N; {
密码学的学术研究推动了隐私领域的创新。隐私研究主要涉及的主题有零知识、多方计算和全同态加密。
除了zk-SNARKs和zk-STARKs之外,Bulletproofs是一种新型的简短非交互式零知识证明。与zk-STARKs类似的一点是,Bulletproofs不需要可信设置,但验证Bulletproofs比验证zk-SNARKs证明更耗时。Bulletproofs在设计上能够实现加密货币的高效私密交易,并将证明的大小从10KB以上缩小到1-2KB。如果所有比特币交易都保密且使用Bulletproofs的话,那么UTXO集的总体大小仅为17GB,就目前使用的工作量证明而言,UTXO集的总体大小是160GB。: e4 @: m& D& C: h
-不同零知识证明系统的权衡方案。-
多方计算使一组人在不透露各自输入值的情况下,使用各自的输入值共同计算一则函数。例如,Alice和Bob想知道谁持有的比特币更多,同时又不透露各自的比特币数量。不幸的是,多方计算目前的局限性在于其在实际运用中效率极低。
* T: }+ C9 M# `, A, f
全同态加密使人们能够基于加密数据进行计算。几十年来,这一直是密码学领域一个未解决的问题,直到2009年,斯坦福大学博士生CraigGentry利用理想格构想出了首个全同态加密方案。例如,如果Bob想对Alice的数据进行任意计算,比如训练机器学习模型,同时Alice不需要透露其明文数据,那么这时该方案就能发挥用处。全同态加密和多方计算一样仍然处于理论阶段,实际运用时效率太低。
###何去何从?
总体来说,隐私性是目前密码学研究中最引人注目的领域之一,如果这些理论技术要在现实世界中得以实际运用,还需要对其进行大量的效率优化工作。斯坦福大学区块链研究中心等一系列研究实验室正积极推进这个领域的工作,至于接下来数年将会取得哪些重大突破,我们可以拭目以待。9 d; O; W; c; F _$ c% l
加密货币的益处在于它为最新的隐私研究提供了直接的应用场景。代币、智能合约和架构中使用的许多隐私技术都是几年前才发明出来的。考虑到这个领域迅猛的发展速度,隐私性将逐渐发展成加密项目设计中最主要的一个部分。
成为第一个吐槽的人