加密数字货币的隐私保护协议

论坛 期权论坛 期权     
Decred中文社区   2019-10-27 21:13   2406   0


Decred创始人jyp在这篇文章对比了6大加密数字货币的隐私保护协议,并发表了对不同隐私技术的看法。






在本文,我将讲述自己对加密货币领域中现有隐私技术的看法。有的项目主要关注的是隐私性,在这我为你介绍几种不同的隐私技术,这将有助于我们理解Decred已经采用或主张采用的匿名方式。之后将会发布文章为你更详细地介绍Decred的计划——如何处理隐私问题。在本文中我将介绍以下几个项目:
· Monero
· Zcash
· Grin/Beam
· 比特币
· Dash
请注意,我讨论的仅是不同项目区块链上的隐私技术,而不是讨论整个项目。在文章的最后,为了更直观地比较不同项目上的隐私技术,我为你汇制了一个表格。


动机
自Decred于2016年2月推出以来,其主要专注于治理,但在治理方面取得实质性进展后,我们计划开始添加隐私功能。虽然在区块链中,隐私性确实是治理的独立子域,但隐私性与Decred的核心原则(安全性,适应性和可持续性)有着非常直接的联系。
通过为用户增加隐私功能,可提高用户和项目方资金的安全性。因此在征得交易参与者的同意之后,可以逐步地增加隐私功能,以便Decred能够适应不断变化的技术环境。这样做既可以为用户提供隐私同时,也能使项目在抵御恶意行为者方面具有更大的弹性,可推动项目可持续性发展。


环境
现有的加密货币隐私技术都可以归结为“数学技巧”。但是并不简单,有的数学子域致力于理解如何有效地证明某些语句,同时混淆用于证明该语句的大部分数据。这些子域中的几种技术已经被谨慎地应用于区块链技术中,以便在当前的产品中创建系统。我将为你介绍这些技术——应用、局限及故障模式。


Monero
Monero的隐私使用RingCT技术——结合了环形签名和机密交易的技术。技术的结合为隐私提供了强大的保障,但也有一些需要注意的地方。Monero网络上的所有交易都需要RingCT。


环签名
环签名是生成Bytecoin和Monero 的CryptoNote协议的基础。环签名的主要用途是通过未花费的交易输出(“UTXO”)创建合理的否定,来阻止被动对手去追踪交易的源头。例如,特定的交易将显示11组输入UTXO,但这些集合中只有一组包含真正的输入UTXO。环签名允许外部观察员验证签名是否来自哪几组UTXO,而不是具体的哪一组。目前,Monero使用多层可链接的自发匿名组(“MLSAG”)签名,并且在不久的将来,将MLSAG更新成更小更快的新版本签名——名为“GLSAG”。
环签名采用非常狭隘的方法来解决区块链上的交易追踪问题。通过混淆特定交易中的输入和输入的签名,破坏可确定链接交易的的能力。环签名只做它们需要做的事情。环签名所涉及的数学和代码具有中等复杂性,环签名使用了简单的原语并包含了几千行源代码。签名的大小与MLSAG签名的输入数量成线性关系,与CLSAG的输入数量呈对数关系。环签名与其他椭圆曲线密码学(ECC)一样,依赖于离散对数问题(DLP)的难解性,即目前无法解,如果DLP被泄露,环签名可以被撤销,从而暴露出真实的发送方。环签名的一个显着缺点是无法删除区块链或无法以其他方式创建UTXO集的快照,因为无法确定哪些交易输出已花费,哪些不是。在最近的工作中发现每个全节点只能存储所有历史交易的1/8。


