硬核解读 一文读懂隐私技术现状

硬核解读 一文读懂隐私技术现状

硬核解读 一文读懂隐私技术现状

记者:DCR国际运营主管、首席宣传员乔纳森·泽佩蒂尼(Jonathan Zeppettini)最近对Unchaed说,在与一些比特币核心开发者进行了一年多的秘密开发之后,匿名币新秀Decred将在不久的将来增加匿名性。

一周前,DCR创始人JakeYocom-Piatt 8月21日在官方博客上详细介绍了现有的隐私技术,并准备在下一篇文章中介绍DCR使用的隐私技术。以下是全文。

在本文中,我将讨论我对加密货币行业现有隐私技术的看法。因为已经有几个加密货币,专注于隐私,我将解释各种隐私技术,这将有助于理解Decred采取的路线,以及我们为什么选择这条路线。我将有另一篇文章详细介绍Decred将如何实现隐私特性。

本文介绍的主要加密货币是:

miner 

Zakash

Green

bitcoin

A blow

本文只讨论它们在链上使用的隐私技术,而不是整个项目。在文章的最后,总结了一个表格,以比较它们使用的各种项目和技术。

激励

自2016年2月推出以来,Decred一直专注于治理,但在治理方面取得实质性进展后,是时候增加隐私功能了。虽然隐私是一个独立于治理的子领域,但隐私直接关系到Decred的核心原则:安全性、适应性和可持续性。

通过增加隐私功能,可以提高用户和项目本身的财务安全。在利益相关者的同意下,我们可以逐步增加额外的隐私特性,使Decred能够根据需要适应不断变化的技术环境。向用户提供隐私还可以使项目在抵御恶意行为者方面具有更大的灵活性,并且从长远来看,可以扩大其可持续性。

背景

所有现有的加密货币隐私技术都可以归结为“数学技巧”(数学技巧)。数学中有几个子领域讨论如何有效地证明语句,同时模糊了用于证明语句的大多数数据。其中几个子域已应用于区块链域,并已用于当前的几个匿名币项目。我将讨论这些技术,它们的应用,限制和缺点。

miner

在隐私方面,Munro(Monero)使用环签名(环签名)和机密交易(机密交易)的组合,称为RingCT。这两种技术的结合创造了强有力的隐私保障,但也有一些事情值得注意。门罗网络上的所有交易都需要RingCT。

环签名(环签名)

环签名是CryptoNote协议的基础,字节币(Bytecoin)和Munro 币都是在CryptoNote协议中诞生的。环签名的主要目的是防止其他人跟踪事务的源,这是通过合理地拒绝事务启动器(\\“UTXO”)的未用事务输出来实现的。例如,一个典型的Munro事务显示了11组UTXO输入,但实际上只包含一组实际的UTXO输入。环签名允许外部观察者验证签名来自UTXO的一个集合,但不知道它来自哪个组。目前,Monero使用了一种多层链接自发匿名组(多层可链接自发匿名组,MLSAG签名),该签名可以在不久的将来更新为一个新的、更紧凑的可链接自发匿名组(CLSAG)。

环签名采用一种很小的方法来解决区块链上的事务跟踪问题。事务之间的链接是通过将这些输入与它们在给定事务中的签名混淆而中断的。这就是循环签名的作用。所涉及的数学和代码是复杂的,使用了一个简单的原语(原语,注意:编程中的术语,程序执行中不能中断的基本操作),大约有数千行源代码。签名的大小与MLSAG签名的输入数和CLSAG签名的对数呈线性关系。环签名和椭圆曲线加密算法(椭圆曲线加密算法,ECC)一样,依赖于离散对数问题(离散对数问题,DLP),不能被DLP破解。然而,如果DLP被破解,戒指签名可以追溯到实际的交易者。循环签名的一个显著缺点是,不可能修剪(Prune)区块链或以其他方式创建UTXO集的快照,因为无法确定哪些事务的输出已被使用,哪些事务未使用。正如最近文章所反映的那样,每个Munro完整节点只能存储所有历史事务的1/8。

机密交易(机密交易,CT)

