Перевод статьи Эрик Уолла, главного инвестиционного директора в Arcane Assets.
Предыдущая статья направлена на то, чтобы дать пользователю общее представление об уровне анонимности в сети биткоина. Эта статья носит более практичный характер и знакомит с приложениями, которые мы используем для отправки и получения монет ― биткоин-кошельками.
На момент написания статьи сайт bitcoin.org содержит, пожалуй, самый актуальный и объективный список биткоин-кошельков. В целом, этот веб-сайт является хорошей отправной точкой для любого пользователя биткоина.
Имейте в виду, что, несмотря на то, что bitcoin.org стремится предоставлять максимально объективную информацию, все веб-сайты по сути подчиняются централизованному контролю, и их контент может быть скомпрометирован в любое время. Всегда будьте особенно внимательны в процессе установки ПО биткоина ― старайтесь убедиться в том, что вы загружаете «правильное» ПО.
Ниже приведены два метода, которые вы можете использовать, чтобы избежать этого. «Расширенный» вариант предоставляет вам гораздо лучшие гарантии безопасности; «простой» вариант по-прежнему лучше, чем отсутствие каких-либо дополнительных действий.
- Просто вариант: при загрузке приложения кошелька с веб-сайта всегда старайтесь убедиться в том, что вы были перенаправлены на нужный домен.
- Расширенный вариант: подготовленные установочные файлы для ПО часто называют «бинарниками» (двоичными файлами). Эти бинарники часто подписываются ключами PGP от одного или нескольких разработчиков проекта. Примеры: инструкции по загрузке Bitcoin Core, инструкции по загрузке Electrum. (Простой способ проверки подписи PGP в программном обеспечении биткоина).
Оценка конфиденциальности
Для каждого кошелька на bitcoin.org в настоящее время существует четыре различных уровня конфиденциальности: повышенная, базовая, слабая и вариативная.
Чтобы получить повышенный уровень конфиденциальности, кошелек должен использовать новый адрес для каждой транзакции, при получении или отправке платежей избегать раскрытия информации о пользователе и быть совместимым с Tor.
Из первой статьи мы знаем, что, хотя описанные здесь качества кошелька определенно повышают шансы на сохранение анонимности, их не следует рассматривать в качестве абсолютной защиты. Например, если вы используете кошелек для получения биткоинов, а затем однажды решите отправить свой полный баланс на новый кошелек, эвристика входов с общим владельцем позволит блокчейн-аналитику связать все адреса, которые вы использовали.
Два кошелька в категории «повышенная конфиденциальность» ― Bitcoin Core и Wasabi Wallet ― способны гарантировать, что вышеуказанного связывания транзакций не произойдет. С Bitcoin Core вы можете использовать функцию управления монетами, чтобы вручную отправлять по одному выходу в отдельных транзакциях и постоянно следить за тем, чтобы ваши адреса никогда не смешивались на последующих этапах. В Wasabi также доступна эта функция, но этот кошелек также дает вам возможность отправить ваши монеты через CoinJoin-транзакцию, где упомянутая в предыдущей статье техника кластеризации становится неприменимой или неточной.
По сути, вам следует рассматривать характеристику «повышенная конфиденциальность» как базовую для любого биткоин-кошелька. Вот полный список кошельков в категории «повышенная конфиденциальность»:
- Armory (Linux, Mac, Windows);
- Wasabi Wallet (Linux, Mac, Windows);
- mSIGNA (Linux, Mac, Windows);
- Bitcoin Core (Linux, Mac, Windows);
- Bitcoin Knots (Linux, Mac, Windows).
В идеальном мире мы могли бы сосредоточиться исключительно на функциях конфиденциальности кошельков и оставить все аспекты безопасности вне рамок этой статьи. В действительности, однако, проблемы безопасности и конфиденциальности неразрывно связаны между собой. Без безопасности нет конфиденциальности ― хотя большинство эксплойтов для криптокошельков сегодня направлены на кражу монет, они также могут использоваться для получения конфиденциальной информации о пользователе.
Тогда возникает вопрос: как пользователь, заинтересованный в конфиденциальности, должен смотреть на вопрос безопасности при принятии решения о том, какой кошелек использовать? Как мы можем знать, какие проекты будут иметь хорошие методы обеспечения безопасности, а каких следует избегать? В мире открытого ПО мы можем положиться на одно эмпирическое правило: чем больше компетентных глаз смотрело на код, тем более безопасным он может быть. Вот слова Брюса Шнайера по этой теме (1999):
Во-первых, простая публикация кода не обязательно говорит о том, что люди будут проверять его на наличие уязвимостей. Исследователи безопасности ― непостоянные и занятые люди. У них нет времени для изучения каждого фрагмента исходного кода, который публикуется. Поэтому, хотя открытый код ― это хорошая вещь, это не гарантия безопасности. Я мог бы назвать дюжину библиотек с открытым кодом, о которых никто никогда не слышал и никогда не оценивал. С другой стороны, код в Linux рассматривался многими очень хорошими специалистами по безопасности.
Нет оснований полагать, что открытый исходный код на момент написания более безопасен, чем закрытый. Смысл в том, чтобы как можно больше людей оценивали открытый код на предмет наличия уязвимостей. Быстро. Затем они должны быть исправлены. Таким образом, двухлетняя часть открытого исходного кода, вероятно, будет иметь гораздо меньше уязвимостей безопасности, чем проприетарный код, ― просто потому, что очень много из них было найдено и исправлено за это время. Недостатки безопасности также будут обнаружены и в проприетарном коде, но на это уйдет больше времени.
Поскольку эти слова сегодня так же актуальны, как и два десятилетия назад, мы сталкиваемся с дилеммой: если конфиденциальность и безопасность неразрывно связаны друг с другом, означает ли это, что такой кошелек как Wasabi (который имеет более продвинутые функции по повышению анонимности, но гораздо менее проверенную кодовую базу, чем у Bitcoin Core) может иметь нетривиальные риски для конфиденциальности пользователя?
Разработчик биткоина Питер Тодд так высказался по этому вопросу: «В целом, я могу сказать, что Bitcoin Core прошел очень тщательный аудит, и по этой причине он, вероятно, более надежен, чем большинство. Но это только один из многих факторов. Я больше обращаю внимание на процесс разработки, стандарты и то, какие у них есть стимулы. Поэтому меня меньше волнуют такие вещи в Wasabi, потому что цели проекта кажутся хорошими, а функции, обеспечивающие конфиденциальность, могут быть в целом улучшены. Для холодного хранения я использую Bitcoin Core на отдельном компьютере, чтобы минимизировать зависимости».
Инструментам, специально разработанным для ухода от слежки, определенные организации уделяют особое внимание. Например, известно, что АНБ в прошлом разрабатывало honeypot в виде инструментов конфиденциальности для пользователей биткоина.
Как итог: да, такие кошельки, как Wasabi Wallet, подвержены большему риску нарушения безопасности и связанными с этим рисками конфиденциальности по сравнению с Bitcoin Core, но, в конечном итоге, необходимо сопоставлять эти риски и практичность. Например, запуск Wasabi Wallet поверх Tor работает без каких-либо настроек, в то время как пользователь, желающий сделать то же самое в Bitcoin Core, должен выполнить дополнительную настройку.
Никто не хочет рекомендовать кому-либо соглашаться на более слабую безопасность (относительно той, которая теоретически доступна), когда речь идет о чем-то столь важном, как конфиденциальность и финансовая независимость, но мы также должны быть реалистами в отношении того, насколько сложные операции с ПО сможет или захочет выполнять пользователь.
Разные рекомендации для разных ситуаций
- Хранение сбережений в биткоине
Чтобы хранить деньги на биткоин-кошельке, вам нужно где-то взять BTC ― купить на криптобирже или получить от другого пользователя биткоина. В последней части этой серии мы рассмотрим платформы и методы для конфиденциальной покупки биткоина (что само по себе является сложной задачей), но в этом сценарии мы предположим, что метод уже выбран.
В таком случае вам нужно только позаботиться о приеме биткоинов, так как именно ваш контрагент передает биткоин-транзакцию в блокчейн. Ваша ответственность будет состоять в том, чтобы предоставить адрес и убедиться, что монеты были доставлены надежно. В этом случае безопасность имеет первостепенное значение.
Существует множество способов сделать это и правильность выбора зависит от желаемой степени безопасности и конфиденциальности. Вы можете сгенерировать адрес на bitaddress.org и подождать подтверждения транзакции, используя обозреватель, но тогда вам нужно поверить, что bitaddress.org не был скомпрометирован. Если вы не анонимизируете происхождение своего IP-адреса с помощью Tor, вы свяжите ваш IP-адрес с этим конкретным биткоин-адресом при поиске в обозревателе блоков, и вам также нужно будет доверять этому обозревателю (в том, что он предоставляет вам правильную информацию).
В идеале вы должны запустить полную ноду Bitcoin Core на компьютере, если у вас есть такая возможность (инструкции). Это позволит вам сгенерировать адрес и безопасно проверить, что биткоин получены (без поиска вашего адреса в обозревателе блоков). Требования к памяти в настоящее время составляют ~200 ГБ, но их можно «сократить» и данные блокчейна не будут превышать 4 ГБ. Мы рекомендуем сделать это на свежеустановленной Ubuntu.
Возможным дополнением к этому (чтобы избежать рисков, связанных с хранением ваших закрытых ключей на подключенном к интернету компьютере) может стать создание адреса на аппаратном устройстве. Совместимость аппаратного устройства с Bitcoin Core появилась в версии 0.18.0. В категории аппаратных устройств у биткоин-разработчика Джеймсона Лоппа есть две рекомендации: Trezor или Ledger Nano S.
Если вы не можете запустить полную ноду, альтернативным подходом может быть поиск вашего адреса в нескольких разных обозревателях блоков через браузер Tor. Убедившись в том, что монеты получены, вам необходимо создать резервную копию своего кошелька, чтобы впоследствии вы могли восстановить доступ к своим биткоинам, где бы вы ни находились. Преимущество аппаратных устройств состоит в том, что они совместимы с BIP39 и позволяют вам восстановить доступ к биткоинам через простое запоминание 12 английских слов.
После того, как вы получили биткоины, у вас все еще есть одна потенциальная проблема: отправитель по-прежнему знает, что вы получили эти монеты, и может отслеживать адрес в блокчейне. В идеале нам бы хотелось, чтобы никто, кроме нас самих, не знал статус этих монет. Одним из методов может быть простая отправка монет самому себе. Идея проста ― если вы отправите монеты на другой адрес, который вы контролируете, то первоначальный отправитель больше не будет уверен в том, что вы все еще контролируете эти средства.
- Конфиденциально получать донаты в биткоине и конвертировать их в местную валюту
Для этого сценария мы собираемся внести два важных изменения в ситуацию выше. Во-первых, нам нужно получать транзакции регулярно, поэтому в идеале у нас должен быть какой-то способ скрыть совокупные суммы того, что мы получаем. Во-вторых, мы будем регулярно конвертировать эти биткоины в местную валюту, отправляя их какой-то организации.
Мы анализируем три различных пути для достижения этой цели:
- Использование программного обеспечения, которое генерирует новый адрес для донатов каждому посетителю (BTCPay Server);
- Повторно используемых кодов оплаты BIP47, чтобы отправитель мог создать новый адрес для пожертвования на своей стороне (PayNym.is);
- Одного адреса для донатов.
Каждый из этих методов имеет свои преимущества и недостатки.
Вы можете настроить пользовательскую генерацию адресов на BTCPay (zpub) ― это позволит получать пожертвования непосредственно на кошелек Wasabi для дальшейшего микширования в CoinJoin-транзакции. Однако CoinJoin в настоящее время доступны пользователям, смешивающим как минимум 0,10 биткоинов. Кроме того, Wasabi взимает комиссию за эту услугу. Более доступной альтернативой может быть JoinMarket, но его намного сложнее использовать. Традиционные микшеры не рекомендуются, потому что конфиденциальность, которую они обеспечивают, требует доверия к третьей стороне и подвергает ваши монеты риску кражи.
Многоразовые коды оплаты BIP47 являются, пожалуй, самым элегантным методом, но в настоящее время эта функция поддерживается всего несколькими кошельками. Кроме того, это мобильные кошельки, а это значит, что ваши адреса видят серверы (Разработчики мобильного кошелька Samourai предлагают использовать приложение с их реализацией полной ноды под названием Dojo).
Даже если вы используете кошелек Wasabi и смешиваете монеты, которые вы получаете на один адрес, каждый все равно сможет сказать, сколько монет вы получили по этому адресу (независимо от того, что вы делаете с ними после).
В мире экономики нет «решений», есть только компромиссы. ― Томас Соуэлл
Идеального варианта нет. Однако множество вариантов, по крайней мере, даст нам возможность выбрать лучший копромисс. Возможно, ваша личность уже известна, но вы не хотите, чтобы каждый мог просматривать полученные вами донаты ― тогда BTCPay Server является приемлемым решением. Однако, если ваша работа противоречива и вы рискуете раскрыть свою личность через IP-адрес, это недопустимо. В этом случае лучше получать пожертвования на статический адрес. Да, вы будете раскрывать все транзакции с пожертвованиями широкой публике, но если никто не знает, кто вы, то, возможно, это ещё не конец света. Вы можете попытаться регулярно менять адреса депозитов и таким образом ограничить раскрытие этой информации.
- Онлайн-покупки с помощью биткоина
Возможность осуществлять транзакции в интернете без платежной компании, которая собирает наши персональные данные, является одной из причин, по которой был создан биткоин. Однако сбор аналитических данных на веб-сайтах может помочь раскрыть вас через IP-адрес, отпечаток браузера или файлы cookie. Вы можете предотвратить это, используя браузер Tor для онлайн-покупок, которые вы хотите сохранить в тайне.
В ближайшие годы все больше и больше магазинов начнут принимать платежи через Lightning Network. Как уже говорилось в первой статье, у Lightning есть много преимуществ в отношении конфиденциальности по сравнению с обычными биткоин-транзакциями. Для таких транзакций вы можете использовать десктопное приложение Lightning App ― оно разработано на Lightning Network Daemon (lnd), который вы можете настроить для работы через Tor.
Несмотря на то, что Lightning-платежи не транслируются публично, и получатель платежа не может знать, с какого канала изначально поступил платеж, считается хорошей привычкой (в плане конфиденциальности) скрыть следы в блокчейне с помощью микширования, или отправить транзакцию самому себе перед финансированием Lightning-канала.
Еще одна технология, на которую стоит обратить внимание, ― это сайдчейны, которые позволяют совершать биткоин-транзакции с более высоким уровнем конфиденциальности по сравнению с транзакциями в основной сети. Например, сайдчейн Liquid уже сегодня поддерживает конфиденциальные транзакции.
- Офлайн-покупки с помощью биткоина
Для офлайн-покупок наличные все еще являются хорошим вариантом в плане анонимности. Но по многим причинам не каждому может быть удобно хранить свои деньги в физической валюте (например, людям, которые страдают от гиперинфляции в своей стране).
При совершении таких покупок мы, как правило, ограничены своим смартфоном. На bitcoin.org в настоящее время нет мобильных кошельков в категории «повышенная конфиденциальность». Это связано с тем, что мобильные кошельки транслируют транзакции на внешние серверы, которые знают IP и биткоин-адреса пользователей.
Есть несколько способов обойти это и в ближайшие годы, вероятно, появится больше решений. Лучшее текущее решение ― использовать мобильный кошелек, который можно подключать к своей ноде. Эту функцию поддерживают следующие кошельки:
- Bitcoin Wallet для Android (также известный как «кошелек Шильдбаха»);
- BRD для iOS;
- Green для iOS и Android.
В категории мобильных кошельков Джеймсон Лопп рекомендует Green для iOS от Blockstream и Samourai для Android. В настоящее время Green отсутствует в списке на bitcoin.org, поскольку он не предоставляет пользователю полный доступ к своим монетам. Вместо этого он использует мультиподпись 2-из-2, в которой Blockstream хранит один из ключей и совместно подписывает транзакции, если пользователь подтверждает её через 2FA.
Samourai нельзя использовать с вашей собственной полной нодой (несмотря на наличие параметра «set trusted node»; разработчиков обвиняли в том, что эта опция вводит пользователей в заблуждение (1, 2, 3)), хотя они утверждают, что объем информации, которую они могут собрать о пользователях, очень ограничен, так как этом кошельке реализована встроенная поддержка Tor.
Samourai является единственным мобильным кошельком в реализацией CoinJoin (под названием Whirlpool). Потенциальная проблема с CoinJoin от Samourai заключается в том, что многие пользователи, вероятно, все еще будут использовать Samourai без полной ноды, что может снизить эффективность микширования.
Также через Tor вы можете запустить Lightning-кошелек Spark.
Выводы
Хотя теоретически возможно достичь относительно высокого уровня конфиденциальности в сети биткоина, с точки зрения удобства для пользователя ещё предстоит проделать много работы для того, чтобы эта конфиденциальность стала доступна всем. Для большинства пользователей, которые не хотят осваивать команды в терминале Linux, запускать серверы для донатов или чья экономическая ситуация не позволяет получить достаточное количество биткоинов для безопасного микширования через CoinJoin-транзакцию, достижение конфиденциальности в сети биткоина остается непростой задачей. И даже те пользователи, которые обладают необходимыми навыками, все равно должны идти на определенные компромиссы в области безопасности.
Тем не менее, сегодня конфиденциальность в биткоине находится в стадии активного развития. Более того, не стоит забывать о том, что далеко не всегда кто-то будет тратить время и деньги на то, чтобы сопоставлять биткоин-адреса с IP-адресами пользователей. Биткоин все еще можно рассматривать как значительное улучшение по сравнению с традиционными платежными системами, даже если он используется без оглядки на конфиденциальность.
В следующей части серии мы рассмотрим так называемые «анонимные криптовалюты» и сравним их с биткоином в плане обеспечения финансовой конфиденциальности и экономической свободы.