他们是如何做到的呢? 加密货币匿名化技术综述

作为比特币、以太币或任何其他加密货币的用户,您肯定会担心任何人都可以看到您钱包里有多少代币、您将这些代币转移给了谁以及您从谁那里收到了这些代币。 关于匿名加密货币存在很多争议,但我们不能不同意的一件事是: сказал 门罗币项目经理 Riccardo Spagni 在他的 Twitter 账户上写道:“如果我不想让超市收银员知道我的余额有多少钱以及我把它花在什么地方怎么办?”

他们是如何做到的呢? 加密货币匿名化技术综述

在本文中,我们将研究匿名的技术方面 - 它们是如何做到的,并简要概述最流行的方法及其优缺点。

如今,大约有十几个区块链允许匿名交易。 同时,对于某些人来说,转账的匿名性是强制性的,对于另一些人来说,这是可选的,有些人只隐藏收件人和收件人,有些人甚至不允许第三方看到转账金额。 我们正在考虑的几乎所有技术都提供完全匿名性——外部观察者无法分析余额、接收者或交易历史。 但让我们从该领域的先驱之一开始我们的回顾,以追​​踪匿名方法的演变。

目前现有的匿名技术可大致分为两类:基于混合的技术(所使用的代币与区块链中的其他代币混合)以及使用基于多项式的证明的技术。 接下来,我们将重点关注每个群体并考虑他们的优点和缺点。

揉捏为主

CoinJoin

CoinJoin 不会匿名用户翻译,只会使跟踪变得复杂。 但我们决定将这项技术纳入我们的审查中,因为它是提高比特币网络交易机密性水平的首批尝试之一。 该技术以其简单性而着迷,并且不需要改变网络规则,因此可以轻松地在许多区块链中使用。

它基于一个简单的想法——如果用户在单笔交易中投入资金并付款怎么办? 事实证明,如果阿诺德·施瓦辛格和巴拉克·奥巴马在一笔交易中向查理·辛和唐纳德·特朗普支付了两笔款项,那么就很难理解谁为特朗普竞选活动提供了资金——阿诺德还是巴拉克。

但 CoinJoin 的主要优点也带来了它的主要缺点——安全性较弱。 如今,已经有方法可以识别网络中的 CoinJoin 交易,并通过比较花费和生成的代币数量来将输入集与输出集进行匹配。 用于此类分析的工具的一个示例是 CoinJoin数独.

优点:

• 简单

缺点:

• 表现出可破解性

Monero

当听到“匿名加密货币”这个词时,第一个想到的就是门罗币。 这枚硬币 证明了 其在情报部门显微镜下的稳定性和隐私性:

他们是如何做到的呢? 加密货币匿名化技术综述

在他最近的一张 用品 我们已经非常详细地描述了门罗币协议,今天我们将总结一下所讲的内容。

在门罗币协议中,交易中花费的每个输出都与来自区块链的至少 11 个(在撰写本文时)随机输出混合,从而使网络的传输图变得复杂,并使跟踪交易的任务在计算上变得复杂。 混合条目使用环签名进行签名,这保证签名是由混合硬币之一的所有者提供的,但无法确定是谁。

为了隐藏接收者,每个新生成的硬币都使用一次性地址,这使得观察者不可能(当然就像破解加密密钥一样困难)将任何输出与公共地址关联起来。 自2017年XNUMX月起,门罗币开始支持该协议 保密交易 (CT) 进行了一些添加,从而也隐藏了转账金额。 不久之后,加密货币开发人员用 Bulletproofs 取代了 Borromean 签名,从而显着减少了交易规模。

优点:

• 经过时间考验
• 相对简单

缺点:

• 证明生成和验证比 ZK-SNARK 和 ZK-STARK 慢
• 无法抵抗使用量子计算机的黑客攻击

Mimblewimble

Mimblewimble (MW) 是作为一种可扩展的技术而发明的,用于在比特币网络上进行匿名传输,但后来发现它是作为一个独立的区块链实现的。 用于加密货币 露齿而笑 и BEAM.

MW 之所以引人注目,是因为它没有公共地址,并且为了发送交易,用户直接交换输出,从而消除了外部观察者分析从接收者到接收者的传输的能力。

为了隐藏输入和输出的总和,使用了 Greg Maxwell 在 2015 年提出的一个相当常见的协议 - 保密交易 (CT)。 也就是说,金额是加密的(或者更确切地说,他们使用 承诺计划),而不是它们,网络以所谓的承诺来运作。 为了使交易被视为有效,花费和产生的代币数量加上佣金必须相等。 由于网络不直接使用数字进行操作,因此使用这些相同承诺的方程式来确保平等,这称为零承诺。

