Вместе с командой биткоин-миксера Mixer.Money разбираемся, как ecash-токены на биткоине повышают приватность транзакций, какие данные они скрывают и где проходят границы этой защиты.
Биткоин-транзакции навсегда остаются публичными — движение средств между адресами легко отследить. Cashu предлагает альтернативный подход: протокол позволяет передавать сатоши без ончейн-следов.
Вместе с командой биткоин-миксера Mixer.Money разбираемся, как ecash-токены на биткоине повышают приватность транзакций, какие данные они скрывают и где проходят границы этой защиты.
Cashu — L2-протокол электронных денег (ecash), который позволяет выпускать обеспеченные биткоинами токены. Они работают как наличные: их можно передавать другим людям без посредников и записи в блокчейн.
Протокол создал разработчик под псевдонимом Calle. Он вдохновлялся денежной системой eCash, которую криптограф Дэвид Чаум запустил в 1990-х. Она предлагала приватные цифровые платежи, но не получила массового распространения, а стоящая за проектом компания Digicash обанкротилась в 1998 году.
Cashu основан на криптографии слепых подписей, которую в 1982 году предложил Чаум. Протокол использует вариант схемы Дэвида Вагнера — студента Чаума, разработавшего альтернативную реализацию eCash с аналогичными гарантиями безопасности и приватности, но без патентных ограничений Digicash.
Транзакции в Cashu происходят за секунды при минимальных комиссиях, близких к нулю. Протокол интегрирован с Lightning Network: пользователи Cashu могут переводить сатоши на обычные Lightning-кошельки и получать платежи от них.
Система состоит из двух компонентов:
Источник: Cashu.
Принцип работы Cashu сравним с подарочными картами. Пользователь обменивает биткоины на токены через минт — как при покупке карты на определенную сумму. Затем этими токенами расплачиваются у продавцов, принимающих Cashu. Продавец может хранить полученные токены, использовать их для сдачи или обменять обратно на биткоины.
Принципиальное отличие от других криптокошельков в том, что ecash-токены хранятся локально на устройстве пользователя. Если вы потеряете данные кошелька — потеряете и токены.
Процесс использования Cashu состоит из четырех этапов:
Пример: вы пополнили минт на 0,001 BTC. Минт выдал вам токены на эту сумму. Позже вы передали часть токенов другу через Telegram. Друг обратился в минт и получил биткоины на свой Lightning-кошелек. Минт при этом не знает ни вашу личность, ни личность друга.
Cashu использует протокол Blind Diffie-Hellmann key exchange (BDHKE). С его помощью минт подтверждает выпуск ecash-купюры, не зная ее содержимого.
Процесс выглядит следующим образом:
В итоге формируется пара из секрета и криптографического подтверждения минта. Эта пара и является ecash-токеном Cashu.
Пользователь может отправить его напрямую другому человеку — как файл, QR-код или сообщение. В этот момент блокчейн не используется, и минт не участвует в процессе. Получатель просто принимает пару.
Когда получатель хочет обменять токен обратно на биткоин, он отправляет его в минт. Минт проверяет корректность подписи и то, что секрет еще не использовался ранее. Если все верно, минт выплачивает сатоши и помечает секрет как потраченный. Повторно использовать токен нельзя.
Ключевой момент: минт никогда не видит секрет в открытом виде. Поэтому он не может связать момент выпуска токена с моментом его погашения. Минт не знает, какие именно токены он подписывает, не может связать выпуск и погашение и не видит маршруты передачи между пользователями.
Cashu — не единственный ecash-протокол для биткоина. Похожие задачи решает Fedimint. Главное отличие: Fedimint использует федеративные минты, где несколько операторов совместно управляют средствами через мультиподпись. Cashu работает с независимыми минтами — каждый оператор действует самостоятельно.
Федеративная модель Fedimint снижает риск кражи: для вывода средств нужно согласие нескольких участников. Модель Cashu проще в развертывании: минт запускает любой желающий без координации с другими операторами. Пользователи Cashu могут работать с несколькими минтами одновременно, выбирая их по репутации или другим факторам.
Кастодиальные Lightning-кошельки хранят данные о транзакциях и балансах пользователей. В Cashu минт не знает ничего о суммах и участниках транзакций. Он не может целенаправленно заблокировать платеж конкретного пользователя, потому что не знает, кто этот пользователь.
Cashu защищает пользователей на нескольких уровнях. Минт не хранит базу данных пользователей — он не знает, сколько у него клиентов и кто они. Благодаря слепым подписям минт не может связать выпуск токена с его погашением. Это работает аналогично биткоин-миксеру. Токены можно передавать через QR-коды даже без подключения к интернету.
Однако у приватности Cashu есть ограничения. На сетевом уровне минт может собирать IP-адреса и метаданные — для защиты рекомендуется использовать Tor или VPN. При работе с крупными суммами анонимность снижается: Cashu использует фиксированные номиналы токенов (степени двойки), и крупные номиналы встречаются редко. На границах системы защита также ослабевает: при выводе ecash в Lightning минт видит получателя платежа.
Cashu находится на ранней стадии разработки. Пользователи должны учитывать несколько рисков:
В настоящий момент Cashu лучше использовать только для небольших сумм.
Экосистема Cashu включает кошельки для разных платформ:
Для разработчиков доступны библиотеки на Python, TypeScript, Rust, Kotlin, Swift и Java.
Для приема Cashu-платежей продавцы могут использовать BTCPay Server — платежный процессор с открытым исходным кодом для биткоина и Lightning. BTCPay Server интегрируется с Shopify, WooCommerce, BigCommerce и другими платформами электронной коммерции.
Плагин Cashu для BTCPay Server позволяет принимать ecash-токены наравне с обычными биткоин-платежами. Покупатель сканирует QR-код на странице оплаты, отправляет токены, и кошелек продавца мгновенно их верифицирует. В зависимости от настроек токены автоматически конвертируются в сатоши или сохраняются для дальнейшего использования.
Для настройки нужно установить плагин BTCNutServer через раздел Manage Plugins в панели администратора BTCPay Server. После перезапуска сервера в разделе Wallet появится пункт Cashu, где можно указать минт и другие параметры.
На базе протокола Cashu строятся различные сервисы:
Создатель Cashu Calle видит будущее протокола в качестве стандарта для интеграции в биткоин-кошельки и сервисы. Ecash упрощает работу с Lightning для нетехнической аудитории: не нужно разбираться в нодах, каналах и ликвидности. Это открывает путь к массовому применению в электронной коммерции.
Cashu и Fedimint могут значительно улучшить биткоин-экосистему. Они снижают порог входа для пользователей, которые хотят использовать L2, но не готовы разбираться в технических деталях Lightning Network.Полный список проектов доступен в репозитории awesome-cashu.
Cashu обеспечивает приватность внутри системы. Однако на границе с основной сетью биткоина она заканчивается.
При конвертации ecash обратно в сатоши через Lightning транзакция становится видимой. Если вы выводите средства на биржу с KYC, ваша личность раскрывается. При пополнении минта через Lightning он видит входящий платеж, при выводе — исходящий. Эти данные используют для деанонимизации.
Для сохранения приватности при выходе из Cashu можно использовать миксеры вроде Mixer.Money. Он разрывает связь между минтом и конечным адресом получателя. Пользователь сохраняет приватность не только внутри Cashu, но и при выходе в основную сеть биткоина.
«Cashu защищает транзакции внутри системы. Миксер защищает то, что происходит за ее границей», — отмечают в Mixer.Money.