
4 сентября цена Zcash впервые с 2018 года превысила $1000. Спрос на монету подогрел запуск биржевого фонда от Grayscale 25 августа.
24 сентября компания [alloc] init опубликовала спецификацию Shielded Bitcoin. По замыслу разработчиков, протокол перенесет модель приватности Zcash в сеть первой криптовалюты без софтфорка. Но действующей реализации пока нет, а механизм входа в систему и выхода из нее авторы опишут в отдельном исследовании.
Вместе с командой биткоин-миксера Mixer.Money разбираемся, как устроен Shielded Bitcoin, где он оставляет след и как оборвать его уже сейчас.
Биткоин как доска объявлений
Переводы в сети биткоина видны всем. Имен в блокчейне нет, но ончейн-анализ объединяет адреса в кластеры по общим входам и сдаче, а затем сверяет их с данными бирж.
Частично проблему решают CoinJoin и PayJoin: они запутывают связи между отправителями и получателями. Тихие платежи избавляют от повторного использования реквизитов, но суммы переводов остаются на виду. Zcash прячет и их, правда, в собственной сети.
Shielded Bitcoin берет у анонимной криптовалюты механику, но обходится без отдельного блокчейна. Основатель [alloc] init Михаил Комаров объяснил идею на форуме Delving Bitcoin:
«Представьте биткоин как публичную доску объявлений: он публикует данные и задает их порядок, а любой желающий может сам применить правила Shielded Bitcoin, чтобы определить итоговое состояние».
Соавторами выступили бывшая руководительница исследований Chaincode Labs Клара Шихельман и Алексей Москвин.
Как устроен протокол, проще всего показать на их примере:
Путь 1 BTC через зашифрованный пул. Источник: Delving Bitcoin.Вход. У Алисы на обычном адресе 1 BTC. Она переводит монеты в систему и получает взамен запись (note) на ту же сумму. Это своего рода «купюра», похожая на неизрасходованный выход транзакции (UTXO), только ее содержимое зашифровано и понятно лишь владельцу. Сам вход публичен: все видят, что с адреса Алисы ушел 1 BTC.
Перевод. Алиса платит Бобу 0,3 BTC. Ему достается «купюра» на эту сумму, а оставшиеся 0,7 BTC возвращаются Алисе как сдача. В блокчейне этот шаг выглядит как обычная биткоин-транзакция с зашифрованными данными: суммы, отправителя и получателя в ней не видно.
За честность перевода отвечает доказательство с нулевым разглашением. Не раскрывая деталей, оно подтверждает, что Алиса владела этими средствами, а сумма новых записей равна исходной. Дважды потратить одни и те же деньги не позволяет метка погашения (nullifier), которая публикуется вместе с переводом.
Выход. Боб выводит свои 0,3 BTC обратно в обычный биткоин. Эта транзакция снова публична: видны сумма, время и адрес получателя.
Shielded Bitcoin прячет, кто кому и сколько заплатил, но не сам факт оплаты. Наблюдатель видит время перевода, комиссию и число потраченных и созданных записей.
Цена приватности
За такую защиту придется платить. По расчетам авторов, стандартный перевод (две записи на входе, две на выходе) занимает 610 байт. Сейчас эти данные помещают в служебное поле OP_RETURN, отведенное под произвольную информацию, что само по себе требует 625 vB, не считая остальной части транзакции. Если вместо этого использовать раздел подписи (witness), понадобятся две отдельные операции общим объемом 438 vB. Однако такой способ в текущую спецификацию не вошел.
Комаров в посте на Delving Bitcoin отметил, что переводы в пуле занимают больше места, чем обычные биткоин-транзакции, «но разница остается в пределах одного порядка». По его словам, точный объем зависит от формы операции и способа публикации, а вместе с ним меняется и комиссия.
В эталонной версии протокола авторы взяли систему доказательств Groth16, которой нужна разовая доверенная настройка (trusted setup). Если ее проведут несколько участников, как в свое время в Zcash, подделать записи не получится, пока честен хотя бы один из них. Окончательный выбор системы доказательств авторы оставили открытым.
Опасны и ошибки в самой схеме: суммы скрыты, поэтому лишнюю эмиссию снаружи не видно. В конце мая инженер по безопасности Тейлор Хорнби нашел уязвимость в пуле Orchard сети Zcash. С 2022 года через нее теоретически можно было выпускать фальшивые монеты. Пул пришлось заменить в обновлении Ironwood, а вывод из старого ограничить объемом подтвержденных депозитов.
В сентябре похожий сценарий случился на практике в сайдчейне Liquid, где суммы переводов тоже скрыты. Из-за ошибки в проверке транзакций неизвестные выпустили необеспеченные L-BTC и вывели из резерва федерации около 4000 настоящих BTC ($320 млн). Позже 3400 BTC вернули. В Shielded Bitcoin подобный баг позволил бы так же обменять поддельные записи на средства других участников.
Отдельный риск связан со входом и выходом. Монеты должны попадать в систему и покидать ее через хранилища в основной сети. Чтобы их правила работали без изменения консенсуса, авторы опираются на схему PIPEs v2, которую исследователи [alloc] init представили в феврале. Она построена на шифровании со свидетелем (witness encryption). Ключ от хранилища зашифрован так, что открыть его сможет только тот, кто докажет, например, что при выходе из пула сжег свою запись. По данным Gizmodo, эту часть конструкции авторы еще не закончили.
Создатель BitVM и соавтор альтернативного протокола Shielded CSV Робин Линус написал, что уважает попытки добавить в первую криптовалюту подобные правила без софтфорка. Но криптография, на которой они держатся, по его словам, «все еще экспериментальная, а ее допущения о безопасности далеки от устоявшихся». Линус считает, что доверять ей в биткоин-приложениях можно будет только после многих лет проверки, «и, если смотреть реалистично, такая уверенность может так и не появиться».
Комаров с этой оценкой спорить не стал. В ответе он написал, что шифрование со свидетелем «и правда довольно новое (ему около шести лет)». Шихельман в интервью bitcoin++ Insider добавила, что эту технологию изучают с 2013 года, но к практической криптографии промышленного уровня она еще не перешла. Февральскую схему шифрования уже успешно атаковали сами авторы и участники их открытых конкурсов. По словам Шихельман, уязвимости закрыли, но исправленную версию еще не обнародовали, и такой же проверки, как исходная, она пока не прошла. Обновленную работу ждут до конца года.
Где остается след
Даже надежные хранилища не спрячут вход и выход. В том же интервью Шихельман объяснила, где проходит граница защиты:
«Важно различать приватность внутри защищенной системы, которую обеспечивает криптография, и приватность на ее границах. Последняя зависит от того, как пользователи входят в систему, выходят из нее и взаимодействуют с биткоином».
Например, пользователь завел в пул необычную сумму в 0,80085 BTC, а через час кто-то вывел почти столько же на новый адрес. Шифрование никто не взламывал, но связь очевидна. Исследовательница уточнила на форуме, что у хранилищ для выхода будут фиксированные номиналы и воспользоваться ими можно только на точную сумму. Вывести произвольное количество BTC позволят другие способы, например атомарные свопы.
Такой анализ уже проводили на Zcash. В 2018 году исследователи Университетского колледжа Лондона проверили, как часто суммы на входе в защищенный пул совпадают с суммами на выходе. Их интересовали значения, которые встречались в истории сети ровно дважды: при депозите и при выводе вскоре после него. Только по этому признаку они связали вход и выход для 28,5% всех когда-либо заведенных в пул монет. Причем 70% этого объема вывели не позже чем через 25 минут после депозита. Основную часть таких монет (87%) переводили основатели проекта и майнеры.
Авторы Shielded Bitcoin ссылаются на это исследование и резюмируют: даже крупный пул сам по себе не гарантирует анонимности.
Еще один след оставляют комиссии. Каждый перевод в пуле попадает в блокчейн внутри стандартной биткоин-транзакции. Комиссию майнерам за нее оплачивают с открытого адреса, как за любой другой платеж. Если Алиса берет эти деньги с основного кошелька, наблюдатель не узнает ни сумм, ни получателей. Зато он увидит, что все операции отправила она и когда именно.
«Комиссии за публикацию могут стать еще одним сигналом, если их раз за разом платит один и тот же узнаваемый биткоин-кошелек», — предупредил Комаров в публикации на Delving Bitcoin.
Отдельный кошелек для комиссий помогает лишь отчасти. В спецификации отмечают, что его повторное использование или предсказуемые пополнения все равно могут выдать связь. В будущем комиссии предлагают оплачивать из специального хранилища на PIPEs: доступ к нему открывает доказательство, а не адрес владельца. Но и этот способ, по словам авторов, «не устраняет утечку при публикации»: наблюдатель по-прежнему может заметить, когда и как часто им пользуются.
Получается, шифрование защищает только то, что происходит внутри пула. Суммы и время входа и выхода, а также кошелек для комиссий пользователю придется контролировать самому.
Как оборвать след уже сейчас
Пока Shielded Bitcoin существует только на бумаге: рабочей реализации нет, механизмы хранения средств для входа и выхода еще не описаны, а криптографию продолжают проверять. Тем, кто хочет разорвать ончейн-связь уже сейчас, доступны более привычные инструменты вроде биткоин-миксера Mixer.Money.
Он дробит поступившие средства и раздает их частным инвесторам и трейдерам на торговых площадках. Обратно клиенту приходит ликвидность с других бирж. Прямой транзакции между входящим и исходящим переводами в цепочке не остается.
«Любую схему приватности выдают суммы и время на входе и выходе. В „Полной анонимности“ их задает не клиент, а система: она сама делит выплату на части, подбирает кошельки без сдачи и выбирает момент отправки», — объясняют в Mixer.Money.
Суммы миксер не скрывает: выплаты видны в блокчейне, но выглядят как рядовые выводы с биржи. Mixer.Money обещает вернуть монеты в течение шести часов после первого подтверждения транзакции и на каждую заявку выдает гарантийное письмо с PGP-подписью.
Shielded Bitcoin и миксер решают одну задачу разными способами. Протокол обещает обойтись без посредника и спрятать суммы, но пока не работает. Миксер требует доверия, зато доступен уже сейчас. Если пул все же запустят, полученные через Mixer.Money средства можно будет направить на пополнение кошелька для комиссий, чтобы его история не вела к основному. Правда, если оплачивать с него все переводы подряд, они все равно свяжутся между собой.
Начать можно с бесплатного теста на сайте Mixer.Money: 0,001 BTC вернутся на один адрес без комиссии.
Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

1 день назад
1









English (US) ·
Russian (RU) ·