An Empirical Analysis of Anonymity in Zcash

摘要

在现在众多来源于(derived from)比特币的替代(alternative)加密货币中,Zcash经常被吹捧(touted)为具有最强匿名保证(guarantees)的加密货币,因为它是备受好评(well-regarded)的加密研究的基础。 在本文中,我们将检查(examine)在部署(deployed)的Zcash版本中实现匿名的程度(extent)。 我们在Zcash的交易中调查(investigate)匿名的所有方面,从透明交易(transparent transactions)到与其主要隐私特征的交互(interactions),以及作为匿名集(anonymity set)的屏蔽池(shielded pool),用于希望私下(privately)花钱的用户。 我们得出结论,虽然可以以私有方式使用Zcash,但也可以通过基于可识别的(identifiable)用法(usage)模式(patterns)开发(developing)简单的启发式(heuristics)来大大缩小其匿名集。

 

1 介绍

自从2008年引入(introduction)比特币[34]以来,加密货币(cryptocurrencies)变得越来越受欢迎,达到了近乎躁狂的程度,数千部署(deployed)的加密货币现在共同(collectively)吸引了数万亿(trillions)美元的投资(investment.)。虽然“区块链”(即几乎所有加密货币所依据(underlying)的公共分类账(public decentralized ledger))的更广泛(broader)的积极潜力(potential)仍然不明确(unclear,),尽管(despite)合法(legitimate)用户数量不断增加。参与(engaged)这些活动的犯罪分子(Criminals)可能会被比特币吸引(drawn to),因为仅使用假名(pseudonyms)作为标识符(identifiers,)进行国际支付(international payments)的摩擦(friction)相对(relatively)较低,但其交易分类账的公共性(public nature)提出了(raises)实际实现匿名程度的问题

确实(Indeed,),长期的研究[37,38,12,27,40]已经证明(demonstrated),在比特币中使用假名地址并不能提供任何有意义的匿名水平。 除了学术研究,公司现在提供比特币区块链作为商业的分析[19]。这种类型的分析被用于与“丝绸之路[20]”被撤销(takedown)有关的几起逮捕行动(arrests associated)中,并鉴定(identify)了WanaCry黑客试图将他们的赎金收入(ransom earnings)从比特币转移到Monero [17]的行为。

也许为了响应这种日益增长的意识(awareness),即大多数加密货币没有强大的匿名保证(guarantees),已经部署了许多替代(alternative)加密货币或其他隐私增强技术,目的是改进这些保证。属于前一类别(即替代加密货币,this former category)的最值得注意(notable)的加密货币是Dash [2](2014年1月推出),Monero [3](2014年4月)和Zcash [7](2016年10月)。 在撰写本文时,所有市值(market capitalization)都超过10亿美元[1],这个数字是众所周知(notoriously)的不稳定(volatile,),所以我们应该持怀疑态度(taken with a grain of salt)。

