主页 > imtoken钱包如何下载 > [Blockchain Sec6] 比特币和匿名

[Blockchain Sec6] 比特币和匿名

imtoken钱包如何下载 2023-10-25 05:13:25

比特币最具争议的特征之一是匿名性。 首先,比特币是匿名的吗? 事实上,有各种相反的论点比特币技术安全性差,因为人们对比特币的匿名性感到困惑。 第二,我们需要加密货币(crypto-currency)完全匿名吗?

1 匿名的基础知识

在讨论比特币是否匿名之前,我们需要先给匿名下个定义。

从字面上理解,anonymous就是“没有名字”的意思。 当我们试图用这个定义来解释比特币的匿名性时,有两种不同的解释:不使用真实姓名的交易,或者根本不使用任何姓名的交易。 无论比特币是否匿名,这两种解读都会得出两个完全不同的结论。 比特币地址是公钥的哈希值。 用户在交互过程中不需要使用真实姓名,但需要使用公钥的哈希值作为交易标识。 显然,它符合第一个定义,但不符合第二个定义。

在计算中,这种使用特定标识符而不是真实姓名的妥协被称为别名。

在计算机科学中,匿名指的是具有不可链接性的别名,一种为特定攻击者的能力定义的属性:如果用户与系统反复交互,从攻击者的角度考虑,这些交互不应该相互关联。

比特币是匿名的比特币技术安全性差,但如果需要绝对隐私,那是不够的。 如果有人可以将你的比特币地址与你的真实身份联系起来,那么你所有的比特币交易记录都将与你的真实身份联系起来。 更糟糕的是,将比特币地址与真实身份联系起来并不难——例如进行需要真实身份的交易或进行真实世界的比特币交易。

侧信道攻击(side channels)

即使没有直接连接,你的匿名身份也可能会因为旁路或一些间接的信息泄露——比如连接的活跃时间——而暴露。

显然,这种假名不能保证隐私或绝对匿名。 为了实现绝对匿名,我们需要更强的无关属性。

无关联

为了更好地理解比特币领域的不相关性,我们可以列举一些不相关性所需的关键属性:

同一用户的不同地址不应轻易关联。 同一用户的不同交易不应轻易关联。 交易双方不应轻易关联(指任何将比特币从发送方转移到接收方的行为,而不仅仅是交易交易)匿名集

上面第三个要求比较难实现,所以我们通常不会尝试对系统中所有可能的交易或地址实现完全不相关,而是实现更有限的不相关。 想象一下特定攻击者的情况,你的交易匿名集(anonymity set)就是攻击者无法分辨出你的交易来源的交易集合。 即使攻击者知道你完成了一笔交易,他也只知道这笔交易是某一个集合中的一个,并不能确定是哪一个。 我们只需要努力最大化这个匿名集。

污点分析

这是一种推断两个地址相关性的方法。 如果地址 S 发送的比特币总是被地址 R 接收到,那么无论它是直接到达还是经过多少个中间地址,S 和 R 都被定义为具有高分污点。

为什么需要匿名

在区块链货币中,所有交易都记录在公共账本上,因此如果你的真实身份与比特币地址相关联,那么你就完全失去了所有交易的隐私性,任何人都可以在你不知情的情况下识别你。

考虑到这一点,我们可以确定需要匿名加密货币的两个不同动机:

从传统银行达到我们习惯的隐私保护水平,降低公链带来的信息泄露风险,超越传统银行给我们的隐私保护水平,进一步发展数字货币,使其在技术上实现没有人可以轻易跟踪参与者。

我们应该区分系统的技术匿名属性和使用货币时应该遵守的法律规范

2 如何去匿名化比特币相关性

假设爱丽丝想用 8 个比特币买一个茶壶。 进一步假设她的比特币分为三个不同的地址,分别有3、5、6个比特币。 事实上,爱丽丝没有一个比特币地址,里面有足够的 8 个比特币,她必须将两个输出组合成一个输入。

那么问题来了,这笔交易会在区块链网络中有一个永久的记录,任何人看到这个记录都可以推断这两个输入地址很可能是由同一个用户控制的。 也就是说,共享消费成为两个不同输入地址共同控制的证据(当然也有例外)。

攻击者可以重复上述过程,逐步关联这个人的所有交易,我们就可以建立一个地址集群。

不仅如此,由于一些钱包软件的默认行为,攻击者可以推断出用于识别找零地址(找零的输出地址)的方法,从而进一步扩大地址簇。

将真实世界的身份链接到地址集群 用交易标记:适用于交易所或商家 识别个人:(1)直接交易(2)由服务提供商提供(3)无意泄露

上面讨论的去匿名化技术都是基于区块链网络上的交易图分析,这些方法归纳为交易图分析。

网络层去匿名化

当一个节点创建交易时,它会与许多其他节点建立连接并广播交易。 如果网络上有足够多的节点串通(或被同一个攻击者控制),它们可以分辨出哪个节点是第一个广播交易的节点,并可以推断出该节点属于创建交易的用户。 因此,这笔交易可以与本节点的IP地址相关联,这与现实世界中的个人身份非常接近。