Открытые исследования в области приватности | Обзор актуальных академических исследований и их результатов.
CoinJoin технологии и реализации | Принципы работы CoinJoin и обзор популярных сервисов (Wasabi, Samourai)
Введение: зачем CoinJoin в биткойне
Биткойн не анонимен по умолчанию: блокчейн открыт, а связь входов и выходов позволяет строить графы транзакций и деанонимизировать пользователей по устойчивым шаблонам. CoinJoin — это класс некастодиальных методов, которые объединяют средства многих участников в одну общую транзакцию, скрывая связь «какой вход породил какой выход». Правильно применённый CoinJoin повышает финансовую приватность без привлечения доверенных посредников и без выхода за рамки базового протокола Bitcoin.
Базовые принципы работы CoinJoin
- Идея: несколько пользователей совместно формируют одну транзакцию, где много входов и много выходов. Наблюдателю сложно сопоставить входы с выходами.
- Централизованный координатор vs. P2P: чаще всего есть координатор раундов (сервер), который организует процесс, но не получает контроля над средствами. Подписи на входах остаются у пользователей.
- Слепые подписи и анонимные креденшелы: чтобы координатор не видел, какой участник регистрирует какой выход, применяют механизмы «ослепления» (blinding). Это разрушает прямую связь между вкладом и получением сдачи/чистого выхода.
- Деноминации и равные выходы: многие реализации используют равные по сумме выходы (или гибкие, но маскируемые суммы), чтобы увеличивать анонимити-сет — множество потенциальных соответствий вход↔выход.
- Этапы раунда: регистрация входов → проверка владения UTXO → выдача «анонимных билетов» на право создать выход → регистрация выходов → согласование транзакции → подпись всеми участниками → публикация в сеть.
Ключевые понятия и метрики приватности
- Анонимити-сет (anonymity set): число равноправных кандидатов на соответствие вход↔выход. Чем больше и равномернее, тем лучше.
- Toxic change («токсичная сдача»): выход(ы), сумма которых выделяется из массы и легко связывается с исходным входом. Её рекомендуют изолировать или повторно миксовать.
- Heuristics/эвристики анализа: Common-Input-Ownership (CIOH), детекция повторных объединений (merge), кластеризация по адресам/скриптам, временным меткам, комиссиям, метаданным сети.
- Утечки на сетевом уровне: без Tor наблюдатель может связать IP с транзакцией даже при корректном CoinJoin. Поэтому почти все приватные кошельки настраивают Tor.
Как CoinJoin отличается от «миксеров»
- Некастодиально: средства не передаются на баланс третьей стороны; вы подписываете свои входы сами.
- Прозрачно и ончейн: CoinJoin — обычная транзакция Bitcoin без сторонних активов и «обещаний» возврата.
- Формальный след: CoinJoin виден в блокчейне, но цель — разрушить однозначное сопоставление входов и выходов, а не «исчезнуть с радаров».
Wasabi Wallet и протокол WabiSabi
- Что это: настольный и мобильный кошелёк с фокусом на приватности. CoinJoin организуется через централизованный координатор, но с защитами на уровне протокола.
- Протокол WabiSabi: использует анонимные креденшелы (keyed-verification anonymous credentials), позволяя гибко работать с суммами. В отличие от ранних «жёстких деноминаций», WabiSabi поддерживает переменные выходы, при этом координатор не может связать конкретный вход и выход.
- Процесс: ваш UTXO регистрируется, вы получаете «креденшелы» на сумму и атрибуты, затем анонимно предъявляете их для регистрации выходов. Все шаги идут через Tor, координатор не видит IP.
- Комиссии и размеры: плата координатору обычно пропорциональна сумме/участию в раунде; также платятся майнерские комиссии. Конкретные цифры меняются со временем и нагрузкой сети.
- Плюсы: удобный UX, автоматизация coin control для post-mix, обширная документация. Благодаря WabiSabi — высокая гибкость и крупные анонимити-сеты.
- Минусы и оговорки: централизованный координатор — точка отказа/цензуры; в прошлом были споры о фильтрации «рисковых» UTXO (команда оператора координатора заявляла о соблюдении комплаенса). Проверяйте актуальное состояние проекта и политику.
Samourai Wallet и Whirlpool
- Что это: кошелёк с Android-клиентом, GUI/CLI для настольных систем и экосистемой Dojo (самостоятельный бэкенд), ориентирован на опережающие методы приватности.
- Whirlpool: CoinJoin с фиксированными пулами деноминаций (например, 0.5, 0.05, 0.01 BTC и т.п.). После «премикса» UTXO попадает в пул и может ремиксоваться много раз (часто без доплаты координатору), что повышает анонимити-сет.
- Инструменты: Stonewall/STONEWALLx2 (деанализ обычных платежей), Stowaway/PayJoin (P2EP), Ricochet (несколько промежуточных хопов), контроль UTXO и маркировки, изоляция «токсичной сдачи».
- Плюсы: сильный акцент на постмикс-гигиене, повторные ремиксы, развитый набор инструментов для повседневных платежей из постмиксов.
- Риски/статус: весной 2024 г. проект столкнулся с правовыми претензиями в США, были аресты операторов и изъятия серверов. Доступность и политика сервиса могли меняться. Перед использованием проверяйте текущий статус, безопасность и юридические риски в вашей юрисдикции.
JoinMarket (кратко для контраста)
- Децентрализованный рынок ликвидности: «мейкеры» предоставляют ликвидность и зарабатывают, «тейкеры» платят комиссию за мгновенный CoinJoin.
- Плюсы: отсутствие единого координатора, устойчивость к цензуре, экономический стимул ликвидности.
- Минусы: более сложный UX, необходимость управления рынком ордеров, настройки и онлайна.
Сравнение подходов
- Координатор: Wasabi и Whirlpool — централизованный координатор с криптографическими защитами; JoinMarket — P2P координация.
- Суммы выходов: Whirlpool — фиксированные пулами деноминации; Wasabi (WabiSabi) — переменные суммы с анонимными креденшелами; JoinMarket — в зависимости от сценария, часто равные выходы.
- UX: Wasabi — один из самых простых стартов; Samourai — мощные инструменты, но больше параметров; JoinMarket — для продвинутых пользователей.
- Устойчивость: P2P-подход меньше зависит от центров, но сложнее в применении; централизованные — проще, но чувствительнее к сбоям и комплаенсу.
Лучшие практики использования CoinJoin
- Всегда через Tor: минимизируйте сетевые утечки. При необходимости дополнительно используйте выделенные Tor-выходы/мосты, изолируйте сессии. См. также Tor Bitcoin Transactions для повышения сетевой приватности.
- Не смешивайте premix и postmix: не объединяйте свежемиксованные UTXO с «старыми» монетами. Это разрушает анонимити-сет (cluster collapse).
- Избегайте адресного реюза: каждый раз новые адреса (segwit/taproot по возможности для меньших комиссий и унификации скриптов).
- Изоляция «токсичной сдачи»: храните сдачу отдельно, по возможности ремиксуйте её до включения в платежи или тратьте в режиме, который не связывает её с постмиксами.
- Разделяйте кошельки и метки: используйте метки UTXO, разные аккаунты/пулы для разных источников средств и контрагентов.
- Время и комиссии: не спешите тратить сразу после раунда; избегайте детерминированных паттернов комиссий и временных окон, которые упрощают связывание.
- PayJoin (BIP78) и маскирующие платежи: при оплате посторонним сервисам используйте PayJoin, Stonewall и аналогичные механики, если контрагент поддерживает.
- Тестируйте малыми суммами: каждый стек имеет нюансы; отработайте процесс на небольших UTXO до переноса существенных средств.
Типичные векторы deanonymization и как им противостоять
- Intersection attacks: последовательность трат нескольких выходов сводит анонимити-сет к пересечению множеств. Решение: не «совмещать» независимые выходы в один платеж; разбивать платежи, ремиксовать, использовать PayJoin.
- Heuristics на сдачу: уникальные суммы, необычные скрипты, типы адресов. Решение: стандартизированные скрипты, равные суммы, продуманная постмикс-гигиена.
- Сетевые метаданные: не публикуйте транзакции напрямую с реального IP. Решение: Tor/сторонние широковещатели, проверка, что кошелёк не делает фолбэк на clearnet.
- Поведенческие сигнатуры: уникальные размеры комиссий, интервалы, шаблоны. Решение: варьируйте поведение; используйте автоматические профили кошелька, избегающие крайностей.
Комбинация CoinJoin с другими техниками
- Tor по умолчанию: и для раундов, и для последующих трат.
- Taproot и унификация скриптов: больше транзакций выглядят одинаково, что помогает смешиванию в массе обычных платежей.
- PayJoin (P2EP): разрушает CIOH-эвристику в обычных платежах, когда получатель добавляет вход.
- Пополнения через CoinJoin: входящие средства можно предварительно «очищать» через CoinJoin-пулы, чтобы минимизировать утечки источников (с юридическими оговорками ниже).
Правовые и комплаенс-аспекты
- Юрисдикции различаются: CoinJoin сам по себе — это формат транзакции, а не кастодиальный «миксер». Тем не менее, регуляторы и биржи иногда приравнивают CoinJoin-кластера к «высокорисковым».
- Риск флагов на биржах: некоторые централизованные площадки отмечают постмикс-UTXO как «повышенного риска». Если вы планируете KYC-вывод на биржу, учитывайте вероятность задержек и запросов на подтверждение происхождения средств.
- Прецеденты: в 2024 г. были правовые претензии к операторам некоторых сервисов. Пользователям важно следить за новостями, обновлять модели угроз и не нарушать местные законы.
- Налоги и отчётность: приватность не освобождает от налоговых обязательств; храните собственные журналы движений средств для внутреннего аудита.
Пошаговые примеры (в общих чертах)
1) Wasabi (WabiSabi):
- Импортируйте UTXO/создайте кошелёк → подключение через Tor включено по умолчанию.
- Запустите CoinJoin; кошелёк автоматически разобьёт суммы и минимизирует токсичную сдачу.
- По завершении — используйте отдельный «постмикс»-учёт и не смешивайте с «премикс»/старыми монетами.
2) Samourai Whirlpool:
- Отправьте средства в «премикс»-кошелёк → выберите пул деноминации → дождитесь первого микса.
- Держите кошелёк онлайн для ремиксов (часто бесплатных), чтобы увеличить анонимити-сет.
- Тратьте из «постмикс»-кошелька инструментами Stonewall/PayJoin. Токсичную сдачу изолируйте и ремиксуйте.
3) JoinMarket:
- Настройте ноды/кошелёк → как тейкер — платите за немедленный CoinJoin; как мейкер — предоставляете ликвидность и получаете оплату.
Частые вопросы
- Делает ли один раунд CoinJoin меня «невидимым»? Нет. Оценивайте реальный анонимити-сет, избегайте обратного связывания при тратах, используйте ремиксы и постмикс-гигиену.
- Можно ли «вымыть» историю? История в блокчейне неизменна. CoinJoin снижает трассируемость связей, но не «удаляет» прошлое. Цель — приватность вперёд, а не переписывание прошлого.
- Нужен ли мне Tor? Да, для снижения сетевых утечек он обязателен в этой модели угроз.
Вывод
CoinJoin — мощный инструмент ончейн-приватности в биткойне. Он не магическая «кнопка невидимости», а часть дисциплины: Tor, аккуратная постмикс-гигиена, понимание эвристик анализа, разумное сочетание с PayJoin и ремиксами. Wasabi (WabiSabi) и Samourai (Whirlpool) предлагают разные подходы к координации и UX, а JoinMarket показывает, как это работает без центра. Выбор зависит от модели угроз, удобства и юридических рамок. Начинайте с малых сумм, изучайте документацию выбранного кошелька, следите за новостями экосистемы — и применяйте приватность осознанно.