机密交易
机密交易(“CT”)是一种隐藏比特币交易金额的方法——由Greg Maxwell提出。机密交易是由Pedersen承诺(验证承诺总和为零)和范围证明(每个输出承诺都对应一个正值)共同实现的。范围证明是复杂度低的零知识证明(“ZKP”)。在RingCT中,必须进行额外的修改以保持发送方的不可追踪性,但是这种修改(涉及总计为非零标量的承诺)与理解CT属性无关。Monero首次实施CT是基于Maxwell的方案——由Pedersen承诺(验证承诺总和为零)和范围证明共同完成机密交易,但最近施行了一个更有效的零知识证明——防弹协议——由Bünz等人提出。使用防弹协议显著地减小了字节空间并改善了范围证明的可扩展性。
CT类似于环签名,因为它也是一种处理交易模糊化的狭窄方法。当推出Monero时,执行CryptoNote协议,该协议不能将交易金额模糊化,因此交易金额是确定的,可由被动式观察者进行分析。CT弥补了Monero所缺失的模糊交易金额的功能,从而显著地提高了隐私性。由于CT也依赖于ECC,我们不难推测,CT与环签名一样,其安全性也依赖于DLP的难易程度。但与环签名不同,Pedersen承诺是一个完美隐藏、计算绑定的方案,所以不能通过破坏DLP来恢复CT。完美隐藏属性意味着许多点(在本例中是数量和盲因子)映射到同一个承诺,因此即使破坏了DLP,也不能确定映射到该承诺的是哪对点。计算绑定表明破坏了DLP的攻击者可以生成映射到特定承诺的数量和致盲因素,但这与输入金额和盲目因子不匹配。虽然完美隐藏承诺对隐私很有帮助,但攻击者可以破坏DLP,进而可以创建隐形通胀,完美隐藏承诺也必然有风险。究其根本是因为承诺仅是在计算上绑定。在Maxwell 最初的CT方案中,虽然数学是中等复杂度,但防弹协议更节省空间,且复杂度由中到高不等。执行防弹协议的源代码长达几千行,可使用简单的原语,并以新颖的方式结合这些原语。


Zcash
Zcash隐私保护是通过ZKP来模糊发送方和交易金额的。使用的特定ZKP类型是一个简单的非交互式零知识证明,称为zk-SNARK。特定ZKP保证了隐私具有很高的不透明性,用户可选择使用它。Zcash既有透明交易也有私密交易,其中私密交易是受zk-SNARK保护的。截至2018年第二季度,大约3.6%的ZEC被存储在隐藏地址中。


ZK-SNARKs
在2014 年,Ben-Sasson等人在Zerocash论文中提出了可在加密货币环境中使用zk-SNARKs ,该论文是Zcash的基础。zk-SNARKs允许创建一种简单的交易,可使交易输入,金额和接收方完全模糊。交易数据的模糊是通过构建运算电路来实现的,在无需看到交易数据的情况下,运算电路可以被第三方有效验证,并且这些电路是屏蔽交易的有效载荷。完全隐藏的交易彼此之间实际上,是无法区分的,这意味特定交易设置的匿名集是UTXO集的整个隐藏段落。
zk-SNARKs是一个用途非常广泛的工具,可以解决各种各样的问题,例如访问控制,投票系统和一般记录保存。虽然zk-SNARK是一个功能非常强大的工具,可以应用于各种场景,但在复杂性方面投入的成本是相当大的。支持zk- snark的数学,其复杂性高且需要使用到不太常见的原语。要想在Zcash中创建zk-SNARK,必须获取交易信息并将其“编译”成算术电路,这不仅计算量大,而且需要数万行代码。除了用于创建电路的代码量之外,此代码还需要大量的领域知识才能进行有效审查。创建zk- snark还有一个更大的限制,zk- snark需要一个可信的域名配置来为网络生成参数,如果可信的域名配置的信息受到恶意参与者的破坏,它们可以在不影响现有隐藏交易的情况下,悄悄地铸币。可以破坏DLP的攻击者具有类似的铸币能力,但他们只能查看交易金额和备忘录,而不能查看发送方和接收方是谁。由于隐藏交易的不透明性,修改只能在Zcash链的透明段上进行。


Grin/Beam
Grin和Beam都实施了(“MW”)白皮书的系统,该系统于2016年7月由Tom Elvis Jedusor在Mimblewimble提出 。MW保护隐私的方法是重组区块链交易,使得它们可以聚合成块,模糊区块链内部的发送方和接收方,使用CT可模糊交易金额。MW的隐私方法适用于所有类型的交易。


