比特币交易如何运作,比特币区块链中是否存在匿名性?

Arcane Assets首席投资官Eric Wall的文章翻译。

  • 比特币(BTC)是半匿名的-协议不知道您的真实姓名,但是交易可以通过多种方式链接到您。
  • 分析师区块链公司专门研究比特币区块链中的匿名活动,并将此数据出售给公司和执法机构。
  • 了解系统的工作方式并使用Tor,硬币控制,CoinJoin交易和“一次性”地址对于确保比特币网络的匿名性至关重要。
  • 本文旨在为读者提供有关比特币匿名程度的总体思路。在本系列的下一篇文章中,将考虑经济和政治自由受到限制的地区中的各种比特币钱包以及加密货币和交易平台。

在协议级别研究加密货币时,很明显,与传统的数字支付系统相比,它们更加关注隐私。通常,在这些协议的基本级别上,用户的加密货币密钥对与其个人数据之间没有比较。

在货币环境中,关于加密货币有很多观点,但是在这些文章中,我们将主要关注隐私主题。加密货币提供的机密性水平会根据用户的特定选择和辅助技术的使用而有很大不同。我们还将看到,在人口经济自由受到限制的国家,加密货币(尤其是比特币)的接受程度正在提高。

比特币隐私

比特币既不是完全匿名也不是完全透明。比特币的机密性存在于灰色地带,最终取决于用户的技能和区块链分析师的能力。

没有理想的解决方案来确保Internet上任何类型的活动的机密性。此外,机密性永远不会是一成不变的,并且在创建保护匿名工具的人与创建用于匿名化工具的人之间的斗争中不断发展。比特币协议也不例外,并且在不断发展。

结果,正在考虑使用比特币来掩盖威权政府或公司的窥探的活动家或记者应该了解他们在使用比特币时留下的痕迹类型。

交易追踪

进行比特币交易时,会留下两种类型的跟踪。它们可以分为“在区块链中”和“在区块链外”的痕迹。

  • 区块链上的信息并未显示出您的身份与交易之间的直接联系,但其中包含的数据可以帮助您关联交易。
  • 将您的身份与交易相关联的跟踪属于“区块链外部”的第二类。

区块链之外是什么?

进行交易时,通常会从认识您的组织汇款或收款。该组织将在区块链之外获得有关您的信息。

结果,有足够动力的人可以弄清楚您如何使用比特币,拥有多少比特币以及与谁进行交易。

即使您与一个不认识您的组织进行交易,也有无数种方法可以将您链接到交易,因为比特币交易通常是通过Internet以未加密的数据包形式发送的,并且可以通过多种方式确定源IP地址。

通过全节点(Bitcoin Core)发送的比特币交易需要拦截和分析网络流量以确定源IP地址,但是,“轻型”移动钱包(Mycelium,Blockchain钱包,Coinbase钱包)将通过公司管理的服务器传输交易,直接查看您的IP地址以及完整的交易记录。开箱即用时,大多数硬件钱包(Ledger,Trezor)也是如此。

更重要的是,您的IP地址显示给您的Internet服务提供商,后者进而知道该IP地址的真实所有者,并且通常具有法律义务将这些信息保留几个月。

即使在使用公共Wi-Fi网络传输交易时,您仍然可能会通过访问的网站和设备所连接的服务意外地将真实身份与此IP地址相关联。当您打开笔记本电脑时,您的Dropbox应用将连接到Dropbox的服务器,这会将IP地址与您的Dropbox帐户相关联。

当您在任何网站上使用个人帐户时,都会发生同样的事情。即使您没有访问Internet上的任何帐户,通过将cookie链接到以前的浏览历史记录,笔记本电脑上存储的cookie也可以帮助您识别身份。许多网站都允许您跟踪此类用户以进行分析-估计只有Google跟踪80%网站上的用户。

即使您删除Cookie,网站运营商也可以通过您独特的浏览器指纹在不同的站点上跟踪您,从而将IP地址与您相关联。即使您没有正在运行的服务,设备的MAC地址也可能对Internet提供商可用,并且已经可以使用相当复杂的方法将其与您连接。

您也可以通过Internet上的简单搜索将地址或交易与之相关联,因为除了您将搜索特定交易或地址之类的人之外,没有多少人。

当前,Tor网络是在接收交易信息或传输交易时隐藏设备和IP地址的最著名方法。许多钱包,包括Bitcoin Core,都将其作为自定义选项提供。

