匿名区块链分析技术概述

在上一篇文章中,我们回顾了匿名加密货币的技术。 今天,我们从另一方面着眼于匿名化问题,并概述了当今分析匿名区块链最著名的方法。 在本文中,我们将专注于对区块链交易本身的分析,绕过在p2p协议级别将钱包地址与其IP地址连接的可能性,因为在这种情况下,这些技术非常单调。 为了理解本文,在了解交易的输入和输出是什么的水平上,对流行的加密货币的设备的肤浅知识就足够了。

图片

2009年,当比特币刚出现时,它被认为是匿名转移的一种手段,因为无法将钱包的公钥与其所有者进行比较。 但是这些时代已经过去了,如今,众所周知的技术可用于分析支付图并识别网络上几乎所有站点的地址池:交易所,采矿池,交换器和暗网市场。

几乎所有这些技术都使用相同的方法-首先,使用简单的启发式方法,将地址组合到群集中,然后根据经验确定每个群集是否属于特定站点。 您可以在《大量的比特币:表征无名男子的付款》中阅读更多有关此的内容。

由于转账的私密性仍不是比特币的主要目标,因此开始出现对保持付款图形保密的方式的需求。 最初的尝试是“切换开关”-代表多个用户发送事务的服务,需要对混合器本身的信任。 为了降低与信任集中式服务相关的风险,出现了著名的CoinJoin协议,该协议不允许第三方(即,混合器本身)控制用户的资金。 随着这一想法的发展,加密货币开始出现,其主要目的是转移的私密性。 在Coinmarketcap顶部,您现在可以找到其中的三个-Monero,Dash和ZCash,在撰写本文时,它们的总资本约为18亿美元。 接下来,我们将仔细研究分析这些区块链的方法。

Coinjoin


CoinJoin协议由Greg Maxwell于2013年提出,以替代现有的混合器,该混合器不需要将其比特币转让给第三方。 该协议的实质是,一次交易中会甩掉几个用户进行付款。

图片

在此示例中,Ernie和Barack决定加入联合交易,并转入Charlie和Donald。 正如我们在图片中看到的,很难理解谁决定为唐纳德的竞选活动付费-厄尼或巴拉克。

