Приватность в сети Биткоин

Перевод статьи, опубликованной на сайте Bitcoin Wiki, подготовлен биткоинером Tony ₿


В силу объема материала, русская версия будет пополняться постепенно, а оповещения о пополнении материала можно получать на нашем канале.

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


По состоянию на 2019 год большинство биткоин-энтузиастов считали, что он с легкостью отслеживается; это заявление некорректно. Где-то в 2011 году большинство энтузиастов считали, что Биткоин абсолютно приватен, что также не соответствует реальности. Есть определенные нюансы — в определенных ситуациях Биткоин все же может быть приватным. Но это непросто понять, и от вас потребуется как время, так и целеустремленность.


Эта статья была написана в феврале 2019 года. 


Хороший способ прочитать статью — это обратиться к примерам, а затем вернуться к основным понятиям.

Краткая информация

С целью экономии вашего времени, предлагаю краткое описание того, как обычные пользователи Биткоин-протокола могут улучшить собственную приватность:


  • Подумайте о том, от чего вы скрываетесь, какова ваша модель угрозы и кем является ваш недоброжелатель. Обратите внимание, что существуют компании, отслеживающие транзакции, которые осуществляют крупномасштабное наблюдение за экосистемой Биткоина.

  • Не используйте адреса повторно. Адреса должны быть показаны одному из субъектов с целью получения средств. После того, как средства оказались на адресе, использовать в его качестве адреса получателя не стоит больше никогда.

  • Старайтесь раскрывать как можно меньше информации о себе при совершении сделок, например, избегайте проверок AML/KYC и будьте осторожны при предоставлении реального почтового адреса.

  • Используйте кошелек, подкрепленный вашей собственной полной нодой или фильтром со стороны клиента и определенно не веб-кошелек.

  • Передавайте ончейн транзакции через Tor. Если ваш кошелек его не поддерживает, то скопируйте и вставьте транзакцию в гекс коде  в форму веб-трансляции через браузер Tor.

  • Как можно чаще используйте сеть лайтнинг.

  • Если сеть лайтнинг недоступна, используйте кошелек, который должным образом реализует CoinJoin.
  • Старайтесь избегать создания адресов для получения сдачи, например, при финансировании канала лайтнинг, стремитесь отправлять на канал весть UTXO целиком, не требуя сдачи (предполагая, что сумма не слишком велика).
  • Если, так называемая, цифровая криминалистика вызывает беспокойство, используйте такое решение, как операционная система Tails Operating System.

Введение

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


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

Транзакции в сети Биткоин являются крайне публичными

Связь между адресами, проводимая посредством отслеживания транзакций, часто называется графиком транзакций. Сама по себе эта информация не может никого идентифицировать, потому что адреса и ID (номера) транзакций — всего лишь случайные числа. Однако, если одна из транзакций в истории адреса может быть связана с определенной личностью, то, основываясь на этих данных, можно определить кому принадлежат все остальные адреса. Подобная идентификация адреса может быть получена в результате анализа сети, наблюдения, или с помощью многих других методов. Поощряется практика использования нового адреса для каждой операции. Она призвана затруднить исполнение данной атаки.

Пример - Злоумышленник контролирует источник и пункт назначения монет

Выяснив принадлежность одного адреса, можно произвести атаку на транзакции

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


  • Сделка с монетами с адреса А на адрес Б. Авторизована <подпись адреса А>.

  • Транзакция монет с адресу Б на адрес С. Авторизована <подпись адреса Б>.


Скажем, что злоумышленнику известно, что на банковский счет мистера Доу была выслана государственная валюта, которая была использована для покупки монет, которые затем были переведены на адрес Б. Противник также знает, что на сайт ловушки поступили монеты, отправленные с адреса Б на адрес С. В совокупности это в большинстве случаев свидетельствует о том, что адрес Б принадлежит господину Доу, и что он отправил деньги на сайт ловушки. Это предположение не всегда верно, потому что адрес Б мог быть адресом, принадлежащим третьему лицу от имени г-на Доу, и сделка с C могла быть несвязанной, или в эти сделки может быть вовлечен смарт-контракт (см. "Офчейн-транзакции"), который фактически “телепортирует” монеты вне цепочки по совершенно другому адресу где-то на блокчейне.

Пример — покупка китайских газет (потеря анонимности)

В этом примере злоумышленник контролирует пункт назначения и находит источник путем анализа метаданных.


  1. Вы живете в Китае и хотите купить онлайн-газету за биткоины.

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

  3. К сожалению, ваш выбор продавца при покупке газеты оказывается неудачным и вы покупаете ее у правительственного агента!

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

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


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

Пример — абсолютно приватное пожертвование

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


  1. Цель заключается в том, чтобы сделать пожертвование организации, которая принимает биткоины.

  2. Вы используете кошелек Bitcoin Core полностью через Tor.

  3. Загрузите несколько дополнительных сотен гигабайт данных через Tor, чтобы общий объем загруженных файлов не соответствовал размеру блокчейна.

  4. Самостоятельно добудьте Биткоин-блок и отправьте только что добытые монеты на свой кошелек.

  5. Отправьте весь остаток на адрес для пожертвований этой организации.

  6. В итоге уничтожьте использованное компьютерное оборудование.


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