在最初的 CT 中,为了保证值的非负性(所谓的范围证明),他们使用了 Borromean Signatures(Borromean 环签名),这在区块链中占用了大量空间(每个输出大约 6 KB) )。 在这方面,使用该技术的匿名货币的缺点包括交易规模较大,但现在他们决定放弃这些签名,转而采用更紧凑的技术 - Bulletproofs。

MW 区块本身没有交易的概念,只有其中花费和生成的输出。 没有交易-没问题!

为了防止传输参与者在将交易发送到网络的阶段去匿名化,使用了一种协议 蒲公英,它使用任意长度的网络代理节点链,在将交易实际分发给所有参与者之前相互传输交易,从而混淆了交易进入网络的轨迹。

优点:

• 区块链规模小
• 相对简单

缺点:

• 证明生成和验证比 ZK-SNARK 和 ZK-STARK 慢
• 对脚本和多重签名等功能的支持很难实现
• 无法抵抗使用量子计算机的黑客攻击

多项式的证明

ZK-SNARK

这项技术的复杂名称代表“零知识 Succinct Non-Interactive Argument of Knowledge”,可以翻译为“简洁非交互式零知识证明”。 它成为了 Zerocoin 协议的延续,该协议进一步演变为 Zerocash,并首先在 Zcash 加密货币中实现。

一般来说,零知识证明允许一方向另一方证明某些数学陈述的真实性,而无需透露任何相关信息。 就加密货币而言,此类方法用于证明,例如,交易产生的硬币数量不会多于其花费的硬币数量,而无需披露转账金额。

ZK-SNARKs 非常难以理解,需要不止一篇文章来描述它的工作原理。 Zcash(第一个实现该协议的货币)的官方页面上专门介绍了其操作 7 篇文章。 因此,在本章中我们将仅限于进行肤浅的描述。

ZK-SNARKs 使用代数多项式证明支付的发送者拥有他正在花费的硬币,并且花费的硬币数量不超过生成的硬币数量。

创建该协议的目的是减少声明有效性证明的大小,同时快速验证它。 是的,根据 简报 Zcash 首席执行官 Zooko Wilcox 表示,证明大小仅为 200 字节,并且可以在 10 毫秒内验证其正确性。 此外,在最新版本的 Zcash 中,开发人员设法将证明生成时间减少到大约两秒。

然而,在使用这项技术之前,需要进行一个复杂的“公共参数”可信设置过程,这就是所谓的“仪式”(仪式)。 整个困难在于,在安装这些参数的过程中,双方都没有留下任何私钥,称为“有毒废物”,否则将无法生成新币。 您可以从视频中了解此过程是如何发生的 YouTube.

优点:

• 证据量小
• 快速验证
• 相对较快的证明生成

缺点:

• 设置公共参数的复杂过程
• 有毒废料
• 技术的相对复杂性
• 无法抵抗使用量子计算机的黑客攻击

ZK-STARK

后两项技术的作者擅长使用缩写词,下一个缩写词代表“零知识可扩展的透明知识论证”。 该方法旨在解决当时 ZK-SNARK 存在的缺点:需要可信的公共参数设置、有毒废物的存在、密码学对使用量子算法进行黑客攻击的不稳定性以及证明生成速度不够快。 然而,ZK-SNARK 开发人员已经解决了最后一个缺点。

ZK-STARK 还使用基于多项式的证明。 该技术不使用公钥加密技术,而是依赖于散列和传输理论。 消除这些加密手段使得该技术能够抵抗量子算法。 但这是有代价的——证明的大小可能达到数百千字节。

目前,ZK-STARK 尚未在任何加密货币中实现,而仅作为库存在 libSTARK。 然而,开发人员的计划远远超出了区块链(在他们的 白皮书 作者举了一个警察数据库中 DNA 证据的例子)。 为此目的而创建 StarkWare 工业,截至 2018 年底收集 36万元 来自业内最大公司的投资。

您可以在 Vitalik Buterin 的帖子中阅读有关 ZK-STARK 如何工作的更多信息 (部分1, 部分2, 部分3).

优点:

• 抵抗量子计算机的黑客攻击
• 相对较快的证明生成
• 相对快速的证明验证
• 无有毒废物

缺点:

• 技术的复杂性
• 大校样尺寸

结论

区块链和日益增长的匿名需求对密码学提出了新的要求。 因此,起源于 1980 世纪 XNUMX 年代中期的密码学分支——零知识证明——在短短几年内就被新的、动态开发的方法所补充。

因此,科学思想的飞跃使 CoinJoin 过时了,而 MimbleWimble 则成为具有相当新鲜想法的有前途的新来者。 门罗币在保护我们的隐私方面仍然是坚定不移的巨人。 而SNARK和STARK虽然有缺点,但可以成为该领域的领导者。 也许在未来几年,我们在每种技术的“缺点”栏中指出的要点将变得无关紧要。

来源: habr.com

添加评论