Глоссарий / Приватность и безопасность
Тихие платежи
Другие названия: BIP352.
- Что такое тихие платежи?
- Тихие платежи позволяют опубликовать один многоразовый адрес, который никогда не появляется в блокчейне, потому что отправитель использует его для вычисления нового несвязываемого адреса назначения для каждого платежа.
Определено в BIP-352.
Статическая строка, которую вы передаете, представляет собой пару публичных ключей, а не место, куда поступают биткоины. Схема, описанная как BIP352 авторами josibake, Ruben Somsen и Sebastian Falbesoner и созданная в марте 2023 года, выводит новый выход Taproot для каждого платежа из секрета, который могут вычислить только отправитель и получатель. Вы получаете удобство многоразового адреса без какой-либо связи в блокчейне.
Как это работает
При тихом платеже вывод адреса выполняет отправитель, и именно этот прием обеспечивает работу всего остального.
Адрес тихого платежа кодирует два публичных ключа, один для сканирования и один для расходования, в bech32m с префиксом sp1. Спецификация предписывает кошелькам обрабатывать строки длиной не менее 117 символов, поэтому адрес достаточно длинный, чтобы люди передавали его как QR-код или ссылку, а не набирали вручную. Когда кто-то платит вам, его кошелек выполняет обмен Диффи-Хеллмана между приватными ключами входов, которые он расходует, и вашим ключом сканирования. Это порождает общий секрет, этот секрет модифицирует ваш ключ расходования, и в результате получается обычный выход Taproot, который выглядит как любой другой выход Taproot в блоке. Ничто в блокчейне не связывает его с опубликованным вами адресом, и два платежа от двух разных отправителей не имеют видимой связи между собой.
Издержки ложатся на получателя. Поскольку ни один выход не несет вашего адреса, ваш кошелек должен проверять транзакции-кандидаты в каждом блоке, повторяя одно и то же вычисление со своим ключом сканирования. Кошельки делают это либо сканируя локально, что стоит времени синхронизации и заряда батареи, но ничего не сообщает серверу, либо опираясь на службу индексирования, которая работает быстрее и обеспечивает меньше приватности. Необязательные метки позволяют выводить различимые варианты вашего адреса, так что вы по-прежнему можете отличить пожертвование от зарплаты, не публикуя две личности.
Где это встречается
Поддержка тихих платежей реальна, но частична, и она нужна на обоих концах платежа.
Cake Wallet стал первым мобильным кошельком с полной отправкой и получением, Sparrow поддерживает настольные компьютеры, а Silentium существует как эталонная реализация. Wasabi может отправлять на адрес sp1. Bitcoin Core не поставляет кошелек с тихими платежами ни в одной выпущенной версии: работа годами остается в pull request 28122, хотя криптографические примитивы теперь находятся во входящей в комплект библиотеке libsecp256k1.
Сценарий использования, который оправдывает сложность, представляет собой публичное получение средств. Адрес для пожертвований на сайте, адрес для чаевых в описании видео, QR-код на плакате, все это адреса, которые по определению используются многократно, и каждый платеж на них увеличивает одну публичную сумму, которая показывает всему миру ваш общий доход. Адрес тихого платежа решает эту проблему без интерактивного шага, а именно этого не удавалось добиться в прежних попытках создать многоразовые адреса.
Тихие платежи vs уникальный адрес
Обычный HD-кошелек уже дает вам новый адрес для каждого платежа, и для платежа между двумя людьми это проще, дешевле и поддерживается повсеместно: вы просите, вам платят, ничего не выводится. Тихие платежи важны, когда вы не можете попросить, потому что адрес должен быть публичным и на него должны платить незнакомцы в непредсказуемое время. Взамен вы получаете работу по сканированию и более узкую поддержку в кошельках, поэтому большинству людей стоит продолжать использовать новые адреса для обычных платежей и приберечь адрес тихого платежа для мест, где их контактные данные постоянны.