При рассмотрении вопроса о приватности вам нужно подумать о том, от кого именно вы скрываетесь. Вы должны изучить, как гипотетический злоумышленник может шпионить за вами, какая информация наиболее важна для вас и какую технологию необходимо использовать для защиты вашей приватности. Поэтому поведение, необходимое для защиты вашей приватности зависит от вашей модели угроз.
Новички в области приватности часто думают, что они могут просто скачать программное обеспечение, и все их проблемы, связанные с приватностью, будут решены. Это не так. Приватность требует изменений в поведении, какими бы незначительными они ни были. Например, представьте себе, если бы у вас был совершенно приватный интернет, где вы общаетесь с кем-то и все, что вы обсуждаете было бы совершенно приватным. Но вы также можете общаться в социальных сетях, написать свое настоящее имя, загрузить селфи и рассказать о том, что вы делаете прямо сейчас. Любой человек в интернете может просмотреть эту информацию и ваша приватность будет нарушена, даже если вы используете совершенно приватную технологию.
Для более подробной информации прочтите англоязычную лекцию Opsec for Hackers by grugq. В ней в основном речь идет о политических активистах, которым необходима приватность со стороны государства, но многие советы, как правило, применимы ко всем нам.
Метод объединения данных
Многочисленные утечки приватной информации при объединении могут нанести гораздо больший ущерб для приватности, чем любая из таких утечек. Представьте себе, что получатель транзакции пытается деанонимизировать отправителя. Каждая утечка приватной информации исключает возможных кандидатов, которые могли бы быть отправителями, но две объединенные утечки приватной информации позволяют сузить круг, оставив при этом гораздо меньше кандидатов.
Вот почему следует избегать утечек даже небольшого объема информации, поскольку они могут полностью разрушить приватность в сочетании с другими утечками. Возвращаясь к примеру покупателя неанонимной китайской газеты, который был деанонимизирован из-за сочетания информации из транзакции и его адреса в подписи на форуме. Существует множество транзакций в блокчейне, которые сами по себе не раскрывают ничего о личности отправителя или получателя. В подписях на криптовалютных форумах многие используют адреса для пожертвований, которые также не раскрывают личность владельца или информацию о тратах средств, потому что это просто случайная криптографическая информация, которая не хранит в себе ни имен, ни фамилий. Но объединив эти две утечки данных покупатель газеты лишился приватности, что привело к поездке в "места не столь отдаленные". Метод объединения данных очень важен при понимании приватности в сети биткоин (и других ситуациях).
Почему приватность
Финансовая приватность является важным элементом взаимозаменяемости в сети биткоин: если вы можете отличить одну монету от другой, то их взаимозаменяемость слаба. Если на практике взаимозаменяемость слишком слаба, то мы не можем быть децентрализованы: если кто-то важный объявляет список украденных монет, которые не будут приниматься, вы должны будете тщательно проверять монеты, которые вы получаете, ориентируясь на этот список, и вернуть те, которые были украдены. Все застряли, проверяя черные списки, выпущенные различными органами власти, потому что никто не хотел бы оказаться с "грязными" монетами. Это добавляет разногласие и транзакционные издержки и делает биткоин менее ценным в денежном выражении.
Финансовая приватность является важнейшим критерием эффективного функционирования свободного рынка: если вы ведете бизнес, вы не сможете эффективно устанавливать цены, если ваши поставщики и клиенты могут видеть все ваши сделки. Вы не сможете эффективно конкурировать, если ваш конкурент отслеживает ваши продажи. Если у вас нет приватности в отношении ваших счетов, то вы потеряете свой информационный рычаг в личных делах: если вы платите арендодателю в биткоине без необходимой приватности, то он увидит, когда у вас увеличатся доходы и сможет потребовать увеличение арендной платы.
Финансовая приватность важна в целях личной безопасности: если воры видят ваши расходы, доходы и активы, они могут использовать эту информацию против вас. Если нарушить приватность, то злоумышленники будут иметь больше возможностей похитить вас, вырвать дорогие покупки прямо у вас из рук или выдать себя за компании, с которыми вы работаете...
Финансовая приватность также важна в отношении человеческого достоинства: никому не нужна "сопливая" бариста в кафе или шумные соседи, комментирующие свои доходы или привычки тратить деньги. Никто не хочет, чтобы их сумасшедшие тетки спрашивали, зачем они покупают контрацептивы (или сексуальные игрушки). Ваш работодатель не имеет никакого права знать, в какую церковь вы жертвуете деньги. Только в совершенно просвещенном мире, свободном от дискриминации, где никто не обладает чрезмерной властью над кем-либо еще, мы можем сохранить наше достоинство и свободно совершать свои законные сделки без цензуры.
Самое главное, что финансовая приватность не несовместима с такими вещами, как правоохранительные органы или прозрачность. Вы всегда можете вести учет, предоставлять его по требованию (или добровольно) кому угодно, чтобы судьи не действовали против ваших интересов, когда вы не можете предоставить документы (как это происходит сегодня). Все это не требует общедоступных публичных записей.
Общедоступные публичные записи в области финансов совершенно неслыханны. Они нежелательны, и, возможно, неприемлемы. Стандарт биткоина обозначил как бы мы могли обойти открытость бухгалтерского учета с помощью псевдонимов, но экосистема нарушила надежду на это в многих местах, и мы должны это исправить. Биткоин мог бы закодировать ваше имя или IP-адрес в каждой транзакции, но это не было сделано специально. В Белой бумаге даже есть раздел о приватности. Неверно говорить, что биткоин не ориентирован на приватность. Достаточный уровень приватности является необходимым условием жизнеспособной цифровой валюты [2].
Атаки на приватность в блокчейне
Биткоин использует технологию блокчейн. Пользователи могут скачать и проверить блокчейн, чтобы убедиться, что все правила сети биткоин соблюдались на протяжении всей ее истории. Например, пользователи могут проверить, что никто не создавал неограниченное количество биткоинов и что каждая монета была потрачена только с действительной подписью, созданной ее закрытым ключом. Именно это приводит к уникальному предложению биткоина как формы электронных денег, которая требует лишь небольшого доверия. В это же время блокчейн приводит к проблемам приватности, потому что каждая транзакция должна быть доступна для всех и видна всем постоянно. В этом разделе обсуждаются известные методы, которые могут быть использованы злоумышленниками для анализа блокчейна.
Биткоин использует модель UTXO. Транзакции имеют входы и выходы, они могут иметь один или несколько входов и выходов. Предыдущие выходы могут быть использованы в качестве входов для последующих транзакций. Выход, который еще не был использован, называется неизрасходованным выходом транзакции (UTXO). UXTO часто называют "coins" или "монета". UTXO ассоциируются с биткоин адресом и могут быть потрачены путем создания действительной подписи, соответствующей scriptPubKey адреса.
Адреса - это криптографическая информация, по сути случайные числа. Сами по себе, адреса не раскрывают информации о их реальном владельце и кому принадлежат биткоины на них. Обычно злоумышленник пытается связать несколько адресов, которые, по его мнению, принадлежат одному и тому же кошельку. Такие коллекции адресов называются "кластеры" или "кластеры кошельков", а деятельность по их созданию - "кластеризация кошельков". Как только кластеры будут получены, злоумышленник может попытаться связать их с идентичностями лиц, за которыми он хочет шпионить. Например, он может найти кошелек A, принадлежащий Алисе, и другой кошелек B, принадлежащий Бобу. Если видна биткоин транзакция, оплачиваемая из кластера A в кластер B, то злоумышленник знает, что Алиса отправила монеты Бобу.
Может быть очень сложно точно построить эвристику для кластеризации кошельков, что приведет к получению действительно правильной информации [3].
Эвристика собственности общих входов
Это эвристика или предположение, которое гласит, что если сделка имеет более одного входа, то все эти входы принадлежат одному и тому же лицу.
Рассмотрим, например, эту транзакцию с входами A, B и C; и выходами X и Y.
A (1 BTC) --> X (4 BTC)
B (2 BTC) Y (2 BTC)
C (3 BTC)
Эта транзакция будет свидетельствовать о том, что адреса B и C принадлежат одному и тому же лицу, которому также принадлежит и адрес A.
Одна из целей технологии CoinJoin - нарушить эту эвристику. Тем не менее, эта эвристика очень часто верна и широко используется компаниями по надзору за транзакциями начиная с 2019 года. Такая эвристика обычно сочетается с рассуждениями о повторном использовании адреса, что вместе с несколько централизованной экономикой биткоин с 2018 года является причиной того, почему эта эвристика может быть неоправданно эффективной [4]. Успех эвристики также зависит от поведения кошелька: например, если кошелек обычно получает небольшие суммы и отправляет большие суммы, то он создает много транзакций с несколькими входами.