Биткойн не анонимен, а скорее псевдо-анонимен – большинство ветеранов биткойн-сообщества знают это. Однако большинству людей непонятно, почему Биткойн нельзя назвать анонимным, как можно установить личность пользователя Биткойна – и что можно сделать, чтобы не допустить этого. Именно поэтому мы рекомендуем вам ознакомиться со следующим справочником, который разъяснит вам все нюансы, связанные с Биткойном и его анонимностью.
Как работают биткойн-транзакции?
Чтобы лучше понять анонимность Биткойна, важно сперва разобраться, как эта криптовалюта работает на базовом уровне.
Прежде всего, протокол Биткойна состоит из серий транзакций. Эти транзакции по своей сути являются пакетами различных типов данных, среди которых есть входы и выходы. Входы относятся к биткойн-адресам, с которых отправляются монеты (для чего нужно использовать приватный ключ, связанный с таким адресом). Выходы имеют отношение к адресам, на которые шлют биткойны. Во время каждой биткойн-транзакции биткойны переходят от одного или нескольких входов к одному или нескольким выходам (таким образом биткойны передаются от одного или нескольких адресов на один или несколько других адресов).
У транзакции может быть один вход и один выход. Тем не менее, это редкий случай, поскольку для этого сумма отправленных биткойнов (выход) должна быть равна сумме ранее полученных биткойнов (входу).
Чаще бывает, что транзакция состоит из множества небольших входов. К примеру, если у кого-либо есть три разных входа по одному биткойну, и ему требуется отправить 2,5 биткойна в онлайн-магазин, программное обеспечение сольёт все три входа в одну транзакцию.
Ещё чаще транзакция состоит из нескольких выходов. Это происходит потому, что Биткойн использует так называемые адреса для сдачи. Такие адреса позволяют пользователям создавать транзакцию, которая возвращает излишки биткойнов из входов отправителю. Таким образом, в вышеописанном примере программа создаст два выхода. К одному выходу отнесутся 2,5 биткойна, отправленных на принадлежащий онлайн-магазину адрес, в то время как другой выход будет содержать 0,5 биткойнов, отправленных на новый сгенерированный адрес отправителя.
Что делает Биткойн “анонимным”?
Существует три причины, по которым Биткойн считают анонимным.
Во-первых, в отличие от банковских счетов и большинства других платёжных систем, биткойн-адреса не привязаны к личности пользователей на уровне протокола. Каждый человек в любое время может создать новый случайно сгенерированный биткойн-адрес (и связанный с ним приватный ключ) без необходимости предоставлять кому-либо личную информацию.
Во-вторых, транзакции также не привязаны к личности пользователей. Таким образом, если майнеры согласились включить транзакцию в блок, каждый может передавать биткойны с одного адреса на любой другой, без необходимости раскрывать какую-либо личную информацию. Как и в случае с наличными деньгами, даже получателю денег не нужно знать отправителя.
И в-третьих, транзакционная информация Биткойна передаётся случайно выбранными узлами P2P сети. В то время как биткойн-узлы соединяются друг с другом посредством IP-адресов, узлам неизвестно, была ли полученная транзакция создана передавшим информацию узлом, или он её всего лишь перенаправил.
Как раскрывается анонимность?
Существует три основных способа раскрыть личность пользователей Биткойна.
Прежде всего, хотя и транзакции случайным образом передаются через P2P сеть, эта система не полностью герметична. Если злоумышленник, к примеру, имеет возможность подключить несколько узлов к сети Биткойна, собранной ими информации может оказаться достаточно, чтобы определить источник конкретной транзакции.
Во-вторых, биткойн-адрес можно связать с конкретными людьми, если их личная информация была каким-либо образом связана с таким биткойн-адресом. Это включает адреса, использованные для депозитов или снятия денег с регулируемой биржи или кошелька, находящиеся в открытом доступе адреса для пожертвований, или просто адреса, использованные для отправки биткойнов с использованием личной информации (к примеру, платёж в онлайн-магазине).
Но самое главное – все транзакции в сети Биткойна полностью прозрачны для любого интересующегося. Это позволяет связать несколько биткойн-адресов и отнести их к конкретному пользователю. Таким образом, если всего один из этих связанных адресов привязан к определённой личности одним из вышеописанных способов, все адреса будут деанонимизированы.
Что такое кластеризация?
Давайте подробнее изучим кластеризацию.
Самый простой способ кластеризации (связи биткойн-адресов) – это анализ транзакционных сетей. В самом общем случае это означает нахождение нескольких входов, объединённых в одну транзакцию. В то время как эти входы могли произойти от других адресов, сам факт того, что они соединены в одну транзакцию, говорит о том, что все эти входы – и следовательно все связанные с ними адреса – контролируются одним пользователем.
Существует множество способов определения “адресов для сдачи”, что связывает их с отправителем биткойнов. Проще всего это сделать при получении монет: выход, не имеющий отношения к вам, чаще всего (хотя и не всегда) относится к “адресу для сдачи”, контролируемому отправителем. Кроме того существуют некоторые программы, которые позволяют внимательным пользователям отыскать “адреса для сдачи”. К примеру, такие программы могут всегда ставить такие адреса последними выходами в транзакции.
Другой метод кластеризации – это так называемый “анализ распространения”. Такой анализ достаточно прямолинеен и доступен с использованием нескольких свободно доступных диспетчерах блоков. При “анализе распространения” рассчитывается процент биткойнов на конкретном адресе, которые пришли с другого конкретного адреса, и определяется, связаны ли эти адреса одной прямой транзакцией или цепочкой транзакций.
Также существует количественный анализ и временной анализ. Количественный анализ, как предполагает его название, изучает не конкретные транзакции, а конкретные суммы. Временной анализ же отслеживает конкретные временные промежутки. Если, к примеру, один вход равен 2,6539924 биткойнов, а не связанный с ним выход в следующем блоке равен 2,6539924 биткойнов за вычетом комиссии майнерам, это может означать, что оба адреса принадлежат одному лицу, использующему миксер (про это поговорим ниже).
Что можно сделать, чтобы сохранить анонимность?
Анонимность в мире Биткойна всё ещё является объектом “гонки вооружений”. В то время как много усилий прилагается для улучшения анонимности Биткойна, одновременно возникают всё новые способы раскрыть личность пользователей криптовалюты. И хотя описание в этой статье всех потенциальных будущих возможностей усилить безопасность Биткойна не входит в наши планы, существуют некоторые основные способы защитить себя и свои персональные данные в сети Биткойн прямо сейчас.
Одно из таких готовых решений – использование TOR или любых других методов скрытия IP-адреса. Если биткойн-транзакции осуществляются через TOR, не существует никакого способа определить их происхождение (конечно, если в самом TOR нет никаких уязвимостей).
Другой простой способ улучшить безопасность – создание нового адреса для каждой транзакции. В этом случае становится сложнее привязать адреса к конкретному человеку, поскольку для этого как минимум потребуется приложить больше усилий. Всё больше биткойн-кошельков делают это автоматически, используя иерархически-детерминированное (HD) программное обеспечение.
Немного более сложный способ обеспечить безопасность – использование так называемых миксеров. Существует множество видов миксеров, но все они схожи в одном: все использующие миксер пользователи получают биткойны друг друга. Хорошо осуществлённое “перемешивание” биткойнов сильно затрудняет проведение анализа транзакционных сетей, а также “анализа распространения”. Для закрепления успеха “перемешивание” можно делать несколько раз подряд.
Один из примеров миксеров – CoinJoin, который сливает входы и выходы нескольких пользователей в одну транзакцию, разбивая таким образом предположение, что все входы принадлежат одному человеку. Тем не менее CoinJoin не может полностью “очистить” биткойн-адрес от следов, поскольку входы и выходы всё равно остаются в некоторой степени привязанными к нему.
Некоторые другие миксеры могут помочь избавиться ото всех следов, возвращая вам биткойн от абсолютно другого адреса, принадлежащего самому миксеру. Тем не менее, обычно такие миксеры централизованы, и следовательно они знают адреса, принадлежащие своим пользователям.
Для защиты от количественного анализа миксеры могут включать одинаковые суммы в одну транзакцию. В качестве альтернативы миксеры могут также взымать вознаграждение случайного размера, что усложняет поиск связи между отправленными и возвращёнными биткойнами. Возможно также разделить “перемешанную” сумму на несколько частей, ещё сильнее запутывая ищеек, поскольку более мелким суммам проще затеряться в “толпе” транзакций.
Для защиты от временного анализа миксеры могут ожидать в течение некоторого случайно выбранного времени, прежде чем отправить монеты назад; чем больше этот временной промежуток, тем сложнее связать транзакции. Увеличение времени “перемешивания” увеличивает схожесть скрываемых транзакций с обычными транзакциями.
Но в конце концов, безопасность Биткойна зависит от конкретного пользователя и его требований – это не проблема кода. Владельцы биткойнов могут пользоваться определённым уровнем анонимности в зависимости от того, сколько личных данных они раскрывают, какие методы защиты используют, как часто и как много они это делают.