Перейти к содержимому
buybitcoinsmart

Глоссарий / Приватность и безопасность

Тихие платежи

Другие названия: 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-кошелек уже дает вам новый адрес для каждого платежа, и для платежа между двумя людьми это проще, дешевле и поддерживается повсеместно: вы просите, вам платят, ничего не выводится. Тихие платежи важны, когда вы не можете попросить, потому что адрес должен быть публичным и на него должны платить незнакомцы в непредсказуемое время. Взамен вы получаете работу по сканированию и более узкую поддержку в кошельках, поэтому большинству людей стоит продолжать использовать новые адреса для обычных платежей и приберечь адрес тихого платежа для мест, где их контактные данные постоянны.

Не путать с

Часто задаваемые вопросы

Можно ли дать адрес тихого платежа любому кошельку?

Нет. Кошелек отправителя должен сам вывести адрес назначения, поэтому он обязан поддерживать BIP352. Cake Wallet, Sparrow и Wasabi могут отправлять на адрес sp1, тогда как большинство бирж и простых мобильных кошельков отклонят его как недействительный.

Почему мой кошелек синхронизируется медленно после включения тихих платежей?

Потому что ваш кошелек должен проверять транзакции-кандидаты блок за блоком, чтобы найти платежи, предназначенные вам. Это сканирование является ценой отсутствия адреса в блокчейне, и кошельки либо делают его локально, что медленнее и приватнее, либо обращаются к серверу индексирования.

Связанные термины

Еще в разделе «Приватность и безопасность»

Читать эту страницу на английском