Проблемы персонификации биткойна и анонимных транзакций: взгляд разработчика Hidden Wallet
Участник команды Hidden Wallet регулярно высказывается на Medium в личном блоге под ником nopara73. Он рассуждает об инструментах наблюдения за операциями в биткойн-сетях, способах обеспечения безопасности пользовательских данных и активов, а также о методах криптомошенников.Nopara73 смотрит и на перспективу, предполагая, как современные находки разработчиков могут гарантировать анонимность пользователя.
Мы перевели для вас самые интересные рассуждения разработчика Hidden Wallet.
Сегодня процесс достижения биткойном анонимности относительно ясен. Анонимность на высоком уровне уже вполне реально, но удобных и недорогих путей ее достижения пока что нет. Но прошлый год ознаменовался появлением новых технологий. Теперь реализация анонимных транзакций – это лишь вопрос времени.
Каким путем можно добиться деанонимизации
Команды, которые занимаются деанонимизацией держателей биткойнов, пользуютсядвумя стратегиями:
- анализируют сеть;
- анализируют блокчейн.
Как производиться анализ сети
Механизм трансляции приватных финансовых операций
Транслировать транзакции приватным путем не так легко. Сейчас тот, кто заботиться о собственной приватности, может воспользоваться приватной сетью вроде Tor. А чуть больше года назад в свет вышел проект Dandelion. Согласно ему, можно транслировать приватные транзакции вне зависимости от анонимных сетей.
Как извлекаются приватные транзакции
Вы хотите узнать, сколько имеете средств на балансе. Но спросив кого-то об этом, вы сообщаете ему, сколько имеете денег.
«Так можно это сделать через приложение вроде Tor», – скажете вы.
Но, нет. У вас в кошельке хранятся данные о многих биткойн-адресах. И если вы спросите, сколько средств там хранится, то кто-то узнает, что все эти адреса принадлежат вам.
Кто-то может увидеть выход в установке собственной полной ноды. Сервис загружает все операции, когда-либо совершенные в биткойн-сети, а потом уже локально суммирует баланс. Получается, запрос идет на все операции, но третьей стороне не известно, какие из них интересны именно вам.
Но управлять собственной нодой не так просто. Порой вы ждете синхронизации блокчейна с кошельком дни и даже недели. Поэтому у разработчиков возникла мысль, а что если синхронизировать кошелек с блокчейном с самого его создания? Таким образом появилась идея создания полноценного SPV-кошелька. Сейчас реализацией этой идеи занимаются команды разработчиков из Bitcoin Core PR, Breeze Wallet и, конечно, Hidden Wallet.
Но и сейчас процесс синхронизации далек от совершенства. Стоит вам не запускать кошелек неделю – по включению вам предстоит загрузка 1008 блоков. Это эквивалентно 1-4 Гб информации.
В июне прошлого года команда исследователей Lightning Labs, предложила улучшить биткойн с помощью Compact Client Side Filtering for Light Clients. Кроме того, ими было разработано, носящее название Neutrino.
Суть Neutrino: в каждой полноценной ноде содержится небольшая таблицас индексами, которые отправляются пользователю. Он принимает индексы, и тогда может видеть, где в блоках содержатся интересующие его операции. В результате посредством индексов поступает запрос лишь на необходимы блоки операций. Над реализацией такого способа сохранения анонимности я и тружусь сейчас в Hidden Wallet.
Как анализировать блокчейн
Пять лет назад Грегори Максвеллом был представлен метод CoinJoin. Его суть состоит в том, что участники сети прибавляют выход и вход к общей финансовой операции. Так таблица транзакций становится запутанной. Еще один способ обмануть учет транзакций в рамках CoinJoin – регистрировать своих пользователей с одними и теми же суммами. Благодаря этому определение конкретных входов, с которых передавались средства, становится практически невозможным.
Через год после CoinJoin появилась похожая модель CoinShuffle, а спустя 12 месяцев представили ее интегрированную версию CoinShuffle++. Последняя модель основана на раундах. Предположим, вы имеете 9 биткойнов. Чтобы поучаствовать в одном раунде, вы тратите 1 биткойн. То есть вы принимаете участие в раундах 9 раз. Следовательно, комиссию за проведение транзакций с вас возьмут тоже 9 раз.
Но комиссия – это далеко не самый неприятный момент. Когда исследователи развернут изучение цепей операций, пользователи CoinJoin тоже могут быть деанонимизированы. Чтобы этого избежать, нужно наличие специального кошелька, в котором будет реализован контроль приватности монет. Чтобы прийти к этому, в минувшем году нами было разработано и реализовано решение ZeroLink, в котором мы развили идею Максвелла под названием CoinJoin.
На эту тему я могу разговаривать бесконечно, но нужно ли… Ведь ключевая сложность в сохранении анонимности – это суммы совершаемых операций. Именно по ним можно деанонимизировать пользователя.
Сейчас я поведу речь о конфиденциальных транзакциях. Они решают проблему с суммами переводимых средств, меняя значение выхода «обязательством Педерсена». Сложность заключается в огромной величине этих обязательств. То есть чем больше вы переводите или принимаете, тем больше заплатите за конфиденциальность. Поэтому внедрение конфиденциальных транзакций в сеть биткойн мало вероятна из-за дороговизны их проведения. По крайне мере сейчас. Ведь даже для их реализации нужен этакий гибрид моделей CoinShuffle и ZeroLink. Без такого комплексного решения комиссии с операций попросту не могут быть адекватными.
Но в конце прошлого года миру явили технологию Bulletproofs. Это дополненная версия конфиденциальных транзакций. Она уменьшает величину обязательств с астрономических значений до просто больших. Это достигается благодаря тому, что с увеличением выходов конфиденциальных транзакций, сама транзакция линейно не увеличивается. Это особенно идет на пользу модели CoinJoin.
Конфиденциальные транзакции вполне применимы в CoinShuffle и ZeroLink. Благодаря ним системы упрощаются, а их пользователи перестают испытывать многие ограничения. Нынешняя версия CoinShuffle, которая поддерживает конфиденциальные транзакции, носит название ValueShuffle.
Но я хочу вас еще обрадовать! Совсем скоро в биткойн-сети придет другая технология – подписи Шнорра. Сейчас, если операции CoinJoin имеютсто выходов, онинуждаются в ста подписях.Подпись Шнорра позволит ограничится одной. Благодаря этому проведение операций в CoinJoin подешевеет в равнении с обычными транзакциями на 30-40%.
Заключение
Микс CoinJoin и других высокоанонимных моделей делаетоперации на треть дешевле в сравнении с традиционными «прозрачными» биткойн-транзакциями.
Но все же nopara 73 дальше рассуждает о проблеме реализации Confidential Transactions/Bulletproofs:
«Конфиденциальные транзакции пока похожи на слона в посудной лавке. Я все же должен заключить, что сейчас конфиденциальные транзакции не могут быть интегрированы в биткойн-сеть. Потому что Bulletproofs уязвима к атакам хакеров. Они могут получить доступ кпредположению дискретного логарифмирования. А там генерация «пустых монет» – это дело техники. Так посторонние заинтересованные лица могут устроить «бешеные скачки» курса биткойна. И его разработчики на это точно не пойдут.
Но мне кажется, что при нынешних темпах развития технологий гола через три, самое большее через десять лет, мы придем к эффективному решению по внедрению конфиденциальных транзакций в биткойн-сеть.
Комментарии