主页 > imtoken安卓版下载 > 区块链重要基础知识11——比特币的匿名性及其实现与比较

区块链重要基础知识11——比特币的匿名性及其实现与比较

imtoken安卓版下载 2023-07-01 15:14:39

2021-09-09

本文结构

1. 匿名的基础

对匿名的简单理解就是:拥有匿名集的称为匿名,只对应另一个名字的称为假名。

1.1 为什么需要匿名化

交易记录存在于公共账本上,在区块链上是完全公开透明的,所以你需要对应该匿名的进行匿名操作。 但是我们不需要对所有的都进行匿名操作,所以有对应的匿名级别:

1. 触及传统银行 → 2. 此外,没有人可以轻易追踪参与者

并且有如下分析和攻击手段,只有经过匿名化处理才能进一步保障数据安全和身份安全。

1.1.1 污点分析

如果接收方和发送方之间存在频繁的对应关系,那么我们称之为污点操作(也叫pypypy事务——网络术语????),这种方法可以在一定程度上分析相关性,但不是准确,所以我们只能在前期用它来寻找可能性,存在很大的概率问题。

1.1.2 侧信道攻击

定义:即使没有直接联系,你的匿名身份也可能因为旁路或一些间接的信息泄露而暴露(去匿名化)(去匿名化)(去匿名化)

实际例子:某人查看一条匿名的比特币交易记录,注意到这笔比特币交易的活跃时间,然后他可以将这个时间信息与其他公开信息关联起来。时间,就说明他们有很大概率相关

1.2 如何实现无关性 不同的地址,不同的交易,双方之间是没有关联的——这是一个伪命题,因为当你支付的时候,对方肯定会收到,即使你走了很多弯路,但及时与空间的相关性没有那么强,总有一定的联系。 1.3 匿名集

区块链重要基础知识11——比特币的匿名性以及对其实现方案和对比

btcv币和比特币有没有关系_比特币交易风险_比特币没有交易记录

1.4 伦理问题

薪水:由于每次发放一次薪水,比平时的收入要大,所以相当于一个函数的峰值,容易被恶意攻击者注意到

洗钱:比特币与其他货币的接口不能匿名,现实中确实没有匿名

David⋅\cdot⋅Jom提出了盲签名的概念,用于防止跟踪+防止双重支付机制

Tor是一种可以让不同的政客发表政治演讲而不受他人迫害的方式,因为他在网络层对IP进行了匿名化处理,但是很容易被不法分子利用来非法传播一些东西,让别人无法使用IPIPIP找到它

2. 如何去匿名化 2.1 Stealth address: 2.1.1 解决方案实现

公钥仍然用作地址,

公钥为:gxg_xgx 地址:HgxH_{g_x}Hgx

Bob 需要知道公钥而不是它的哈希值,Alice 选择一个随机数 rrr,并计算如下公式:

这里Alice可以算出左边的部分,Bob拿到rrr就可以算出右边的结果。 如果一致,那么Bob就有资格使用这笔钱

(gx)r=gxr(g_x)r=g_{xr}(gx )r=gxr

然后把钱打到这个公钥上,其实Bob会用到下面的方式:

2.1.2 缺陷:Alice需要将值r发送给Bob; 它需要假设即使 Bob 不在线,比特币交易仍然有效。 2.2 多地址输入交易形成的地址簇(较小时需要组合)

两个传入的交易很可能由同一用户控制。

共享消费(输入对象是通用的,但由不同的人输入),成为不同地址身份(控制者)共同控制的证据。 当然,也可能有例外。 有可能 Alice 和 Bob 是同一个宿舍的朋友,决定共同购买茶壶,分开付款。 不过,总的来说,

btcv币和比特币有没有关系_比特币没有交易记录_比特币交易风险

联合进入基本上意味着联合控制。

区块链重要基础知识11——比特币的匿名性以及对其实现方案和对比

上面的注释:为了支付茶壶的费用,爱丽丝从两个不同的比特币地址创建了一笔交易。 通过这种方式,Alice 暴露了一个人控制两个不同地址的事实。

攻击者可以通过检测上述类似交易不断构建地址集群,最终Alice的地址将一个接一个地被攻击者记录下来。