交易聚合
MW白皮书建议重组区块链交易,以便完整的交易可直接合并。这种聚合能力是基于对交易签名的实质性修改,将签名添加到一起以便在聚合交易上获得有效的签名。使用此系统挖矿的区块是由单个大型聚合交易组成,交易金额已经被模糊化了。任何企图从历史数据中分析这样的区块链的对手,只能观察到组成每个区块的大型聚合交易,很好地保护了发送方和接收方的信息。
交易聚合以一种新颖的方式去使用普通的ECC工具——签名聚合,所以我们说ECC工具是一种应用非常广泛的工具。签名聚合背后的数学非常简单,并可以广泛用于环签名和CT。聚合交易的签名算法和代码只有几千行,甚至更少,且使用的原语是同一个。因为交易聚合的衍生功能、签名算法的修改、交易脚本的无法使用和交易创建过程的更改都是非常重要的,所以被重组的交易不太可能集成到,其他现有的基于比特币的区块链中。一旦区块被矿工挖出,区块所包含的交易就已被重组,但在被挖出之前,网络上的矿工和其他节点可以在重组之前查看已广播的每个交易。密切监视网络发布交易的对手可利用上述信息去链接交易——不能通过查看挖出的区块来链接的交易。由于MW直接使用CT,破坏DLP的攻击者可以悄悄地铸币,但不会撤回以前的聚合,也不会显示金额。使用MW的另一个好处是可以非常容易地修改MW,这样就可显著地减少全节点的存储空间。


比特币
除了能够手动选择输入UTXO之外,比特币核心并没有任何具有实质性的隐私功能,但是Wasabi钱包(可替代比特币钱包)却实现了隐私功能。Wasabi Wallet利用Chaumian CoinJoin过程来保护隐私。用户可选择启动比特币的隐私保护功能。


Chaumian CoinJoin
Chaumian CoinJoin使用盲签名,对混合币所有权的否认有了合理解释。在混币过程中一个服务器将多个交易合并成一个交易,为参与者提供区块链上的隐私功能,但服务器可以查看资金来源和发送地址。通过使用盲签名,可以模糊输入和输出链接的具体信息,从而阻止服务器将输入链接到输出。信息模糊化过程是间歇性发生的,由计时器或参与阈值触发。
在混币过程使用盲签名是对简单加密技术的精确应用。盲签名背后的数学虽然简单但也是经过充分研究的,只需要几百行或更少的代码即可实现。为了确保输出信息无法区分,输出了多种信息。由于比特币不支持模糊交易金额,因此可以用被动式分析去借助部分金额和来链接输入和输出,这就需要仔细处理变更。使用盲签名过程获得的隐私依靠的是服务器——由Wasabi钱包中的集成Tor支持的,该服务器能够通过不同的网络路径将每个组合连接至少3次。虽然Tor提供了相当数量的网络隐私,Tor并非旨在打败全球的被动式对手,例如NSA。因此隐私收益取决于的感知对手是谁。泄露DLP的攻击者可以模拟服务器,伪造签名输出地址,窃取输入UTXO,从攻击开始时就对混合进行去匿名化处理,并且通常强制服务器停止操作,但是这样的攻击者不能对先前的混币进行去匿名化处理。这对Chaumian CoinJoin的修改并不会造成任何问题。


Dash
2014年,Dash在其核心钱包——名为PrivateSend实现了隐私功能。PrivateSend是一个分布式混币过程,其使用多轮混币。用户可选择启动dash的隐私保护功能。
PrivateSend



PrivateSend是Chaumian CoinJoin的低私密性版本,还需有额外的多轮混币。分布式混币是一个有局限的工具,旨在模糊区块链上的货币来源,但不会模糊主节点(链接每个货币的)上的发送方和接收方。混币的算法简单,复杂度低,其代码只有几百行。很难评估PrivateSend过程的匿名性如何,因为在此过程中,一些大型混币的参与者可以有效地对混币进行去匿名化。如果攻击者破坏了DLP,则他们可以模拟任何一个主节点,即可开始对混币进行去匿名化,但这对之前已完成的混币不产生任何影响。


结论
因为一不小心就会遗漏细节,因此我们为你绘制了一个表格以便可直观地比较上述项目的隐私功能(即下图的表格)。在了解几个主要加密货币项目的隐私功能之后,相信你现在可以很好地理解Decred的独特之处了,我们将在下一篇文章中为你概述Decred的隐私功能。





感谢头等仓Jill提供翻译

原文链接:https://blog.decred.org/2019/08/21/Surveying-the-Privacy-Landscape/


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP