原标题:好的隐私技术是什么样的? 三月隐私币重大进展总结
本月各隐私币项目重大进展较少,主要工作为日常开发和钱包的小版本迭代上(改动多为UI/UX的微调和小型bug的修复)。Monero和Zcash都发布了关于下一代技术、产品方案的文章。头等仓和大家一同剖析解读,看看它们会给项目带来什么样的影响。
*项目进展以排名顺序整理,排名选取Coinmarketcap网站2020年3月31日的数据。
Monero (XMR), #13
3月进展:门罗研究实验室(MRL)的Sarang Noether博士发表了关于Triptych的新论文。该论文名为《Triptych-2:机密交易的高效证明》,在IACR(国际密码研究协会)官网发表。机密交易用于隐藏区块链账本上的交易金额。此前Sarang提出过Triptych可作为门罗下一代的机密交易方案。此次Sarang在Triptych的基础上,提出了Triptych-2:它提供了一种可在单个集(set)中对多个 (commitment)的展开进行证明的系统。他结合门罗链上的数据,认为Triptych-2是批处理速度最快的无需可信设置(trusted setup)的构建方案。
看法: 大家耳熟能详的隐私币项目,由不同的团队成立,使用不同的技术,看似割裂,但其实他们的技术路线的联系非常紧密。一个好的隐私技术是什么样的呢?
首先,它能够隐藏我们日常交易中的4个核心信息:①交易金额;②汇款方;③收款方;④IP地址。IP地址的保护在通信层实现。目前主流方案是集成Tor/I2p或Dandelion/Dandelion++。大部分隐私币的核心差异在于:实现前三个链上数据保护的技术。 从表象来看,各个隐私币都能隐藏交易信息,所以很多普通用户会认为各个技术之间的差别不大。但其实它们在扩展性、安全性、隐私性上,有着很大的差别。一个技术在隐私性上的优势,可能是牺牲扩展性换来的。没有 的全面优势,更多的是适配自身愿景的取舍平衡。让我们跟随Sarang,一同看下隐私技术的迭代之路。 CryptoNote作为最早一批隐私保护方案,将一笔交易输出拆分成多个特定面额的输出,并使用了可链接的(linkable)环签名,达到隐藏交易金额和汇款方身份的目的。CryptoNote的项目有Bytecoin、Dero等。但特定面额的拆分不够实用,于是RingCT使用了Petersen 来解决这个问题。CryptoNote和RingCT的共同缺陷在于使用可链接的环签名,其大小是随着匿名集的增加而线性增加。一笔交易若要被充分混淆,需被置于一个巨大的匿名集中,也就是说它所占用的空间大小也会非常巨大。这就是使用上面两种技术的隐私币,扩展性较差的原因。在具体的项目实现中,或是因扩展性的考虑,环签名的匿名集也被设置在11以内。 同期,另一个技术路线也亮相历史舞台。相比于环签名个位数的匿名集,Zerocoin协议的Zcoin实现了213的巨大匿名集。它使用RSA累加器来呈现输出的给定状态,并提供证明来声明交易的有效性。其不足是无法实现任意交易金额、证明大且低效、需要启动可信设置(trusted setup)。Zerocash协议的Zcash,使用默克尔累加器相关的简洁证明来代替RSA累加器,可实现任意交易金额和直接的匿名汇款,但同样需要启动可信设置。 Zcoin的开发者相继提出了Sigma(解决可信设置的问题)和Lelantus(大小随匿名集增长呈现对数增长)。对线性增长、对数增长和指数增长没有概念的读者,可以参考下图。
我们可以看到,线性增长的函数(如y=x)中,Y随着X增加而等比例增加。对数增长的函数(如y=log2x)中,Y在X增加的初期增加较快,但随后增速明显变缓。这类函数特别适合大匿名集(x)的交易,其大小(y)的边际成本十分低,总体成本也维持在目前可以接受的水平。当然,指数增长(如y=2x)的交易,对于区块链来说是个灾难。 所以Lelantus不仅解决了可信设置的安全问题,也在扩展性上表现优异。但同样的,它也存在一些问题,比如汇款方可以获知收款方何时花费了这笔资金,且若要避免这个问题,则无法使用一次性子地址构建。Triptych和Lelantus使用同一套证明系统,不过使用了多维度的可链接环签名,支持一次性地址构建和任意面额。它的不足是对于花费了多个输出的交易仍然需要使用多个证明。 Monero在近年集成了同为对数增长的Bulletproof后,扩展性得到进一步提升。Bulletproof的两个“近亲”Omniring和RingCT 3.0,虽然可以在一个证明中完成所有输入的证明,但他们在验证的表现上不如人意。Triptych-2,正是在Triptych的基础上做了改进,不仅免除可信设置,获得高扩展性,支持一次性子地址构建和任意面额,且验证性能也得到了提升。但同样的,它也不是完美的,它的双离散对数困难假设并未得到验证。 通过以上回顾,你或许会发现,每个技术都或多或少弥补了前辈的不足,但同时也产生新的问题。正是这近8年来各个隐私币的竞争迭代,不知不觉形成了区块链隐私技术的演进之路。这条路的前方,还有SuperSonic、PLONK、Groth16、STARK等。没有完美的技术,只有不断迭代的隐私币。 4月计划:回到Monero,论文发布后,应该会在接下来2个月获得同行的关注和评审。Monero在解决ASIC这一“心腹大患”后,今年的主旋律也将放在隐私技术的迭代上。至于最后Monero是采用Triptych-2还是其它方案,仍需要进行一段时间的研究和测试。
Zcash (ZEC), #27
3月进展:3月28日,Zcash团队发布了一篇关于FlyClient的介绍文章。FlyClient允许设备在只下载区块头的情况下,验证Zcash链上的数据。这种轻便的客户端模式,将大大降低Zcash手机钱包的开发难度。
看法: FlyClient的灵感来源于比特币的SPV(简单支付验证)。在SPV实现之前,节点若需验证区块链上的数据,需要下载整个区块链,这对于手机等移动设备来说实现难度很大。SPV使得节点可以在只下载区块头信息的情况下,验证交易数据的有效性,使得区块链手机钱包成为可能。但SPV对于多币种,或区块时间较短的币种手机钱包来说,并不是一个很好的实现技术。于是Zcash的基金会主席Andrew Miller等人在SPV的基础上开发了工作量证明的非交互式证明(NIPoPoW)以适配ZCash。非交互式证明也比交互式的证明更加高效。但NIPoPoW对工作环境的限定非常高:区块难度恒定,没有不诚实的攻击者。FlyClient便是为了摆脱这些限定所作的改进之一。 从短期来看,轻客户端技术有利于手机钱包的实现;从长期来看,手机钱包的普及有助于提升区块链的使用体验,增大用户规模和基数,进而丰富生态。Zcash采用了十分前沿的隐私技术,难免在落地和实现上受到更多的考验。FlyClient的成熟,将弥补它在移动端方面的短板,提升综合竞争力。
4月计划:Zcash接下来的开发重点是下一个网络升级Heartwood(心材)。该版本将提升与Flyclient的互操作性,并允许币基(coinbase)直接向矿工发送隐蔽交易。
Zcoin (XZC), #95
3月进展:本月无重大进展。
4月计划:团队将继续把重心放在Lelantus上。目前Lelantus的大部分功能和单元测试的代码都已完成。团队完成当前阶段的开发后,便可进入最终阶段:花费功能。Lelantus或可在今年上线主网。
Grin (GRIN), #134
3月进展:本月无重大进展。
4月计划:Grin成员将继续讨论v4.0.0硬分叉升级的时间和内容。目前的提议是升级定在高度786,240 (2020年7月15日前后)。
Beam (BEAM), #146
3月进展:本月无重大进展。
4月计划:Beam团队将继续进行Double Doppler v4.2和Web钱包的测试,以及硬件钱包的集成工作。
小结
很多读者可能会觉得本月的月报偏技术,不喜欢这样的内容,也认为它无关紧要。但头等仓认为,隐私币赛道是一个技术密集型的赛道。我们按生产要素的不同,可以将传统行业分为劳动力密集型(如手工制造业),技术密集型(如芯片业),资本密集型(如能源业)等。在区块链中,各个细分领域的“生产要素”也各有不同。对于隐私币这样的技术密集型赛道,关注隐私技术的迭代对我们的投资至关重要。即使目前一个项目的技术进展不会很快反映在标的价格上,但随着各类隐私技术的不断涌现,市场中遵循理性价值投资的资本比重逐渐增加,且机构级的眼光越来越深入到零知证明的开发者身上,辨别技术好坏在未来将成为投资者的硬核技能。先于大部分玩家洞察项目内在质地的变化,才可能捕捉到更好的投资机会。 在和大家分享这些技术的过程中,头等仓自身也在成长中。这个领域里有很多专业的学者和开发者,我们以最坦诚的姿态,寻求各位的意见和建议,欢迎对以上内容拨冗指点,不胜感激。 以上就是本期的隐私币月报,我们下期再会。