2.3 零钱地址随机化(需要更多零钱)

早期的比特币对于几个不同的输出地址习惯性的把常用的找零地址放在前面,方便我们管理,也更容易调用,但是这里我们更关心安全性。 这也让攻击者更容易看到。所以输出地址需要随机化

Alice可以有多个输出,最终达到组合的多样性(支付组合):

一笔支出是茶壶店的收款地址,另一笔是爱丽丝自己的“零钱”地址。

这样就增加了随机性,让攻击者更难突破

2.4 尽量避免地址的惯用识别

一组研究人员发现了大多数钱包软件使用的习惯用法,并推导出了一种验证找零地址的可靠方法。 ——本质是人们认为找到了钱包软件的一个规律:比如一般找零地址都是新地址,那么结论就是新的是零地址,旧的不是. 这是这样一个规律,不一定是正确的,但是可以在一定程度上提高效率,所以需要大量的人工干预来消除某些错误,如果这样的规律被广泛传播,一些可以玩的高级用户就能修改这个特征,那么攻击者得到的信息就是错误的

2.4.1 将真实世界的身份与地址集群相关联

我们可以用大数据统计的方法进行相应的聚类,那么最后的结果就是把发送到同一个地址的进行聚类,最后我们就可以得到一个对应的地址簇,我们也可以加上这个聚类因子 更相关变量最终使它更准确,就是他需要更多的背景知识作为基础(其实我们一开始做大数据统计就应该知道✌️)

2.4.2 使用交易进行代币化,

如果只是通过访问交易所或商家的网站查看公布的接收比特币地址怎么办?

比特币没有交易记录_btcv币和比特币有没有关系_比特币交易风险

所以靠谱的方法是:与服务商进行实际交易,获取他所拥有的真相比特币没有交易记录,最终形成覆盖范围越来越广的地址簇,最终我们大概就能识别出这些服务商。交易越多, 越准确

2.5 避免泄露个人信息,最终识别个人身份

区块链网络上交易图的这些分析,这些方法总结为交易图分析(transaction graph analysis)

服务商疏忽直接交易——链接自己的论坛地址 2.6 网络层去匿名化

这是一种不依赖交易图的方法,由于其广泛的影响,对于隐私保护来说是一个非常严重的问题。

当一个节点创建交易时,该节点会与许多其他节点建立链接并广播该交易。 如果网络上有足够多的节点串通(或被同一个攻击者控制),它们可以识别出第一个广播交易的节点,因此可以推断出这个节点是由创建交易的用户创建的。 自己的。

2.6.1 使用IP匿名化的系统-tor

用户只是普通人,想要保护自己在互联网上不被追踪,即网络IP是匿名的,所以这对于其他想要寻找交易来源的人来说是一个更好的解决方案。 当然,可能还有更合适的方案(因为这个方案还是有一定的局限性,比如低延迟,但是比特币是高延迟的,所以这里有点冲突,混币网络是一个可能的替代方案)

在使用Tor系统为比特币实现网络层匿名化方案时,有几个注意事项。 首先,Tor 的协议和任何基于它的上层协议之间可能存在一些复杂的交互,这可能会导致破解匿名的新方法。 事实上,研究人员发现在 Tor 协议上使用比特币存在一些潜在的安全问题,使用该解决方案时必须非常小心。 其次,可能还有其他更适合与比特币一起使用的匿名通信技术。 Tor 定位于那些低延迟的活动,例如网页浏览。 您也不想在浏览网页时坐等,因此可能需要在匿名化方面做出一些牺牲才能实现低延迟。 相比之下,比特币是一个高延迟系统,因为比特币交易需要时间才能在区块链上得到确认。 因此,至少在理论上比特币没有交易记录,我们可能更愿意使用另一种替代方案来实现匿名,例如混合货币网络(Mix Net,参见本章第 6.3 节)。 但就目前而言,作为一个真正在运行并拥有庞大用户群的系统,Tor 还是有一些优势的,这些用户的安全问题已经被深入研究。

3 混币网络

货币混合的一个重要特征是它使交易图的有效性降低,

区块链重要基础知识11——比特币的匿名性以及对其实现方案和对比

用户将比特币发送给中介,并通过其他用户接收比特币。 这使得在区块链上追踪用户的比特币变得更加困难。