但是在这种情况下,“困难”并不意味着“不可能”。 CoinJoin sudoku最早取消匿名CoinJoin交易的技术之一(并且非常成功)。 作者建议分析投入和产出的各种组合,假设它们可以对应一次付款,它们的总价值相同。 实际上,这可能看起来像这样(来源-https : //www.coinjoinsudoku.com/advisory/ ):

图片

“比特币中的隐私增强叠加”一书中,作者走得更远,研究了攻击者-积极参与交易的攻击者。 如果攻击者参与了许多联合交易,那么他可以排除其输入和输出,从而使自己更易于分析。

但是该方案中“不信任”的要点是其集中性。 用户应出于这些目的选择“受信任的”服务,该服务可以简单地保存通过它的揉捏日志(尽管它不能窃取金钱)。

除其他事项外,用户本人还需要采取措施以减少将其付款匿名化的风险。 请勿重复使用同一地址进行付款,这一点非常重要,因为这将极大地促进攻击者对交易链的分析。

但是,尽管这是首次尝试,并且匿名模型相当薄弱,但在过去一年中,此类交易的数量增长了两倍,达到了付款总数的4.09%(根据longhash.com ),这表明对隐私的需求不断增长比特币网络。

短跑


Dash (以前是DarkCoin)→比特币的叉子。 默认情况下,Dash中的事务不是私有的,为了在Dash中进行私有支付,有一个Private Send功能。 她继承了CoinJoin的原理以及大多数缺点。

Dash将用户出口分为两种类型:常规和私有。 前者可用于执行透明交易,而后者则需要参与混合。 转换普通输出时,花费它们的事务会将它们分解为面额为1.00001 DASH,0.100001 DASH等的面额,并将一次性地址传输到用户控制的地址。 之后,发送方选择将与之链接事务的主节点。 当招募到足够数量的参与者时,便形成交易并将其发送给每个发送者的签名。 之后,她准备发送到网络。

Dash中使用三个不同的发件人和收件人地址的PrivateSend事务的示例。 来源-达世币详细说明

图片

与CoinJoin不同,用户摆脱了确保自己的公钥不会在这种混淆之一中出现两次的麻烦。 但是,这在防止源跟踪方面作用较弱-您可以非法地跟踪“转换”链到真正的出路,从那里可以使用一种标准方法来分析比特币交易源。 经验表明,如果输出具有一个共同祖先,那么很可能是发送者本人。

私人交易输出的定额使像CoinJoin sudoku这样的攻击复杂化,但是并不能完全防御它们。 结合一些启发式方法,可以消除这种优势。

混合协议是Dash的一部分并且消除了使用第三方服务的需要这一事实并不能消除对选定主节点的信任的需要。 没有人可以保证任何主节点的所有者都不会在他这一边收集有关交易请求的日志。

与CoinJoin一样,用户可能会缺乏流动性来捏造他们的汇款。 在这种情况下,建议用户选择几个主节点来形成交易,但这只会增加绊脚石的风险。

现在,网络正在积极批评Dash隐私模型。 您可以在Reddit上找到有关某人如何设法使部分私人发送交易匿名的帖子。 例如,在这篇文章中,作者声称在过去的15天中,他设法跟踪了约13%的交易来自其来源。

零现金


ZCash于2016年作为ZeroCash协议的实现出现,并通过使用零知识证据zkSNARKs广为人知。 ZCash不强制仅使用机密交易-网络上的大多数交易都是透明的,并且是从比特币继承其设备的。

要使用机密支付功能,用户必须将必要的部分资金转移到所谓的“屏蔽池”中。 因此,根据屏蔽池的阶段,安全事务可以分为三种类型:

  • 屏蔽交易。 从公共空间到屏蔽池的交易。 在这里,与接收者不同,发送者并未隐藏,但是您可以看到有多少钱“流入了阴影”。
  • 私人交易。 在屏蔽池中进行交易。 在此,发送者,接收者或转账金额都不知道。 实际上,仅知道“曾经汇入池中”在此交易中花费了资金。
  • 屏蔽交易。 从池中提取资金的交易。 不知道是谁显示它们,但知道是谁以及有多少个。

交易的不同类型的插图。 从左到右:常规透明交易,屏蔽交易,私人交易,屏蔽交易。 来源- “ Zcash匿名性的实证分析”

图片

重要的是要注意,网络要求所有生成的硬币(块奖励)都落入屏蔽池中,从而有效地增加了混合交易的匿名性。

对ZCash中的公共交易进行实证分析(在2018年初占交易总数的73%)并不是特别困难,并且要接受与比特币本身相同的技术。 但是,要获得有关谁从屏蔽池中提取了多少资金的统计数据要困难得多。 2018年,分析安全交易的首批尝试之一是“ Zcash匿名性的实证分析” 。 它的作者基于几种启发式方法对付款进行了调查-基于用户行为的观察:

  • 如果一个事务花费两个或多个透明输出(不管该事务是透明,屏蔽还是混合),那么这些输出很可能属于同一网络成员。
  • 如果在透明转帐中仅指示一位收款人(即未作任何更改),则该交易的所有资金来源极有可能属于收款人。
  • 从屏蔽池中提取的价值250.0001 ZEC(有很多这样的转账)的款项都属于网络的创建者。 这大致等于100个方块的奖励。
  • 如果在屏蔽交易中有100多个出口,其中一个属于一个知名的采矿池,那么我们可以得出结论,这是从矿工那里提取资金。 可以将所有其他输出指定为属于矿工。
  • 如果存在一对具有唯一数量且相差数个区块的差异的屏蔽和解屏蔽事务,并且该屏蔽事务较早发生,则这些事务是相互关联的。 关于Zcash事务的可链接性中对此进行了描述。

下图显示了工作作者能够基于这些启发式方法进行的一些分析:

图片

图片

图片

作者能够确定从池中提取资金的交易中有65.6%。 未能在识别池中的付款方面取得重大成功。

卢森堡大学的研究人员在最新工作“ Zcash中的采矿的隐私性和可链接性”中分析了采矿池的性能,并确定了奖励时的两种模式:

  • 采矿池将块奖励显示在其公共地址上,并从那里将奖励分发给矿工。 他们称之为模式T。
  • 采矿池将开采的硬币存储在屏蔽池中,并在某个时候向矿工奖励从那里到公共地址的奖励。 该模式称为模式Z。

建立特定矿池交易的所有权并不难-研究人员只是将支付奖励的公共地址与矿池本身网站上发布的顶级矿工的地址进行了比较。

按照这种方法,研究人员设法将已确定的共同付款的份额从以前的工作中的65.6%提高到相同数据上的84.1%。

但是,这种方法有其缺点:

  • 由于矿工倾向于更换采矿池,因此可以将其应用于大约2000个区块(大约四天)的相当窄的时间间隔;
  • 很难识别属于几个小池的小型交易,因为它们的退出交易数量少,因此其付费交易不适合大池的一般模式。

分析结果如下图所示:

图片

根据这些数据,作者得出结论,所有“ ZCash”交易中有95.6%可能被“披露”,这使ZCash隐私更加接近比特币的水平。

如我们所见,尽管有强大的密码保护,但仍可以从区块链中的开放信息中获取大量用于分析和结论的数据。

门罗


Monero于2014年4月推出,是CryptoNote协议的最受欢迎实施。 门罗币在每次付款中都使用一次性地址,而不是资金接收者的公共地址,因此对于外部观察者而言,无法通过密码将接收者的一次性地址与其公共地址进行匹配。 为了隐藏发件人,该技术使用了揉捏的想法,但是它的实现方式不同于CoinJoin。 在门罗币中,发件人无需寻找其他候选人即可完成联合交易。 取而代之的是,钱包本身会从区块链中收集任意出口,将要花费的出口隐藏在其中,并使用环签名将其全部固定。 此处的环形签名用于使交易验证器确信发件人实际上拥有捏合输出之一,并且没有花费。 尝试跟踪收款人的付款时,这会带来很大的不确定性。 我们可以在插图中看到一个示例:

图片

事实证明,交易的“隐私度”取决于其环签名的大小-混合使用的输出越随机,跟踪它就越困难。

直到2016年,Monero网络中的混合都是可选的,然后,环签名的最小大小提高到3。因此,它每年都在增长,现在是11。

2017年,在一组题为“门罗币的可追溯性的经验分析”的工作中,一组研究人员指出了加密货币协议的两个弱点(值得注意的是,他们不是第一个谈论这一点的人,但是他们能够在实践中提供交易分析的结果。 )

第一个漏洞是指使用零揉捏的先前有效交易的负面影响。 也称为“链反应”分析。 作者在实践中表明,仅依靠使用一次性地址的匿名化不仅没有用,而且还导致使用这些输出作为揉捏的其他付款对其他付款进行匿名处理-已经知道它们在哪里消费。 如果交易中有少量错误输出,则可以通过排除方法以很高的概率计算真实的错误输出。 因此,研究人员能够追踪2017年2月之前完成的交易的约62%。

第二个漏洞与钱包选择混合输出的方式有关。 事实是假出口是从区块链中平均选择的,当时还没有反映出加密货币用户的行为模式。 作者指出,用户最经常在两到三个月内花费收到的钱。 因此,在大多数情况下,最近的出口确实被花费了。 以下是交易中输出年龄分布的示例:

图片

图片

使用当时的启发式方法,作者设法揭示了约80%的交易来源。

但是,由于开发人员已经纠正了这些弱点,因此现在这些技术在学术上更具兴趣-他们将最低mixin提高到了11,即分配法则(根据该法则收集了混合的输出),替换为更近似的现实并实施了机密交易协议。

在另一份题为“ CryptoNote样式的区块链的新的经验可追溯性分析”的工作中,研究人员试图使用“封闭集”来分析Monero交易。

让我们用一个例子来解释。 假设我们有四个输出pk1,pk2,pk3和pk4。 现在我们需要找到四个这样的事务,这些事务将专门用于它们:

图片

在我们的案例中,我们可以得出结论,这四个输出都用在这四个事务中,并且下次我们遇到一个揉捏至少这些输出之一的事务时,我们可以将它们排除在匿名集合之外,因为这是已知的错误。

作者在门罗币区块链上进行了实验,其中已包含机密交易,并且环形签名的最小大小为5。但是,由于此类集是相当罕见的现象,因此他们只能跟踪0.084%的输出,并且该技术可以视为其他分析方法的补充。 这一结果使我们可以得出结论,现代门罗币提供了相当强的保密性保证。

结果如何


我们对分析匿名区块链的方式进行了相当广泛的研究。 尽管没有人尝试破解密码,但是其中一些的弱点是匿名服务的集中性,而其他的缺点是进行透明事务的能力。 我们认为,由于最近的研究并未提供任何可追溯的交易结果,因此Monero为当今的机密性提供了最佳保证(以前已修复了固定的漏洞)。

Source: https://habr.com/ru/post/zh-CN471640/


All Articles