机密事务作为混淆比特币事务量的一种方法是由GregMaxwell首次提出的。它是通过使用Pedersen承诺(Pedersen承诺)并验证承诺之和为零来实现的,包括每个输出承诺必须为正数才能证明的范围(范围证明)。距离证明是一种低复杂度的零知识证明(零知识证明,ZKP).在RingCT中,必须进行额外的修改,以维护发送方的不可跟踪性,这包括承诺输出的非零和,并且与理解机密事务无关。Munro最早的秘密交易是以Maxwell的原始文件为基础的,但它最近部署了一种更有效的实现,即Bünz等人提出的“防弹”。防弹表的使用大大减少了Munro上每个事务的大小,并提高了范围证明的可伸缩性。

机密交易,如环签名,是混淆交易量的利基方法。当Menlo第一次启动时,它使用了CryptoNote协议,它不包括事务量的混乱,因此固定配额事务可以由观察者进行分析。机密交易增加了蒙罗丢失交易的混乱,从而大大改善了隐私。与环签名一样,机密事务的安全性依赖于离散对数问题(DLP)的鲁棒性,因为它也依赖于椭圆曲线加密算法(ECC)。与环签名不同,机密事务不能通过破坏DLP来破解,因为Pedersen承诺是完全隐藏的,是与计算绑定的解决方案。在这种情况下,完美的隐藏属性意味着椭圆曲线映射到同一承诺的点、事务量和盲因子的多个组合,因此即使您能够破解DLP,也无法确定要映射到哪组承诺。计算绑定意味着攻击者可以破坏DLP以生成事务量和映射到给定承诺的致盲因素,但这与输入和致盲因素不匹配。虽然完全隐藏的承诺对隐私是有益的,但如果攻击者能够破坏DLP,它们必然会面临风险,因为破坏DLP的攻击者会造成无形的膨胀,因为承诺只是计算绑定。麦克斯韦的原始分类交易文件中的数学比较复杂,但越节省空间的防弹衣就有中到高的复杂性。实现防弹的源代码有数千行长,使用简单的原语,并以新的方式合成它们。

Zakash

Zaks的隐私使用零知识来证明(ZKP)混淆了交易员和转移的钱的数量。它所使用的具体的ZKP是一个简洁的、非交互的、零知识的知识论证(零知识简洁的、非交互的知识论证,ZK-snark)。该系统保证显着的透明度,并给予用户选择是否使用它的权利。Z现货网络中既有透明的交易,也有匿名的事务,其中匿名事务是受ZK-snark保护的事务。截至2018年第二季度,约3.6%的ZEC存储在匿名地址中。

ZK-SNARKs

ZK-Snarks在加密货币工业中的使用是由Ben-Sasson等人在2014年的Zerocash论文中提出的。本文是ZCSCECH的基础。ZK-snarks允许创建简洁的交易,完全混淆它们的输入、转移金额和受款人。事务数据的混淆可以通过构造算术电路(算术电路)来实现,这些电路可以由第三方进行有效的验证,而不需要看到交易数据。这些电路是匿名事务的有效负载(有效负载)。一个完全匿名事务的输入实际上是无法区分的,这意味着特定事务的匿名性是UTXO集的整个匿名部分。

ZK-snarks是一个广泛应用的工具,可以解决访问控制、投票系统和一般记录保存等各种问题。尽管ZK-snark是一个非常强大的工具,可以应用于各种场景,但从复杂性的角度来看,它们可能代价高昂。支持ZK-snark的数学是非常复杂的,并且需要使用不那么常见的原语。为了创建一个ZK-snark,您必须获取事务信息并将它编译成一个算术电路,这既需要计算上的密集,又需要数万行代码。除了用于创建算术电路的代码数量之外,该代码还需要一定数量的专门知识才能有效地进行审计。ZK-snark的一个更具体的约束是,它们需要一个可信设置来生成网络参数,但是如果可信设置者的信息被恶意者控制,他们可以秘密伪造货币,同时保持现有的匿名事务不受影响。破坏DLP的攻击者能够伪造货币,但他们只能查看事务量和注释,而不能查看发件人和收件人。由于匿名事务的透明度,修剪后的块只能在ZCash链的透明部分实现。

Green

GERIN和BEAM都是汤姆·埃尔维斯·吉杜索(Tom Elvis Jedusor)在2016年7月发表的“Mimblewimble”(“MW”)论文中提出的匿名方法的实现。MW方法是重构区块链事务,以便将它们聚合为块,以混淆每个块中的发件人和收件人,并使用机密事务来模糊事务数量。MW隐私技术适用于所有事务。

事务聚合(事务聚合)