Tor浏览器是掩盖Internet活动的有用工具,因为它除了隐藏IP地址外,每次注销时都会清除cookie,并且不受大多数​​浏览器指纹识别方法的影响。

区块链上有什么?

一种了解比特币区块链包含的信息类型的简单方法是使用区块浏览器。我们将使用Blockstream.info浏览器。

撰写本文时(#563899),比特币区块链中的最新区块包含2122笔交易。让我们看看我们可以了解有关随机选择的交易的知识。

区块浏览器中的比特币交易信息

事务包含输入和输出,并由事务标识符确定(上图上方)。如果您的比特币钱包发送了一笔交易,那么它将与这样的标识符相关联。

除了交易,我们还可以发现:

  • 估计完成交易的时间(来自块标题);
  • 比特币发送到的地址和金额(“退出”);
  • 交易资金的来源(“投入”)。

让我们分别查看以上事务中的每个要点:e70c2ed31c05fbf2865a15a696a7ca0cb8​​f3afef92c34f4e41051dc2356827c8。

时间

块而不是事务包含时间戳。这些标记不一定是准确的,但是如果大多数比特币矿工报告正确的时间,则所有块都应提供相当准确的时间范围内的时间图。这并不意味着在交易的广播时间内几个小时内,一个区块的时间戳必须一定是准确的,因为有时将一个交易包含在一个区块中可能需要更长的时间。

某些区块浏览器首次在网络上看到交易时,会通过时间显示来补充数据,以更准确地显示交易的广播时间。

可以通过查看区块头来确定交易包含在该区块中的大概时间(在我们的示例中,它是编号563899的区块,时间戳为UTC 2019-02-20,14:45)。

比特币发送到的地址和金额:

  • 32Z63LVtUERdEEwz275JHt3o4cewPfE8YC 0.26119849 BTC
  • 31w3iWUN5EMJMW2YRCc5m4RFqm3zN61xK2 0.2214705 BTC

地址不仅仅是眼神。比特币地址通常被表示为“仅用于比特币的难以阅读的电子邮件地址”,但该地址并非指向特定用户的加密货币密钥对的简单指针。地址是下次有人要移动这些比特币时支出规则的加密货币描述。

例如,如果您将比特币发送给37k7toV1Nv4DfmQbmZ8KuZDQCYK9x5KpzP,则此地址的配置是将比特币发送给的人不是将硬币发送给特定私钥的所有者,而是将支出硬币发给可以提供具有相同SHA-1哈希的两条不同行的任何人。应该指出的是,由于今天使用的许多地址格式在我们发送比特币时都会被散列,因此通常无法说出这些支出规则是什么,直到有人从该地址支出比特币为止,因为它们应该发现哈希值。

在我们的示例中,比特币交易是从两个地址支出的,因此这些地址的支出规则是已知的。当在事务f491dfe9867c36e85950116a90a612806060608866ad0f3598d70d70d146750162f中使用32Z63LVtUERdEEwz275JHt3o4cewPfE8YC时,发现它是2选2的multisig地址。我们将在下一部分中更详细地讨论这一点。

同样,31w3iWUN5EMJMW2YRCc5m4RFqm3zN61xK2是一个经常使用的2比3多重签名地址,在撰写本文时包含约2700个比特币。诸如oxt.me之类的更高级的区块链浏览器甚至可以显示地址随时间的推移以及一天中哪几小时最活跃。

高级比特币区块链时间观察者

一天中什么时候最活跃的比特币地址

由于18:00-22:00 UTC是该地址活动最少的时间,因此可以合理地假设这些时间是在以下地区的夜间01:00-05:00或02:00-06:00该地址受到监视。考虑到该地址的活动时间,数量和多重签名功能,您可以猜测该地址属于GMT + 7/8时区中的加密货币交易所。

时区

为了提高匿名性,不建议重用比特币地址。所谓的高清钱包可以生成许多地址,只需一个种子即可访问该地址。每当您进行交易时,这些钱包将自动为您生成一个新地址。

比特币交易定期路由到两个地址,其中一个交易输出是实际付款,另一个是零钱输出。这是一个“更改”,已返回给发件人。

可以使用整数(交易时以比特币或法定货币等价),交易主体中的输出顺序等来标识此“更改”和实际收件人地址。在我们选择的交易中,很容易检测到“更改”,因为它返回了相同的地址。

原则上,不同的比特币钱包在区块链上留下不同的痕迹-就像不同的浏览器在浏览站点时留下有关其自身的信息一样。因此,有时可以从特定的钱包中识别交易。每条小小的信息都可以帮助区块链分析师更准确地了解您的身份和所从事的工作。

资金来源

在比特币交易中,“资金来源”始终是其他交易或“未花费的交易输出”(称为UTXO)。应当记住,每个浏览器都显示了区块链数据和派生数据的组合。一个浏览器可以显示如下交易:

比特币交易的资金来源

在此,“资金来源”显示为地址。在Blockstream浏览器中,资金来源显示交易:

Blockstream浏览器显示交易来源

Blockstream浏览器未将地址显示为资金来源的原因是,从技术上讲,地址不是交易输入中的一部分,并且并非总是能够显示源地址(示例)。

此外,由于不建议重复使用地址,因此在心理上将比特币交易模型与传统的支付系统分开是有用的,而不是加强可以或应该在同一地址将钱退还给接收者的想法,即显示发送者的地址。

让我们仔细研究交易的技术方面,并考虑可以从自己的完整比特币节点或此工具获得的交易数据。看起来是这样的:

来自完整比特币节点的交易数据

资金来源由vin数组描述。它并不专门适用于地址,而是适用于先前交易的输出。 593e2d5c65b3505d897a13033741037d6c59e683b3345314a58253a8f1572758,其中“ vout”:0表示此事务的第一个输出(“ vout”:1表示其第二个输出,依此类推)。该UTXO交易是资金来源。

为了清楚起见,交易的资金来源既不是地址也不是交易。资金来源是特定的先前交易的特定输出。知道这一点将有助于您在使用比特币时保护您的隐私(在下一节中将对此进行更多介绍)。

twitwitness中的最后一个十六进制行显示了3之2的多重签名脚本,这使我们可以得出结论,该地址可能属于交易所。 twitwitness中的其他两个十六进制字符串是满足3 of 2多重签名条件的简单签名。

现在,在确定资金来源之后,我们看到此输出为0.48298999 BTC(约1850美元),尽管付款仅是由1000美元左右发送的。这是不必要的资金泄露:想象一下一个朋友向您支付10美元,但交易显示他实际上拥有一百万美元并可以直接使用它的情况,这显然对隐私不是很好。

如果您担心在向某人发送付款时披露有关比特币的信息,则需要知道交易中使用了哪些输入数据。

结合知识

由于交易始终是资金的来源,因此它们相互关联并共同创建了所谓的交易图。如果您用比特币付钱给朋友,那么您的朋友不仅会看到您在交易中使用的输入数据,还会看到您在交易中使用的输入数据。您还可以看到您的朋友何时消费这些硬币以及他将其发送到的地址。

一些地址在比特币社区中广为人知-例如,冷的Bitfinex钱包或暗网站点Silk Road的没收硬币。该地址可由组织本身在Internet上发布-分析公司会定期收集此类信息。

其他地址通过群集确定。

聚类

让我们回到交易e70c2ed31c05fbf2865a15a696a7ca0cb8​​f3afef92c34f4e41051dc2356827c8。在这里,我们立即看到交易中的资金来源和交易(红点)都用于共同资助第三笔交易(大蓝点)。

比特币交易集群

但是,由于它们的两个私钥都使用一个大的蓝点来签署交易,因此所有这些地址现在都属于同一群集(以及交易输入中涉及的其他407个地址)。这使我们可以假设他们只有一个所有者。如今,这种确定交易的方法被称为具有共同所有者的启发式输入法。

区块链分析公司使用这种启发式方法来创建巨型集群。钱包Explorer浏览器将这两个地址分配给了162,787个地址。分析公司用标识符(IP地址,用户帐户,组织,实名)标记这些集群,以识别比特币交易的生态系统。然后,他们将此数据出售给执法部门和其他公司。

许多区块链分析公司直接从其客户那里接收交易信息(例如,加密货币交易所)。最大的两家分析公司Chainalysis和Elliptic表示,它们不跟踪特定个人的交易,而仅跟踪交易所或其他业务结构的交易。

对群中心化的单个地址取消匿名处理将对整个群集进行匿名处理。

对抗启发式

Теперь мы знаем, что существует множество способов связать вашу личность с определенным биткоин-адресом или транзакцией. В совокупности эти данные могут разрушить всю нашу финансовую конфиденциальность.

Некоторые пользователи биткоина намеренно пытаются усложнить работу блокчейн-аналитикам. Некоторые методы искажают эвристические данные, в то время как другие пытаются вообще избежать эвристики. Биткоин-кошельки могут помочь пользователям, автоматизируя некоторые из этих методов, или сделать их доступными через пользовательский интерфейс.

Вот неполный список этих методов:

  • Случайный порядок выходов при создании транзакции (пример).
  • Предотвращение повторного использования адресов (использование HD-кошельков).
  • Использование PayNym ― общедоступного идентификатора, который позволяет вам получать платежи по разным адресам, которые вы контролируете и которые становятся известны только вам и отправителю. PayNym позволяет получать новый адрес для каждого платежа без необходимости вручную каждый раз представлять новый адрес.
  • Выбор монет/управление монетами ― кошельки могут быть спроектированы таким образом, чтобы позволять пользователям выбирать входы для транзакций вручную. Это позволяет пользователю кошелька не показывать владение определенными монетами.

Более продвинутый пример техники повышения конфиденциальности ― CoinJoin-транзакции. CoinJoin ― это схема, которая добавляет множество входов от множества разных пользователей в общую транзакцию до её трансляции.

В нашем примере мы увидели, что вход транзакции всегда ссылается на конкретный выход предыдущей транзакции, а не на всю транзакцию:

CoinJoin-транзакции

Но входы и выходы в каждой отдельной транзакции никак не связаны друг с другом; транзакция возможна до тех пор, пока на входах достаточно биткоинов для покрытия всех выходов.

Выходы CoinJoin-транзакции с равными суммами, поэтому вы не можете быть уверены в том, какой вход финансирует определенный платеж. В результате платеж может иметь множество возможных «источников средств», неразличимых друг от друга, а также множество возможных мест назначения. Технически это не скрывает источник средств или место назначения, но смешивает их так, что становится трудно определить, кто и куда отправил биткоины.

Выходы CoinJoin-транзакции с равными суммами

Что интересно в этих видах транзакций, так это то, что они усложняют эвристику входов с общим владельцем. Все эти входы будут помечены как принадлежащие одному и тому же владельцу (хотя на самом деле это не так). На изображениях ниже показаны ложные кластеры независимых платежей в CoinJoin-транзакции.

Ложные кластеры независимых платежей в CoinJoin-транзакции

Однако, поскольку все эти транзакции имеют странные выходы с одинаковыми суммами, их довольно легко обнаружить и исключить.

Однако тот же принцип используется для создания транзакций, которые неотличимы от обычных транзакций, в схеме под названием PayJoin, или Pay-to-EndPoint (P2EP). Этот тип транзакции смешивает входы от плательщика и получателя и выплачивает получателю.

Транзакции Pay-to-EndPoint (P2EP)

Эту транзакция сложно назвать микшированием, но она усложняет эвристику входов с общим владельцем. Что еще более важно, она не оставляет никаких подсказок для блокчейн-аналитиков, которые могут исключить эти транзакции. Если использование PayJoin станет широко распространенным, сама эвристика с общим владельцем станет ненадежной, что станет серьезным ударом для компаний по блокчейн-анализу.

Lightning Network

Lightning Network ― это технология, которая разрабатывается на основе протокола биткоина для осуществления небольших и быстрых платежей. Lightning-транзакции во многих отношениях отличаются от транзакций в основной сети биткоина, в том числе с точки зрения конфиденциальности.

  • Lightning-транзакции не хранятся в публичном реестре:
  • Lightning-транзакции используют луковую маршрутизацию, которая не раскрывает остальной части сети конечного получателя.
  • Lightning-транзакции не смешивают входы и не поддаются кластеризации.

Lightning Network ― это система каналов, которые требуют ликвидности; текущий набор продавцов и пользователей, которые принимают Lightning-платежи сегодня, является небольшим подмножеством общего набора пользователей биткоина в системе, и не все платежи (особенно крупные) пока могут проходить через систему каналов.

Это также означает, что, хотя Lightning может обеспечить лучшую конфиденциальность для транзакций в своей системе каналов, эти каналы по-прежнему должны финансироваться за счет обычных биткоин-транзакций, которые имеют вышеописанные проблемы конфиденциальности.

Вывод

Цель этой статьи ― дать представление о конфиденциальности в биткоине. Псевдонимный и публичный блокчейн биткоина создает среду, в которой конфиденциальность системы в конечном счете зависит от инструментов, используемых пользователем и блокчейн-аналитиками.

В следующей статье мы более подробно познакомимся с тем, как различные кошельки могут помочь вам повысить уровень анонимности в сети биткоина.

资讯来源:由0x资讯编译自MINING-加密货币。版权归作者Mining-加密货币.ru所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