3.1 混币标准:

客户端自动化

比特币交易风险_btcv币和比特币有没有关系_比特币没有交易记录

费用应该全有或全无

3.2 不同币种混币操作方案

包括本书 5 位作者中的 4 位在内的一组研究人员对混合货币模型进行了研究,不仅从增强匿名性的角度,而且从安全信任级别的角度出发,提出了一系列的解决方案来提高混币操作:

混合货币在线钱包

特色混币服务

使用多种混合硬币

3.3 混币实践 4. 分布式混币

定义:区别于一般的混币交易,是指在用户之间采用点对点的方式实现混币交易的协议。

好处:

不存在自举问题,用户无需等待可信的中心化混币提供商出现。 在分布式混币模式下,盗币几乎不可能发生。 该协议可以确保您在混币交易中可以取回等值的比特币。 在某些方面,分布式混币模式可以提供更好的匿名性。 4.1 实施方案-合并货币:

核心思想:不同的用户共同创建一个包含所有用户输入的比特币交易。 主要原因在于虽然合并成为单笔交易,但合并之间双方的签字是相互独立的。

由于输入输出地址的顺序是随机的,攻击者无法建立输入输出之间的匹配关系

确认交易中输出信息正确,输入输出比特币大小匹配,确认后进行签名

区块链重要基础知识11——比特币的匿名性以及对其实现方案和对比

通过在不同群体之间进行交易时固定单位比特币交易的大小,可以有效避免交易信息的泄露。

比特币交易风险_btcv币和比特币有没有关系_比特币没有交易记录

实现步骤:找一个想要混币的交易对手作为节点。 交换输入/输出地址。 创建交易。 将这笔交易发送给其他人,每个节点在确认自己的输出地址后对其进行签名。 广播此交易。

区块链重要基础知识11——比特币的匿名性以及对其实现方案和对比

如果节点按照上面的步骤,那么多个节点按照流程正常公布交易会很简单,但是由于交易中需要所有节点的签名,所以最终的交易也很简单不被确认(这是因为只要有一个恶意节点不希望你的交易成功,它只需要不签名,而只要系统考虑到双重支付的问题,只要它再签一笔交易首先,那么只要对方的交易先被确认,它想要的 Broken deal 肯定会来找他的)

4.2 高级流程

侧信道攻击是通过冗余信息来分析相关性。 其实我们反过来想想,如果不是作为攻击,而是作为防止别人攻击的手段(俗话说,知攻知守),对吧? 比如,你每个月发完工资后,需要存一些家里的钱。 正常情况下,你发完工资后,为了方便,会马上存到另一张专用银行卡里(这种关联性大的行为,属于高风险交易流)——这种行为在时间上和账户上关联性都很强,那么如何杜绝呢?这种相关性非常关键:

Merge Avoidance:用户会尝试合并他们的比特币,以便有足够的金额支付给单个接收地址以完成交易。 ——即拆分而不是将一个地址转移到多个地址,因为那样的话,表明它们是相关的,并试图增加它们的独立性;

区块链重要基础知识11——比特币的匿名性以及对其实现方案和对比

5. 零硬币和零钞票

以往的匿名增强技术都是在原有核心技术协议之上增加了匿名处理,而Zcoin和ZCash则在协议层集成了匿名处理。

5.1 大零币

在系统中,基础货币就是您需要交易的货币。 Zerocoin 只是提供了一种交易基础货币的机制。 这种机制可以保证新币与旧币之间不存在关联。

打个比方,就像你去赌场用现金换一些扑克筹码。 这些筹码是一种证明你存了多少现金的凭证。 当你离开赌场时,你可以用这些凭证换取等量的扑克筹码。 但和现金不一样。 当然,与扑克筹码不同,您不能用零币做任何事,只能稍后将它们兑换成基础币。

核心思想:这种证明机制不显示你拥有哪个zerocoin,而只是证明你确实拥有一个zerocoin。

5.1.1 零知识证明

定义:Zerocoins 和 Zeronotes 主要采用的一种证明方案,用于证明一个陈述(在数学上)是正确的,而不透露任何其他可以得出该陈述的信息。

我知道 xsuchthatH(x‖<otherknown inputs>)