MW文件建议对区块链事务进行重组,以便可以直接组合整个事务。这种聚合能力本质上改变了事务的签名方式,可以将事务加到一起,然后在聚合的事务上获得有效的签名。使用该系统挖掘的块由单个大型聚合事务组成,其数量被混淆。任何试图跟踪和分析此类区块链的人都只能观察组成每个块的大型聚合事务,这使得发送方和接收方无法跟踪。

事务聚合以一种新颖的方式使用常用的ECC工具,因此签名聚合(签名聚合)是一个可以广泛使用的工具。签名聚合背后的数学基础非常简单,广泛应用于环签名和保密事务中。用于聚合事务的签名算法和代码大约有几千行或更少,并且使用常见的原语。由于事务聚合的实用性,对签名算法、事务脚本和事务创建过程的更改都有相当大的一部分,因此不太可能将它们集成到现有的基于比特币的区块链中。一旦挖掘出块,包含在其中的事务已经被聚合,但是在挖掘之前,网络上的矿工和其他节点可以在聚合之前查看已发布的事务。密切监视网络上发布的事务的攻击者可以使用此信息跟踪发件人和收件人,但查看挖掘块无法跟踪事务。因为MW直接使用机密事务,所以破坏DLP的攻击者可以秘密伪造货币,而不会看到先前聚合或事务的数量。使用MW的另一个好处是可以非常容易地修剪块,大大减少整个节点的存储空间。

比特币

除了能够手动选择UTXO输入之外,比特币核心客户端(比特币核心)没有提供实质性的匿名性,但是比特币钱包Wasabi提供匿名。芥末使用了一种名为Chaumian混合币(Chaumian CoinJoin)的方法来实现匿名,这取决于用户是否需要匿名。

Chamian 币

利用盲签名(盲签名)技术,Chaumian混合币使得人们在混合币后难以确定比特币的所有权。混合币流程通过服务器将多个事务合并到一个事务中,从而为参与者提供了一定的链隐私,但是服务器可以查看资金来源以及它的发送位置。使用盲标记,可以混淆哪些输出被链接到哪些输入集,从而阻止服务器将输入链接到输出。混合过程周期性地发生,并由计时器或参与阈值触发。

在混合币过程中使用盲标记是加密技术的利基应用。盲符号背后的数学既不是复杂的,也不是完全研究的,只有几百行或更少的代码可以实现。为了确保无法区分输出,使用了几个输出面额。由于比特币不支持事务数量模糊,所以可以使用部分求和(部分和)分析来链接输入和输出,因此需要小心处理更改。通过盲签名获得匿名取决于每个混合币至少三次通过不同的网络路径连接到服务器,并在Wasabi钱包中使用集成的Tor网络。Tor提供了大量的在线隐私,但是Tor并不是为了阻止全球听众,比如NSA,所以它获得多少隐私取决于谁在听你说话。破坏DLP的黑客可以模拟服务器、伪造签名输出地址、窃取UTXO输入、从攻击开始时删除匿名混合币,并且通常可以强制服务器停止操作,但此类攻击者不能对以前的混合币进行反匿名。朝棉混纺币修剪没有问题。

A blow 

Dash在2014年通过在Dash的核心钱包中部署匿名支付(PrivateSend)引入了匿名。PrivateSend是一种分布式混合币(CoinJoin)方法,它采用多轮混合币.Dash的匿名性取决于用户是否使用它。

匿名付款

在比特币部分介绍了混合币工艺,并在Dash中使用了类似的工艺。匿名支付混合币流程通过主节点(主节点)将多个事务合并成单个事务,这为参与者提供了一定的链隐私,但是执行特定混合币的主节点可以查看资金来源和发送地址。用户可以实现4x16轮混合币操作,以增加匿名集(匿名集)的大小。

虽然匿名支付有更多的混合币业务,但它的匿名不像潮棉混合币那样匿名。分布式混合币是一个非常有限的工具,它旨在模糊币在链上的来源,但不能混淆执行混合币进程的主节点的发送方和接收方。币混合算法简单而复杂,可在数百行代码中实现。很难估计匿名支付业务提供了多少,因为有人声称,一些大型混合币参与者可以有效地去匿名混合币。如果攻击者破坏了DLP,并且可以模拟任意主节点,他可能会从此时开始匿名混合币,但这不会影响先前完成的混合币。

结论

为了避免在细节上迷失方向,特地制作了以下关于上述项目隐私特性的比较表。在介绍了几个主要的加密货币项目的匿名特性之后,您现在可以更好地理解Dered的独特方法,这将在下一篇文章中概述。

 

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。