Многочисленные интерпретации блокчейн-транзакции

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


Рассмотрим следующий пример транзакции:


1 btc ----> 1 btc 

3 btc ----> 3 btc


Эта операция имеет два входа, стоимостью в 1 btc и 3 btc, и создает два выхода также стоимостью в 1 btc и 3 btc.


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


Существует, по крайней мере, девять возможных интерпретаций:


  1. Элис предоставляет оба входа и платит Бобу 3 btc. Элис принадлежит вывод 1 btc (т.е. это вывод со сдачей).

  2. Элис предоставляет оба входа и платит Бобу 1 btc, при этом 3 btc возвращаются Элис в качестве сдачи.

  3. Элис предоставляет вход, равный 1 btc, а Боб — 3 btc, Элис получает выход в 1 btc и Боб получает 3 btc. Это своего рода операция CoinJoin.

  4. Элис платит Бобу 2 btc. Элис вводит 3 btc, получает 1 btc в качестве сдачи, Боб вводит 1 btc и получает 3 btc. Это разновидность транзакции PayJoin.

  5. Элис платит Бобу 4 btc (но по какой-то причине использует два выхода).

  6. Фальшивая сделка - Элис владеет всеми входами и выходами и просто перемещает монеты между своими адресами.

  7. Элис платит Бобу 3 btc и Кэрол 1 btc. Это сгруппированная транзакция, избегающая сдачу (остаток).

  8. Элис платит 3 btc, Боб платит 1 btc; Кэрол получает 3 btc и Дэвид получает 1 btc. Это разновидность транзакции, комбинирующая процесс CoinJoin со сгруппированной транзакцией, избегающей сдачу (остаток).

  9. Элис и Боб платят Кэрол 4 btc (но с помощью двух выходов).

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


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


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

Модель угрозы

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


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


Подробней об этом в докладе "Opsec for Hackers for grugq". Эссе в основном ориентировано на политических активистов, для которых приватность является необходимостью, но большинство советов применимы к каждому из нас.


В большинстве случаев правдоподобного отрицания (отсутствия доказательства причастности) недостаточно, потому что от многих шпионских методов не требуется функционирования вне статистических уровней (например, целевая реклама).

Метод слияния данных

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

в совокупности могут нанести гораздо больший ущерб приватности

Совокупность многочисленных утечек приватной информации может нанести гораздо больший ущерб, чем единоразовая утечка. Представьте, что участник, получающий транзакцию пытается деанонимизировать отправителя. Каждая утечка информации по отдельности устранит множество кандидатов на роль отправителя, в то время, как две (или более) утечки в совокупности устранят разных претендентов, оставив гораздо меньше кандидатов на роль отправителя. (см. диаграмму)

Диаграмма слияния данных на примере покупателя газеты

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

Почему приватность

Финансовая приватность является существенной составляющей взаимозаменяемости биткоинов: если вы можете с уверенностью отличить одну монету от другой, то их взаимозаменяемость будет слабой. Если взаимозаменяемость на практике не является достаточной, то сеть не может быть децентрализованной: если один из авторитетных участников сети предоставит на всеобщее обозрение список украденных монет, которые он впредь отказывается принимать, то вам придется тщательно проверять принимаемые вами монеты на соответствие этому списку и отклонять те, которые ему не соответствуют. Все вдруг становятся заняты проверкой черных списков, опубликованных различными органами, потому что в этом мире никто не хочет остаться с “запятнанными” монетами. Это приводит к трениям и транзакционным издержкам и делает биткоин менее ценным в качестве денег.


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


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


Финансовая приватность имеет большое значение для человеческого достоинства: никто не хочет, чтобы сопливый бариста в кафе или любопытный сосед комментировал их доходы или привычки тратить деньги. Никто не хочет, чтобы их сумасшедшие родственники спрашивали, почему они покупают контрацептивы (или секс-игрушки). Информация о том, какой церкви вы пересылаете пожертвования, не должна волновать вашего работодателя. Только в совершенно просвещенном мире, свободном от дискриминации, где никто не имеет ненадлежащей власти над кем-либо другим, мы можем сохранить свое достоинство и свободно совершать законные сделки, без самоцензуры и не переживая о приватности. К сожалению наш мир таковым не является.


А главное, финансовая приватность не является несовместимой с такими вещами, как правоприменение и прозрачность. Вы можете хранить записи, получить запрос (или добровольно) предоставить их кому бы то ни было, получить повестку в суд если вы откажетесь их предъявить (как это и происходит сегодня). Ничего из этого не требует доступных на глобальном уровне общественных записей.


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

Достаточная приватность является важной предпосылкой для жизнеспособной цифровой валюты.

Блокчейн атаки на приватность

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

Не пропусти новые публикации

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