Биткойн не требует доверия и доступа к нему - любой может использовать его, не указывая свою реальную личность. Это заставляет многих думать о Биткойне как об анонимной сети, в которой транзакции являются частными, однако на самом деле это далеко от истины. Биткойн может работать без доверенной третьей стороны отчасти потому, что он радикально прозрачен - вся история транзакций записывается и проверяется всеми (ну, каждым полным узлом) и поэтому общедоступна для анализа.
Эта полная история транзакций представляет собой структуру, известную как «граф транзакций», которая, по сути, показывает, как транзакции связаны друг с другом, и показывает, как биткойн перемещался между разными адресами.
Эта общедоступная информация может многое рассказать о характере транзакций и использоваться для отслеживания движения средств и деанонимизации отдельных адресов. Например, хотя индивидуальный адрес биткойн-кошелька может быть сгенерирован и использоваться анонимно, большая часть активности в биткойнах связана с реальными идентификационными данными через регулируемые биржи и хранителей, которые обязаны делиться информацией о клиентах с властями.
Используя эту информацию, компании, специализирующиеся на анализе цепочки блоков, могут связать любые покупки или транзакции с личностью человека, который первым купил монеты.
Публичный характер графа транзакций ставит под угрозу обещание Биткойн стать взаимозаменяемой валютой, где все монеты имеют равную ценность и могут использоваться в частном порядке. К счастью, есть несколько методов, которые можно использовать для значительного повышения конфиденциальности транзакций с биткойнами, которые работают, существенно скрывая и нарушая граф транзакций.
Что такое CoinJoin?
Самая известная из них называется CoinJoin - это, по сути, комбинация множества отдельных отдельных транзакций в одну большую, так что невозможно связать входы транзакции (источник монет) с выходами. (адреса назначения монет) с данными о цепочке.
Все выходы в данной транзакции совместного использования практически неотличимы друг от друга и имеют одну и ту же историю. Существует несколько различных сервисов и кошельков, которые могут выполнять транзакции с коинджайном, например Wasabi и Samourai. Каждый из них полагается на централизованного «координатора», который позволяет анонимным незнакомцам координировать создание комбинированных транзакций, которые взимают плату за услугу. Одним из важных ограничений коинджоинов является то, что для сохранения неразличимости выходных данных транзакции каждый участник должен использовать одно и то же входное значение.
CoinJoins использовались на базовом уровне биткойнов в течение многих лет, и в результате значительное количество биткойнов стало анонимным. Однако они относительно дороги с точки зрения комиссий за транзакции, так как каждая транзакция совместного использования должна подтверждаться в цепочке. Кроме того, «набор анонимности» (т. Е. Количество историй монет, с которыми может быть связан ваш вывод) ограничен количеством людей, с которыми вы непосредственно участвовали в транзакции совместного использования (поэтому обычно требуется много транзакций, чтобы получить хороший набор анонимности. ).
Что такое CoinSwap?
Совсем недавно внимание привлекла еще одна технология повышения конфиденциальности, так называемые CoinSwaps, которые, по сути, представляют собой обмен монетами (то есть выходами транзакций) между владельцами, при этом в графе транзакций внутри цепочки не создается ссылка. Это можно рассматривать как передачу права собственности на монеты вне сети - если пользователи могут безопасно обменивать право собственности на монеты разного происхождения без каких-либо следов этого в блокчейне, то предположение об использовании графа транзакций для отслеживания владения нарушается. .
Один из способов представить этот процесс состоит в том, что несколько человек, каждый с определенным количеством биткойнов, заплаченных за закрытый ключ, защищенный на устройстве (например, OpenDime), могут встретиться, каждый бросает свой OpenDime в горшок, встряхивает его, а затем каждый выбирает случайным образом.
Право собственности на отдельные выходы транзакций изменилось, но полностью вне сети. Как и в случае коинджоинов, обмененные монеты должны быть равной стоимости (но, что интересно, в отличие от коинджоинов, они не должны быть равной ценности для конфиденциальности, только для координации).
Обмен монет вне сети теперь возможен благодаря реализации цепочек состояний: протокола уровня 2 Биткойн, который обеспечивает безопасную передачу закрытого ключа, который управляет монетой между владельцами. В настоящее время единственная реализация цепочек состояний, кошелек Mercury, не требует хранения, устойчив к цензуре и поддается проверке, но требует доверия к сущности цепочки состояний для обеспечения атомарности свопов.
Кошелек Mercury использует чаумианский (слепой) протокол обмена, который не позволяет серверу (проводнику обмена) узнать, кто с кем обменялся в многостороннем обмене. Тот факт, что переводы вне сети осуществляются без комиссии и могут выполняться сотни раз, означает, что при таком подходе возможны более крупные наборы анонимности для каждой транзакции внутри сети. Набор анонимности в цепочке (при условии, что стейткойны ртути легко идентифицируются) - это размер всех монет заданной стоимости, депонированных в сущности цепочки состояний (т.е. любую монету можно было обменять на любую другую).
Оба этих подхода имеют несколько разные преимущества и затраты, но по мере того, как становятся доступными новые инструменты повышения конфиденциальности, Биткойн теперь можно использовать более конфиденциально, чем когда-либо прежде, и цепной анализ / наблюдение становятся все более бесполезными.