В серии недавних записей в своем блоге на Medium nopara73 рассказал о методах отслеживания транзакций в сети биткоина, стратегиях, которые используют компании по безопасности, и способах уйти от их внимания. Также создатель Hidden Wallet предположил, как новые решения, над которыми работают разработчики, могут повысить анонимность пользователей.
ForkLog приводит адаптированный перевод рассуждений разработчика.
По состоянию на февраль 2018 года путь к анонимному биткоину стал, наконец, понятен. И если высокий уровень анонимности сам по себе был уже достижим, стратегий, которые бы позволяли его реализовать удобным и недорогим способом, не было. Однако в 2017 году появились новые технологии, которые делают это возможным. Более того, можно считать лишь вопросом времени наступление момента, когда анонимные транзакции станут более дешевыми, чем прозрачные транзакции.
Стратегии деанонимизации
Компании, которые работают над деанонимизацией пользователей биткоина, применяют две стратегии:
Анализ сети
Анализ блокчейна
Анализ сети
Трансляция приватных транзакций
Трансляция транзакций приватным образом весьма непроста. Сегодня заботящийся о своей приватности разработчик может использовать анонимные сети, например, Tor. Но в январе 2017 года был представлен проект Dandelion, который предлагает механизм трансляции приватных транзакций, устраняя зависимость от анонимной сети.
Извлечение приватных транзакций
Вам необходимо знать, сколько у вас есть денег. Для этого вам необходимо об этом кого-то спросить. Но если вы кого-то спрашиваете о том, сколько у вас денег, этот человек также будет знать, сколько у вас денег. Вы скажете, что можно об этом спросить через Tor и проблема будет решена? Нет. В вашем кошельке много биткоин-адресов, и если вы кого-то спросите, сколько денег на этих адресах, эта третья сторона будет знать, что эти адреса принадлежат одному и тому же человеку.
Может показаться, что единственный способ избежать такой линковки адресов – установить собственную полную ноду. Нода загружает все транзакции, которые когда-либо были осуществлены в сети биткоина, после чего локально подсчитывает балансы. Поскольку вы запрашиваете все транзакции, никто не знает, какие именно транзакции вас интересуют.
Однако управление полной нодой – также далекий от удобства процесс. Нужно подождать несколько дней или даже недель, прежде чем блокчейн будет синхронизирован и вы сможете пользоваться кошельком. Почему бы не начать синхронизацию с момента создания кошелька? Так и родилась идея полного SPV-кошелька, над имплементацией которой работают такие проекты, как Bitcoin Core PR Йонаса Шнелли, Breeze Wallet от команды Stratis и я со своим Hidden Wallet.
Однако и это по-прежнему неудобно, в том числе при работе на мобильных телефонах. Если такой кошелек не включать в течение недели, перед началом работы будет необходимо загрузить 1008 блоков, то есть порядка 1-4 Гб данных.
В июне 2017 года на помощь пришли исследователи Lightning Labs, представив предложение по улучшению биткоина Compact Client Side Filtering for Light Clients (компактная фильтрация на стороне клиента для легких клиентов). Также они разработали необходимую имплементацию под названием Neutrino.
Суть ее работы в следующем: каждая полная нода также содержит небольшую таблицу индексов, отправляемых легкому клиенту. После того как легкий клиент принял эти индексы, они могут определить, в каких именно блоках присутствуют необходимые транзакции. В итоге эти индексы запрашивают только нужные им блоки. Именно над имплементацией этого решения в Hidden Wallet я сейчас и работаю.
Анализ блокчейна
В 2013 году Грегори Максвелл представил CoinJoin, метод, при котором многочисленные участники добавляют входы и выходы к общей транзакции, запутывая тем самым таблицу транзакций. Еще более сильный вариант предлагает регистрация участников в CoinJoin с одинаковыми суммами. Таким образом невозможно определить, от какого входа какому были переданы средства.
Источник -
https://forklog.com/sozdatel-hidden-wallet-o-problemah-anonimnosti-bitkoina-i-konfidentsialnyh-tranzaktsij/