即使是在这类隐私增强的加密货币中,尽管(despiteZcash还相对(relative)年轻,但它在一定程度上(somewhat)是独立的。从学术角度(perspective)来看,Zcash受到了高度重视(regarded)的研究[28,13]的支持(is backed by),因此具有(comes with)看似强大的匿名保证。实际上,原始(original)论文以加密方式(cryptographically)证明了Zcash(称为屏蔽池)的主要隐私功能的安全性,用户可以使用屏蔽币(shielded coins)而不会泄露(revealing)他们花费的硬币。 这些强有力的保证至少引起了一些罪犯对Zcash的关注:地下市场AlphaBay在其2017年7月关闭之前即将(on the verge of)接受Zcash [11],Shadow Brokers黑客组织于2017年5月开始接受Zcash(事实上他们的月度转储(dumps)在2017年9月完全接受Zcash)[16]。

尽管存在这些理论上的(theoretical)隐私保证,Zcash的部署(deployed)版本并不要求所有交易都发生在屏蔽池本身内:它还支持所谓的透明(transparent)交易,这与比特币中的交易基本(essentially)相同,因为(in that)它们显示(reveal)了发件人和收件人(recipients)的假名地址,以及发送的金额。然而,它确实要求所有新生成(generated)的币在进一步(further)使用之前经过(pass through)屏蔽池,从而确保所有币至少被屏蔽一次。 这一要求使Zcash开发人员(developers)得出结论,用户花费屏蔽币的匿名集实际上是所有生成的币,因此“Zcash相比(comparison),其他加密货币用于匿名的混合策略提供了相当(rather)小的[匿名集]” 并且“Zcash在交易隐私方面具有明显(distinct)的优势(advantage”[9]。

在本文中,我们提供了对Zcash中匿名性的第一次深入实证(empirical)分析,以便检查(examine)这些主张(claims),并且更一般地提供关于Zcash如何演变(evolved)以及其主要参与者(participants)是谁的纵向(longitudinal)研究。我们从第4节开始,对Zcash区块链进行了一般性检查(examination),从中我们观察到(observe)绝大多数(vast majorityZcash活动(activity)都在区块链的透明(transparent)部分这意味着它根本(at all)不参与(engage)屏蔽池。 在第5节中,我们通过对已经为比特币开发的分析进行调整(adapting)来探索(explore)Zcash的这个方面,并发现交易(exchanges)通常(typically)主导(dominate)区块链的这一部分

然后,我们在第6节中讨论(examining)与屏蔽池的交互(interactions)。我们发现,不出所料的(unsurprisingly),这样做的主要参与者是创始人(founders)和矿工(miners),他们需要将所有新生成的币直接放入其中。使用新开发的启发式(heuristics)方法将交易归属于(attributing)创始人和矿工,我们发现从池中提取(withdrawn)的价值中有65.6%可以与创始人或矿工的存款(deposits)挂钩。我们还实现(implement)了一种通用(general)启发式方法,用于将其他类型的交易链接在一起,并使用此方法捕获额外(additional3.5%的值。 因此,我们相对(relatively)简单的启发式方法将整体(overall)匿名集的大小减少了69.1

在第7节中,我们将查看屏蔽池中发生的相对(relatively)较小比例的交易。在这里,尽管我们确定了可能保证(warrant)进一步调查(investigation)的某些模式(certain patterns),我们发现(也许不足为奇)可以推断出(inferred)的信息相对较少。最后,我们在第8节中对Zcash中的Shadow Brokers的活动(activities)进行(perform)了一个小案例研究,并在第9节中得出结论(总结)。

在论文提交时,我们的所有结果都已经向Zcash的创作者披露(disclosed),并从那时起就与他们进行了广泛(extensively)的讨论。这导致他们关于Zcash的匿名的公开传播(public communication)以及创始人的交易行为发生了变化。此外,我们分析的所有代码都可以作为开源存储库使用(https://github.com/manganese/zcash-empirical-analysis)。

 

2 相关工作

我们认为所有关注加密货币匿名性的工作都是相关的,要么通过构建解决方案来实现更强的匿名保证,要么通过证明(demonstrating)其局限性

就前者而言(In terms of the former),在为现有加密货币提供解决方案方面进行了大量研究,允许感兴趣的用户以比常规交易更好的匿名方式混合他们的币[15,41,21,24,39,14,22,25]。另一项研究重点是制作替代的隐私增强加密货币。最值得注意(notably)的是,Dash [2]在其PrivateSpend交易中融入(incorporates)了CoinJoin [24]的技术; Monero [3,35]使用环签名来允许用户创建“mix-ins”(即,在其自己的交易中包括其他用户的密钥作为提供更大匿名集的方式); Zcash [7,13]使用零知识证明,允许用户花钱而不会泄露(revealing)哪些币被花费

就后者而言,也有大量关于去匿名化(de-anonymizing)比特币的研究[37,38,12,27,40]。几乎(Almost)所有这些攻击都遵循相同的模式(pattern):它们首先应用(apply)所谓的聚类启发式(clustering heuristics)方法,根据(based on)共享所有权(ownership.)的一些证据(evidence),将多个不同的地址与一个单独的实体相关联(associate。最常见的假设(assumption)是交易中的所有输入地址都属于同一实体,一些论文[12,27]也包含(incorporating)一个额外的启发式方法(additional heuristic),其中接收找零(change)的输出地址也被链接。一旦形成(formed)这些集群(clusters),重新识别(identification)攻击”[27]就会标记(tags)特定地址,从而(thus)标记包含它们的集群。这些技术也已应用于具有类似交易类型的替代加密货币,例如Ripple [30]。

可能与我们自己最接近的工作集中在上述去匿名化隐私解决方案,而不仅仅是比特币。在这里,有几篇论文专注于分析所谓的比特币隐私覆盖(overlays)或混合服务[33,26,31,32],并考虑了他们的匿名程度以及参与者(participants)必须相互信任的程度(extent。由于其对CoinJoin的关注,这几篇论文中的一些分析[32,26]也对Dash中的匿名性产生影响(implications。最近,Miller等人[29]和Kumar等人[23]Monero进行了研究(looked at)。他们都发现可以根据时间模式(temporal patterns)将交易链接在一起,也可以基于某些使用模式(certain patterns of usage,例如选择使用0 mix-ins进行交易的用户(在这种情况下(in which case),他们的环签名不提供匿名,反过来(in turns)影响其他可能已经将他们的密钥包含在他们自己mix-ins中的用户)。最后,我们知道(aware of)有一项成就(effort)是通过Quesnelle [36]Zcash进行去匿名化。本文侧重于根据币的交易时间(timing)和交易金额(amount),将用于屏蔽和去屏蔽(deshield)币的交易联系起来。相比之下(In comparison),我们的论文实现了这种启发式方法,但也提供了对整个(entire)Zcash生态系统(ecosystem)的更广泛的视角(broader perspective),以及对屏蔽池(包括内部)的所有交互的更深入分析。

 

3 背景

3.1 Zcash的工作原理

ZcashZEC)是一种替代加密货币,是比特币(比特币代码)的一个分支,旨在打破交易中发送人和接收人之间的联系。在比特币中,接收人将资金(funds)接收到地址(在交易中称为(referred to as)vOut),并且当他们花费它们时,他们使用这些地址(在交易中称为vIn)。因此,花费比特币的行为(The act of)在发送者和接收者之间创建了一个链接,当(as)比特币继续转手时,这些链接可以被跟踪。因此可以跟踪(track)任何给定的比特币,从其创建到其当前所有者

任何与Zcash中所谓的屏蔽池交互(interacts)的交易都是通过包含(inclusionvJoinSplit来实现的,该vJoinSplit指定(specifies)了币的来源和去向要获得资金,用户可以提供透明地址(t-address)或屏蔽地址(z-address)。据称在z-address中保存(held)的币位于屏蔽池中

为了指定(specify)资金的去向,vJoinSplit包含(1)输出t-address列表,其中包含分配(assigned)给它们的资金(称为zOut),(2)两个屏蔽输出,以及(3)加密备忘录字段(memo field)。zOut可以为空,在这种情况下,交易可以是屏蔽t-to-z)或者私有(z-to-z),具体取决于输入。如果zOut列表包含未分配给任何地址的一些(a quantity of)ZEC,那么我们仍然认为它是空的(因为这只(simply)是矿工费用的分配(allocation))。每个屏蔽输出包含未知数量的ZEC以及隐藏的双花(double-spending)token。屏蔽输出可以是虚拟(dummy)输出(即,它包含零ZEC)以隐藏没有屏蔽输出的事实。加密备忘录字段 可用于将私有消息发送到屏蔽输出的接收者。

为了指定资金的来源,vJoinSplit还包含(1)输入t-address列表(称为zIn),(2)两个双花(double-spending)token,以及(3)零知识证明。 zIn可以为空,在这种情况下,如果zOut不为空,则交易要么去屏蔽z-to-t),要么是私有(z-to-z)。每个双花token要么是属于某些先前屏蔽输出的唯一token,要么是用于隐藏没有屏蔽输入这一事实的虚拟(dummy)值。双花token不会显示它属于哪个屏蔽输出。零知识证明保证了两件事:首先,它证明了双花token真正(genuinely)属于以前的一些屏蔽输出。其次,它证明了(1)zIn中地址中的值+(2)由双花token表示(represented)的值=(1)分配给zOut中地址的值+(2)屏蔽输出中的值+(3)矿工的费用。不同类型的交易的总结(summary)如图1所示。

图1:说明(illustrating)不同类型的Zcash交易的简单图。所有交易类型都是针对(with respect to)单个输入和输出进行描绘(depicted)和描述(described)的,但可以通用化(generalized)来处理多个输入和输出。 在t-to-t交易中,可见的(visible)ZEC量在可见的t-addresses之间移动(zIn,zOut ≠ 0)。 在t-to-z交易中,可见的ZEC量从可见的t-addresses移动到屏蔽池中,此时它属于隐藏的z-addresses(zOut = 0)。 在z-to-z交易中,隐藏的ZEC量在隐藏的z-addresses之间移动(zIn,zOut=0)。 最后,在z-to-t交易中,隐藏的ZEC量从隐藏的z-addresses移出屏蔽池,此时可见的量属于可见的t-addresses(zIn =0)。

3.2 Zcash生态系统的参与者

在本节中,我们将描述在Zcash网络中进行交互(interact)的四种类型的参与者(participants)。

创始人参与了Zcash的初始创建和发布(release),并将获得所有新生成的币的20%(目前在12.5ZEC块奖励中获得2.5 ZEC)。创建者地址在Zcash链参数[8]中被指定(specified)。

矿工参与维护(maintenance)分类账,并在此过程中接收新生成的币(12.5ZEC块奖励中的10个),以及他们挖(mine)的区块中包含的交易的任何费用。许多矿工选择不自己挖,而是加入矿池; 表4中列出了一个矿池列表。一个或多个矿工赢得每个区块,区块中的第一个交易是币生成(coingen),它将新生成的币 分配给他们的地址,以及创始人的地址。

服务是接受ZEC作为某种付款方式的实体。其中包括像Bitfinex这样的交易所,它允许用户用法定(fiat)货币(currencies)和其他加密货币交易(trade)ZEC(反之亦然),以及像ShapeShift [4]这样的平台,允许用户在加密货币和其他数字资产(assets)内进行交易,无需注册(without requiring registration)。

最后,用户是参与者,他们在更加个人(individual)级别的ZEC中持有和交易(transact)。 除常规(regular)人员外,此类别(category)还包括可能选择接受Zcash捐赠(donations)的慈善机构(charities)和其他组织。一个著名(notable)的用户是Shadow Brokers,一个黑客组织,他们发布(published)了几个包含来自NSA(美国国家安全局)的黑客工具和接受Zcash付款的泄漏(leaks)。我们将在第8节中探讨(explore)它们对Zcash的使用。

 

4 一般区块链统计(General Blockchain Statistics

我们使用zcashd客户端下载Zcash区块链,并将其数据库表示(database representation)加载到Apache Spark中。然后,我们使用配备(equipped)PySpark的一组自定义(custom)Python脚本(scripts)进行(performed)分析。我们上次在2018年1月21日解析(parsed)了区块链,此时挖了258,472个区块。 总的来说,自创世(genesis)区块以来已经产生了3,106,643个ZEC,其中(out of which)有2,485,461个ZEC去了矿工那里,其余(rest)的(621,182个ZEC)去了创始人那里。

4.1 交易

在所有区块中(Across all blocks),有2,242,847笔交易。表1中描述了交易类型的完整分类(breakdown)(透明、币生成、去屏蔽、屏蔽、混合、私有),并且描绘(depicting)每种交易类型随时间的增长的图表在图2和3中。[我们使用术语“mixed”来表示同时具有vIn和vOut以及vJoinSplit的交易。]绝大多数(vast majority)交易是公开的(即,透明(transparent)或币生成)。在与池进行交互(interact)的交易中(总共335,63014.96%),只有很小一部分是私人交易;即池内的交易。查看图2中随时间变化的交易类型,我们可以看到coingen,屏蔽和去屏蔽交易的数量都以近似(approximately)线性的方式(linear fashion)增长。正如我们在6.2节中探讨的那样,这种相关性(correlation)很大程度上取决于矿工的习惯。看一下这个图和图3,我们可以看到,虽然(while)与池交互的交易数量以相对(relatively)线性的方式增长,但随着时间的推移,它们携带的价值在所有块中占很小比例,因为(asZcash更为主流(因而透明)的使用增加了

图3:每个块中代表每种不同交易类型的价值的百分比(fraction),每天平均一次(averaged daily)。在这里,'public'捕获透明交易和混合交易的可见成份(visible components)。

4.2 地址

在所有交易中,使用了1,740,378个不同的(distinct)t-address。其中(Of these),8,727个曾在t-to-z交易中作为输入,330,780个曾在z-to-t交易中作为输出。正如我们在6.2节中探讨的那样,这种不对称(asymmetry)的大部分原因是矿池的行为,它使用少量地址来收集区块奖励,但是大量地址(代表所有个体矿工)从池中支出。鉴于(Given)屏蔽池的性质(nature),不可能知道所使用的z-address的总数

图4显示了池中的总值随时间的变化。虽然整体(overall)价值随着时间的推移而增加,但是有一些(certain)屏蔽和去屏蔽模式(patterns)会产生峰值(spikes。正如我们在第6节中探讨的那样,这些峰值主要归因于矿工和创始人的习惯。 在撰写本文时,池中有112,235个ZEC,占总货币(monetary)供应量的3.6%。

如果我们按地址的财富(wealth)对地址进行排名,我们首先观察到所有t-address中只有25%具有非零余额(balance)。其中,前1%占全部ZEC78%。具有最高余额的地址具有118,257.75 ZEC,这意味着最富有的地址具有比整个(entire)屏蔽池更高的余额

 

5 T-Address聚类(Clustering

如第4节所述,Zcash上的大部分活动都不使用屏蔽池。这意味着它与比特币基本相同(essentially identical),因此可以使用第2节中针对比特币讨论的相同技术对其进行去匿名化

5.1 聚类地址

为了识别(identify)透明地址的使用,我们首先回顾用于聚类比特币地址的“多输入(multi-input)”启发式方法。在此启发式中,用作同一交易的输入的地址被分配给同一个集群在比特币中,这种启发式方法可以应用于所有交易,因为它们都是透明的Zcash中,只要有多个输入t-address,我们就会执行此聚类

启发式1。如果在同一交易中输入两个或多个t-address(无论该交易是透明的,屏蔽的还是混合的),则它们由同一实体控制。

误报(false positives)而言,我们认为Zcash至少与比特币一样不可能出现这种情况,因为Zcash是比特币的直接分支,标准客户端具有相同的行为。事实上,我们不知道(aware of)用于Zcash的任何输入混合技术,比如CoinJoin[24](CoinJoin是用于Dash的),因此可能会认为(could argue that)误报的风险甚至低于比特币的风险由于这种启发式方法已在比特币中广泛(extensively)使用,因此我们认为在Zcash中使用它是切合实际的(realistic

我们通过将每个t-address定义为图中的节点,并在图中已输入到同一交易的地址之间添加(无向(undirected))边来实现(implemented)此启发式。然后,图的连接成份形成集群,这些集群表示控制潜在(potentially)多个地址的不同(distinct)实体。 结果是一组560,319个集群,其中97,539个集群包含一个以上的地址。

与比特币一样,仅使用这一启发式已经非常有效但不能捕获找零地址的常见用法,其中交易将币发送给实际的收件人,然后还将输入中遗留的任何币发送回发件人。Meiklejohn等[27]在他们的分析中使用基于这种行为的启发式方法,但警告这个启发式有些脆弱(fragile。 实际上,他们的启发式似乎在很大程度上依赖于几个大型比特币服务的特定行为,因此我们选择不以它的完整形式实现它。尽管如此(Nevertheless),我们在第8节中对Shadow Brokers的案例研究中确实使用了相关的(related)Zcash-specific(特定)启发式方法。

启发式2。如果一个(或多个)地址是vJoinSplit交易中的输入t-address,而第二个地址是同一vJoinSplit交易中的输出t-address,那么如果zOut的大小为1(即,这是唯一的透明输出 地址),第二个地址属于控制输入地址的同一个用户。

为证明这种启发式方法的合理性(justify),我们观察到用户在将币放入池中时可能不想将所有币存(deposit)入他们的地址,在这种情况下,他们必须进行找零误报的唯一风险是,如果用户使用一个z-address,一个t-address替代向两个单独的个人汇款。这个规则的一个值得注意的例外(notable exception)是zcash4win钱包的用户。这里,如果用户决定支付开发者费用,则钱包操作员的地址是输出t-address,因此对于将钱投入屏蔽池的用户而言将产生这种类型的交易。但是,这个地址是可识别的(identifiable),因此我们的分析可以省略(omitted)这些类型的交易。然而(Nevertheless),由于担心这种启发式的安全性(即,它避免误报的能力),我们选择不将其纳入(incorporate)我们下面的(below)一般(general)分析中。

5.2 标签(Tagging)地址

现在我们已经获得了一组集群,我们接下来试图(sought to)为它们分配名称。 为了实现这一目标,我们执行(performed)了Meiklejohn等人[27]使用的技术的缩小版本(scaled-down)。 特别是(In particular),鉴于(given)Zcash仍然相对(relatively)较新,接受Zcash的服务种类并不多。因此,我们限制(restricted)自己与交易所(exchanges)的交互(interacting)。

我们首先根据交易(traded)量确定了前十大Zcash交易所[1]。 然后,我们为每个交易所创建了一个账户,并将少量ZEC存入(deposited)其中,我们将结果交易中的输出t-address标记为属于交易所。然后我们将这笔金额(amount)回收(withdrew)到我们自己的钱包中,并再次将t-address(这次是发件人方)标记为属于交易所。我们偶尔(occasionally)会做几次存款交易,如果这样做可能会标记更多地址。最后,我们还ShapeShift进行了交互,如第3.2节所述(mentioned),允许用户在加密货币之间移动而无需创建帐户。在这里,我们对Zcash进行了一次“转移”,并进行了一次转移出去。表2列出了我们与所有不同交易所的交互情况。

表2:我们与之交互的服务,运行启发式1后与之关联的(associated)集群的标识符(identifier),以及我们对它们进行的存款和取款的数量。 前十个是交易所,ShapeShift是一个加密货币间交换,zcash4win是一个基于Windows的Zcash客户端。

最后,我们收集了创始人[8]的公开地址,以及已知矿池的地址。对于后者,我们首先从Zchain explorer[10]中抓取(scraping)这些地址的标签。然后,我们根据采矿池本身的一些网站(我们也抓过)上公布的块来验证(validated)它们,以确保它们是正确的标签; 即,如果给定块中的coingen交易的接收者被标记为属于给定的矿池,则我们检查该块是否已在该矿池的网站上公布。然后,我们根据第6节中自主开发的启发式方法,使用标记为属于创始人和矿工的地址扩充(augmented)这些地址集。我们在那里更详细(significantly more detail)地介绍(present)了这些启发式方法,但它们导致我们标记了123个创始人地址和110,918个矿工地址(属于各种(a variety of)不同的池)。

5.3 结果

如5.1节所述,运行启发式1得出560,319个集群,其中97,539个集群包含一个以上的地址。 我们为每个集群分配了一个唯一的标识符,按集群中的地址数排序,以便最大的集群具有标识符0

5.3.1 交易所和钱包

从表2中可以看出,许多交易所与一些最大的集群相关联(associated),前五个集群中有四个属于热门交易所。总的来说,我们发现前五大集群的账目(account)占所有交易的11.21%。识别(Identifying)交易所非常重要,因为它可以发现个人用户可能购买ZEC的位置。鉴于现有和新兴(Identifying)规则,他们也是Zcash生态系统中可能了解用户真实身份的一种参与者

在许多交易所集群中,我们还确定了已被标记为矿工的大部分(fractions)地址。这意味着(implies)个体矿工使用他们的交易所账户地址来接收他们的挖矿奖励,如果他们的目标是直接兑现(to cash out directly),可能会有所期待。我们在一些交易所也发现了一些但却少得多的创始人地址

我们的集群还揭示(reveals)了ShapeShift(Cluster 2)的使用相当(fairly)频繁:它总共接收了超过1.1M的ZEC,并且发送的量也大致相同。与交易所不同,它的集群包含相对较少数量的矿工地址(54),这与其用作(usage)转移资金的方式相符(fits),而不是将其存放在钱包中

5.3.2 矿池和创始人

尽管矿池和创始人占(account for)Zcash活动的很大一部分(proportion)(正如我们在第6节中探讨的那样),但许多人经常(frequently)重复使用相同的一小组地址,因此不属于大型集群。 例如,Flypool有三个单地址集群,而Coinotron,coinmine.pl,Slushpool和Nanopool各有两个单地址集群。(可以在6.2节的表4中找到矿池列表)。我们看到从集群发送的与矿池相关(associated with)的币中,99.8%进入了屏蔽池,这进一步验证(validates)了我们的聚类和标记技术

5.3.3 慈善家(Philanthropists

通过人工检查(manual inspection),我们确定了(identified)三个接受Zcash捐赠的大型组织:Internet Archive,torservers.net和Wikileaks。其中,torservers.net只接受通过z-address的付款,因此我们无法识别(identify)他们的交易(Wikileaks也接受通过z-address的付款,但也接受通过t-address的付款)。在我们能够识别的31个给Internet Archive捐赠中,共有17.3个ZEC,其中9个是匿名的(即,作为z-to-t交易)。另一方面,对Wikileak的t-address的所有20笔捐赠都是t-to-t交易。这些都不属于集群,因为它们从未发送过交易

 

6 与屏蔽池的交互(Interactions

Zcash的独特之处当然不是它的t-address(因为它们基本上(essentially)复制了(replicate)比特币的功能(functionality)),而是它的屏蔽池。为此(To that end),本节探讨了在池的端点(endpoints)处与池的交互,意味着存入(t-to-z)池中和从池中取款(withdrawals)(z-to-t)。 然后,我们将在第7节中探索池内的交互(z-to-z交易)。

首先,我们只考虑投入池和从池取出的金额。随着时间的推移(Over time),3,901,124 个ZEC已存入池中[这大于生成的币总数,因为所有币必须由矿工或创始人至少一次存入池中,但可以多次进出池。],并且3,788,889个ZEC已被取出。 图5描绘(plots)了随时间推移的存款和取款。

该图的显示,近乎完美的反映了存款和取款,表明(demonstrating)大多数用户不仅提取了他们存入池中的ZEC的确切(exact)数量,而且在初始(initial)存款后很快就这样做了。正如我们在第6.1和6.2节中看到的那样,这种现象(phenomenon)几乎完全由创始人和矿工导致(account。进一步观察这个图,我们可以看到对称性(symmetry)偶尔(occasionally)被打破,最明显的(notably)是四个“尖峰(spikes)”:两个大的提取,两个大的存款。一些人工调查显示(manual investigation revealed)以下内容:

早起的鸟”第一次提取尖峰发生在2016年12月创建的块高30,900处。尖峰的原因是一个单笔交易,其中7,135 ZEC被从池中取出; 鉴于当时的汇率(exchange rate)为每个ZEC 34美元,这相当于(equivalent)242,590美元。币分布在(distributed across)15个t-address中,最初(initially)我们没有标记为属于任何指定(named)用户。然而,在运行6.1节中描述的启发式之后,我们将所有这些地址标记为属于创始人。事实上,这是我们发现(identified)与创始人有关(being associated with)的起先/第一次(very first)提取

秘密圣诞老人(Santa”第二次提取尖峰发生在2017年12月25日,块高242,642。 其中,10,000个ZEC分布在10个不同的t-address中,每个地址接收1,000个ZEC。在此之前,这些t-address都没有进行过任何交易,此后也没有参与过(involved)交易(即,此交易中收到的币尚未花费)。

人的狼群(One-man wolf packs”图中的两个存放峰值都相当于(correspond to)来自未知t-address的单个大型存款,使用我们第5节的分析,我们发现(identified)它们位于(residing)单地址集群中。然而,对于第一个峰值,许多存款金额直接来自被我们的启发式3确定的创始人地址,因此根据我们在6.1节中的分析,我们认为这也可能与创始人有关(associated with)。

虽然这个图已经提供了一些关于如何使用池的信息(即(namely that)大部分资金在放入池之后(afterwards)几乎立即提取),但它并没有告诉我们谁正在使用池。为此,我们尝试将地址与第3.2节中确定的参与者类型相关联:创始人,矿工和“其他”(包括(encompassing)服务和个人用户)。

在考虑存入屏蔽池时,很容易将地址与创始人和矿工联系起来,因为共识规则要求(dictate)他们必须将他们的块奖励放入屏蔽池中,然后才能进一步花费。 如第5.2节所述,我们根据Zcash参数标记了创始人,并把所有不是创始人的coingen交易的接收者(recipients)标记为矿工。然后,我们使用这些标签将创始人存款识别为使用一个或多个创始人地址作为输入的任何t-to-z交易,将矿工存款识别为使用一个或多个矿工地址作为输入的任何t-to-z交易。结果如图6所示。

从这个图来看,很明显矿工是将钱投入池的主要参与者。这并不特别令人惊讶,因为他们收到的所有币必须至少存入池一次,所以如果我们将这个币数除以(divide)存入的总数(粉线/黑线),我们预计至少有63.7%的存款来自矿工。(实际数字是76.7%。)另一方面,创始人不会在池中存入太多钱(因为他们没有那么多的钱来开始),但是当他们这样做时他们投入大量资金,导致整体线(overall line)出现(visible)明显的阶梯式波动(step-like fluctuations

就最重的用户而言,我们查看了将10,000多个ZEC放入池中的个人地址。结果如图7所示。

图7:随着时间的推移将超过10,000个ZEC放入屏蔽池的地址,其中每个节点的大小与它放入池中的值成比例(proportional)。矿工的地址是绿色的,创始人是橙色的,未知的“其他”参与者是紫色的。

实际上,这个图包含(incorporates)了我们在第6.1和6.2节中开发的启发式方法,然而在应用我们的启发式方法之前运行它看起来非常相似(这是有道理的(makes sense),因为我们的启发式主要用于(act to)链接z-to-t交易)。尽管如此,它再次证明(demonstrates)了池中的大多数重的用户都是矿工,创始人也存放了大量资金但将其分布(spreading)在更广泛的地址上。在四个“其他”地址中,其中一个属于ShapeShift,其他属于未标记的集群。

虽然看待自己的t-to-z交易很有意义,但屏蔽池的主要目的(intention)是提供一个匿名集,这样当用户提取他们的币时,不清楚是他们谁的币。从这个意义上说(In that sense),t-to-zz-to-t交易链接在一起更有意义——用于(acts to)减少匿名集。 更具体(concretely)地说,如果t-to-z交易可以链接到z-to-t交易,那么这些币可以从未来用户从池中提取币的匿名集里排除(ruled out。 因此,我们将注意力放在(devote)本节其余部分的这种分析上。

将这些交易链接在一起的最简单(naive)方法是查看是否在它们之间使用了相同的地址; 即,如果矿工就像存放币一样,使用相同的地址提取他们的币。通过运行这种简单的链接形式,我们可以看到图8a中的结果。这个图表明,我们无法确定(identify)任何与创始人相关的(being associated with)提款,而且与矿工相关的提款数量相当少:共计49,280笔交易,这些笔交易的金额占池中总额的13.3%。

尽管如此(Nevertheless),使用我们为识别(identifying)创始人(详见6.1节)和矿工(6.2节)而开发的启发式方法,我们能够将大多数z-to-t活动与这两个类别(categories)中的一个肯定地(positively)链接起来,如图8b和8c所示。最后,在177,009个z-to-t交易中,我们能够将其中的120,629(或68%)个交易标记为与矿工相关联,捕获来自池的价值的52.1%,并且2,103个交易(177,009个z-to-t交易中)为与创始人相关(捕获来自池的价值的13.5%)。然后,我们将在6.3节中检查(examine)屏蔽池周围(surrounding)剩余的(remaining)30-35%的活动。

6.1 创始人

在将创始人地址列表与所有coingen交易的输出进行比较后,我们发现其中有14个被使用过。使用这些地址,我们能够识别池中的创始人存款,如图6所示。表3提供了更详细地(a closer)检查(inspection)了每个地址的使用情况。

表3:14个活跃创始人地址中的每一个的行为,依据(in terms of)存入池中的存款数量,存入的总价值(以ZEC表示)以及正好(exactly)携带(carrying)价值为249.9999 ZEC的存款数量。

该表显示了创始人行为中的一些非常明显的(obvious)模式(patterns)。在任何给定时间,只有一个地址是活跃的,这意味着它收到了奖励并将奖励存入池中。一旦达到44,272.5 ZEC的限制,下一个地址取代这个地址并且不再使用这个地址。这种模式从第三个地址开始就一直存在。另外,存款金额通常是相同的:恰好249.9999 ZEC,这大致(roughly)是100块的奖励。从第三个地址开始,74.9%的创始人存款和96.2%的所有存款都是如此。池中只有五个其他存款的价值介于249和251 ZEC之间(即价值接近但不等于249.9999 ZEC)。

因此,虽然我们最初(initially)无法识别与创始人相关的任何取款(如图8a所示),但这些模式表明(indicated)屏蔽池的自动使用,这种自动使用也可能携带到取款中(that might also carry into the withdrawals)。根据(Upon)检查(examining)从池中的取款,我们没有找到任何完全等于249.9999 ZEC的值。但是,我们确实找到了1,953个准确的250.0001 ZEC的取款(和1,969个取款的值在249和251 ZEC之间,尽管我们在分析中排除(excluded)了额外的因素)。

因此,这些取款的价值本身(alone of)就与存款有一定的相关性,但为了进一步探索,我们还研究了交易的时机。当我们检查(examined)249.9999 ZEC的连续(consecutive)存款间的间隔(intervals)时,我们发现85%发生在前一个6-10个区块内。同样,在检查250.0001 ZEC的连续取款间的间隔时,我们发现1,953个取款中的1,943个也接近6-10个区块。实际上(Indeed),存款和取款都是以阶梯式模式(step-like patterns)进行(proceeded)的,其中许多交易是在极少数的区块内进行的(导致了逐步上升),当累积(accumulated)更多的区块奖励(横跨(the step across))时会有停顿。图9显示了这种模式,显示了与创始人相关的存款和取款交易。存款通常(typically)是几个大的步骤,而取款需要很多小的步骤。

启发式3。任何带有250.0001 ZEC价值的z-to-t交易都由创始人完成。

就误报(false positives)而言,除了(short of)询问创始人,我们无法真正了解这种启发式的风险。这与第5节中介绍的t-address聚类启发式方法形成对比(contrast),5节中我们没有尝试将地址分配给特定的所有者,因此可以通过其他方式验证(validate)启发式方法。然而(Nevertheless,),交易的价值和时间之间的高度相关使我们相信这种启发式的可靠性。

运行此启发式方法后,我们在48个创始人地址的初始列表中添加了至少75个地址(其中(of which)仅使用了14个地址)。除了图9中显示的相关性(correlation)之外(Aside from),我们标记创始人取款的能力的差异见图8b。

6.2 矿工

Zcash协议规定(specifies)所有新生成的币都需要放入屏蔽池中才能进一步使用。因此,我们预计(expect)存入池中的大量ZEC来自与矿工相关的地址。

6.2.1 存款

正如前面所讨论并在图6中看到的那样,在池中识别矿工存款很容易,因为存款会立即跟随币的产生(也就是币一产生就会存入矿池)。在进一步研究之前,我们将矿工类别(category)划分(split)为个体矿工——他们自己运转(operate),和矿池——代表潜在的(potentially)许多个体的集体(collectives)。总的来说,我们使用第5.2节中描述的抓取(scraping)方法聚集了与Zcash矿池相关的19个t-address。表4列出了这些矿池,以及它们控制的地址数量和与它们关联的t-to-z交易的数量。图10描绘(plots)了随时间推移,这些矿池存入屏蔽池中的价值。

表4:我们确定的矿池活动的总结(summary),coingen交易中使用的关联地址的数量,和与池交互(interacting)的每种交易类型的数量。

在这个图中,我们可以清楚地看到两个占优势的(dominant)矿池是Flypool和F2Pool。 Flypool始终(consistently)存储相同(或类似)的金额,我们可以在线性表示(linear representation)中看到。另一方面,F2Pool有爆发式的(bursts of)大量存入,并伴有(mixed with)不太活跃的时期(periods),我们也可以从图中的反映看出来。尽管(Despite)它们的行为不同,但两个池之间的存款额相似。

6.2.2 取款

虽然从池中取款不单是(solely)重复使用存款确定的少量挖矿地址(正如我们在图8a中天真(naive)尝试链接矿工z-to-t交易所看到的那样),但取款通常(typically)会重新使用存款确定的少量挖矿地址中的一些,因此无论如何都会经常(frequently)被识别出来。

特别是,Zcash中的矿池支出(payouts)类似于它们在比特币中的量[27,18]。块奖励通常支付到单个地址,由池的操作员控制,然后池操作员将一些聚合(aggregated)块奖励存入屏蔽池。然后,他们向每个个体矿工支付个人奖励,作为“分享馅饼(pie)”的一种方式,这导致z-to-t交易有许多输出。(在比特币中,有些池选择(opt)这种方法,而有些池形成一个“剥离(peeling)链”,他们在一个单独的(separate)交易中向每个个体矿工付款,每次都将零钱发回给自己。)在某些矿池的支出中,输出t-address列表有时包括已知与矿池相关联的t-address之一。因此,根据以下启发式,我们将这些类型的支付标记为属于矿池:

启发式4。如果z-to-t交易具有超过100个输出t-address,其中一个属于已知的矿池,那么我们将该交易标记为挖矿取款(与该池关联),并标记所有非池输出t-address属于矿工。

与启发式3一样,如果不直接询问矿池操作员,则无法验证此启发式方法尽管如此(Nevertheless),鉴于已知的比特币矿池的运营结构及这种方式紧密地反映(mirrors)了这个结构,我们再次相信它相对安全。

运行这种启发式方法后,我们将110,918个地址标记为属于矿工,并链接了z-to-t交易的更重要部分(significant portion),如图8c所示。然而,如表4中的最后一列所示,该启发式捕获了仅少数矿池的活动,并且链接活动的大幅增加(large jump)主要是由于F2Pool(两个最富有的池之一)的高覆盖率。这意味着(implies)专门(specifically)为其他池开发的进一步启发式方法(如Flypool)将进一步提高可链接性。此外,我们利用这些矿池挖矿来获取奖励金的一种更为积极的策略(strategy)是,将揭示(reveal)它们的结构此时(根据图10中显示的Flypool存入的1.1M价值和如图8c所示的归于(attributed)'其他'类别的1.2M的剩余价值)我们将进一步缩小(shrink)匿名集。[我们可能已经捕获了一些Flypool活动,因为许多矿工从多个池中获得支付。因此,我们并未声称所有剩余的活动都可以归于Flypool,但可能(potentially)是一些重要的部分(substantial portion)。]

6.3 其他实体

一旦确定了矿工和创始人,我们就可以假设剩余的交易属于更一般的实体。在本节中,我们将研究对这些实体进行分类的不同方法,以确定屏蔽池是如何被使用的

特别是,由于Quesnelle [36],我们运行了启发式方法,Quesnelle说如果一个独特的(unique)值(即之前或之后区块链中从未见过的值)被存入池中,然后在一段短时间后, 从池中提取完全相同的(exact same)价值,存款和取款在Quesnelle称之为往返交易(round-trip transaction)中相关联

启发式5[36]。对于值v,如果恰好(exactly)存在一个携带值v的t-to-z交易和一个携带值v的z-to-t交易,其中z-to-t交易发生在t-to-z之后且在一些少量的块中发生,然后这些交易被链接。

就误报而言,这个值在区块链中是唯一的这一事实意味着误报的唯一可能性是,如果某些z-to-z交易以某种方式分割或聚合(aggregated)币,使池中另一笔金额不同的存款(或若干其他存款)被改变,产生与初始存款相同的(identical)金额。虽然这在理论上是可行的,但我们观察到我们确定的12,841个唯一值中有9,487个具有8个小数位(decimal places)(Zcash中的最大数),并且它们中98.9%的小数位数超过3个。因此,我们认为通过z-to-z交易中的操作(manipulations)实现(achieved)这些精确(exact)值的可能性极小(highly unlikely

通过运行此启发式,我们确定了12,841个唯一值,这意味着我们链接了12,841个交易(一个携带值v的t-to-z交易和一个携带值v的z-to-t交易被链接为1个)。总价值为1,094,513.23684 ZEC,占(represent)有史以来(ever)存放在池中的所有币的28.5%。有趣的是,大多数(87%)链接币属于(attributed)创始人和矿工的交易,因此我们之前的(previous)启发式方法已经将其链接起来。我们相信这进一步证实(credence)了它们的稳健性(soundness。在块间隔(interval)方面,我们对1到100个块之间的每个间隔运行启发式5; 结果如图11所示。

图11:由启发式5链接的值,作为存款和取款交易之间所需的块间隔的函数。

如图所示,即使我们假设保守(conservative)块间隔为10(意味着在存款后25分钟进行取款),我们仍然可以获得总价值(总价值为1,094,513.23684 ZEC)的70%,或者超过700K ZEC。如果我们要求在存款后一小时内取款,我们将获得总价值的83%。

 

7 屏蔽池内的交互

在本节中,我们考虑私人交易; 即,仅(solely)与屏蔽池交互的z-to-z交易。如4.1节所示,这些交易占整体(overall)交易的一小部分。但是,z-to-z交易是Zcash匿名核心的重要组成部分(form a crucial part of。特别是,他们让从启发式5中识别往返(round-trip)交易很难

我们的分析确定了6,934个z-to-z交易,其中包括8,444个vJoinSplits。如3.1节所述,z-to-z交易显示(revealed by)的唯一信息是矿工的费用,交易时间以及用作输入的vJoinSplits的数量。其中,我们查看了交易时间和vJoinSplits的数量,以便对这些操作的使用有所了解(insight)。

我们发现93%的z-to-z交易仅使用一个vJoinSplit作为输入。由于每个vJoinSplit最多可以有两个屏蔽输出作为其输入,因此大多数(the majority ofz-to-z交易有不超过两个屏蔽输出作为输入。这增加了z-to-z交易分类(categorizing)的难度,因为我们无法知道是少数用户在进行多次交易,还是很多用户在进行一次交易。

然而,在查看z-to-z交易的时间时,我们得出结论,可能是少数用户进行了多次交易。 图12绘制了vJoinSplits随时间的累积(cumulative)的数量。vJoinSplits的出现(occurrences)有些不规则(somewhat irregular),所有vJoinSplits的17%发生在2017年1月。还有四次在足够短的时期内发生足够数量的vJoinSplits以至于明显可见(visibly noticeable)。这些事件(occurrences)似乎可能属于同一组用户,或者至少属于与同一服务交互(interacting)的用户。

最后,回顾表4中使用矿池确定的t-to-z和z-to-t交易的数量,BitClub Pool可能负责多达1,300个z-to-z交易,因为它有196笔存款进入池,1,516个取款。这种情况的发生只可能因为(1)池进行了额外的z-to-z交易,或者(2)它将零钱从它的z-to-t交易发送回到屏蔽池中。然而,由于大多数BitClub Pool的z-to-t交易都有超过200个输出t-address,我们得出结论,前者的解释(former explanation)更有可能。

 

8 案例研究:The Shadow Brokers

The Shadow Brokers(TSB)是一个自2016年夏天以来一直活跃的黑客集体(collective),并且泄漏了据称(supposedly)由NSA创建的工具。其中一些泄漏作为免费样品发布(released),但许多通过拍卖(auctions)和每月捆绑(bundles)销售。最初(Initially),TSB仅使用比特币接受付款。然而,后来他们开始接受Zcash的月度转储服务。在本节中,我们将讨论如何识别可能代表(represent)向TSB付款的t-to-z交易。我们确定了二十四个集群(是使用我们在第5节中的分析创建的),符合我们对潜在TSB客户的标准(criteria),其中一个可能是常客。

8.1 技术

为了识别最有可能与TSB相关(be associated with)的交易,我们首先查看了他们的博客[5]。2017年5月,TSB宣布他们将接受Zcash的月度转储服务。在整个夏天(6月到8月),他们接受了Zcash和Monero,但在9月他们宣布他们只会接受Zcash。表5总结(summarizes)了他们在这几个月中每月要求的金额。最后一篇博客文章(post)是在2017年10月发布的,当时他们表示(stated)所有后续(subsequent)转储将花费500 ZEC。

表5:ZEC的TSB月度转储收费金额。在7月和9月,TSB根据正在购买的漏洞(exploits)提供不同的价格。

为了识别潜在的TSB交易,我们查看了与矿工或创始人无关的所有t-to-z交易,这些交易存放了100,200,400或500 ZEC+5 ZEC。我们的假设是,支付TSB的用户不太可能是常规的Zcash用户,而使用它的主要目的是进行支付。在此基础上,如果满足以下条件,则将上述存放值的t-to-z交易的地址标记为潜在的TSB客户:

1、他们没有从池中获得资金; 即,没有以该地址作为输出的z-to-t交易。同样,如果这是一个使用Zcash作为支付TSB的方式为主要参与方式的用户,他们将需要从交易所(exchange)购买他们的资金,这只与t-address有关(engage)。

2、他们不是经常使用(frequent)的用户,从某种意义上说(in the sense that)他们没有产生或收到超过250笔交易(曾经)。

3、在该地址所属的较大集群中,整个(entire)集群在一个月内存入池中的总金额在TSB要求金额的1 ZEC内。在这里,因为得到的集群足够小以便手动处理(treat manually),我们不仅应用启发式1而且应用启发式2(通过找零聚类),确保清除(weed out)误报。 同样,我们的想法是,可疑的(suspected)TSB客户不会成为该池的常用用户。

与我们之前的启发式方法一样,没有办法量化(quantify)与这组标准(criteria,)相关的误报风险,尽管我们在下面看到许多与之匹配的交易确实发生在与TSB接受Zcash相关的时间段内。无论如何(Regardless),鉴于这一限制(limitation),我们并未声称(claiming)我们的结果是明确的(definitive,但确实认为这是一套现实的(realistic)标准,可能适用于试图(attempting)缩小(narrow down)潜在(potential)嫌疑人(suspects)的执法调查背景下(in the context of a law enforcement investigation)。

8.2 结果

表6总结(summarized)了我们的结果,在截至(above up until)2018年1月17日之前符合我们要求的交易数量。在5月的第一个TSB博客文章之前,我们发现只有一个匹配的交易。这很可能是误报,但表明(demonstrates)在TSBZcash合作(went live with)之前,我们所寻求的交易类型并不常见(common。在博客文章之后,我们在5月和6月标记了五个集群,请求的数量为100 ZEC。只有两个集群被标记为500 ZEC,其中一个集群来自八月。尽管(despite)TSB在9月转而(switched to)只接受Zcash,但9月份没有任何所需数量的交易被标记。这可能有多种(a number of)原因:我们的标准可能导致我们错过交易,或者可能没有接受者(takers)。从10月起(onwards),我们每月标记了1-6次交易。很难知道这些代表用户是为旧数据转储付费还是仅仅(simply)是误报。

表6中24个交易中有4个很可能是误报。首先,在TSB宣布他们的第一篇博文之前,1月份有100个ZEC存入池。这个集群在3月份又向池中额外添加(additional)了252个ZEC,因此可能只是池中的一些用户。第二和第三,在TSB宣布7月转储价格中的一个将花费200 ZEC之前,6月份有两次200个ZEC存入该池。最后,在TSB宣布7月转储价格中的一个将花费400 ZEC之前,6月份有400个ZEC存入该池。

在其余的(remaining)集群中,有一个集群的活跃性值得讨论。从这个集群中,6月份有一笔100个ZEC的存款入池,7月份有一笔200个ZEC的存款入池,8月份有一笔500个ZEC的存款入池,完全符合TSB价格。该集群属于新用户,该用户集群中的大部分资金直接来自Bitfinex(集群3)。

 

9 总结

本文首次对Zcash进行了深入探索(in-depth exploration),特别关注其匿名保证。为实现这一目标,我们应用了为比特币开发的众所周知的聚类启发式方法,以及我们自己开发的归属(attribution)启发式方法,其中考虑(take into account)了Zcash的屏蔽池及其独特的角色阵容(cast of characters)。与之前对其他加密货币的实证(empirical)分析一样,我们的研究表明大多数用户根本没有利用(taking advantage of)Zcash的主要隐私功能(privacy feature)。此外,使用(do engage with)屏蔽池的参与者(participants)以一种可识别的方式进行操作,这种方式通过缩小(shrinking)整体(overall)匿名集来显著(significantly)降低(eroding)其他用户的匿名性

 

后续工作

我们的研究是初步探索(initial exploration),因此为进一步探索留下了许多途径(avenues)。例如,可以通过更详细地分析交易之间的时间间隔,或者通过检查(examining)诸如矿工费用或甚至交易的大小(以字节为单位)之类的其他元数据(metadata)来对更多z-to-z交易进行分类。此外(Additionally),可以通过与其积极交互的研究进一步确定矿池的行为。

 

建议改进(Suggestions for improvement

如果创始人与池交互的行为举止是不太规范的方式(fashion),那么我们的启发式效果会明显降低。特别是,通过总是在相同的时间间隔(intervals)内提取相同的金额,就有可能将创始人提取资金与其他用户区分(distinguish)开来。鉴于创始人都对该币(currency)进行了大量投入(invested)并且知道如何以安全的方式使用它,他们处于确保匿名集足够大的最佳位置

最终(Ultimately),Zcash真正确保匿名集大小的唯一方法是要求所有交易都在屏蔽池中进行,或者显著扩展它的使用。鉴于底层加密技术的新兴(emerging)进展(advances)[6],或者即使像Jaxx这样的更多主流钱包提供商(providers)实行(roll out)对z-address的支持,这可能很快就会在计算上可行(computationally feasible)。更广泛地说(More broadly),我们认为这是一个有趣的调整(regulatory)问题,如果主流交易所转向(switched to)仅支持z-address,它是否会继续与Zcash进行交易(transact)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值