PayJoin и подписание сообщений
Уровень: углублённое руководство. Сначала изучите обычный предварительный просмотр отправки, сумму получателю и комиссию.
PayJoin и подписание сообщений — отдельные инструменты. PayJoin меняет способ построения платёжной транзакции. Подписание сообщения доказывает контроль над ключом для конкретного утверждения без совершения платежа. Ни одну функцию не следует использовать как повод раскрыть слова восстановления.
Отправьте платёж по запросу PayJoin
Заголовок раздела «Отправьте платёж по запросу PayJoin»PayJoin — совместный платёж, в котором получатель может добавить вход. Это может ослабить предположение, что все входы обычного на вид платежа принадлежат одному отправителю. Получатель должен предоставить совместимый платёжный URI Биткоин, содержащий конечную точку PayJoin; один обычный адрес не включает эту возможность. Протокол описан в BIP78.
- Используйте программный кошелёк с доступными для расходования средствами. PayJoin поддерживает входы отправителя и сдачу SegWit и Taproot. Этот выпуск отклоняет запросы PayJoin при отправке с аппаратного кошелька.
- Вставьте полный платёжный URI в Send, вместо копирования только адреса. Проверьте назначение и сумму через тот же доверенный канал, который использовали бы для любого платежа.
- Проверьте предварительный просмотр транзакции и индикатор PayJoin, затем разрешите платёж, если сумма и настройки комиссии приемлемы. PayJoin предназначен для одного получателя; его нельзя сочетать с пакетным платежом или вычетом комиссии из суммы получателя.
- Проверьте получившуюся транзакцию в истории.
Реализация этой версии может перейти к своей обычной платёжной транзакции, если построение PayJoin не удалось. Поэтому разрешение этой процедуры не гарантирует, что переданная в сеть транзакция будет PayJoin. Не используйте её там, где переход к обычному платежу нарушил бы ваши требования приватности.
В основной сети обычная интернет-точка подключения должна использовать HTTPS. Точка подключения .onion по HTTP или HTTPS поддерживается при включённом Tor и отклоняется при выключенном Tor. Остальные схемы URL отклоняются. Если точка подключения не поддерживается, Ginger игнорирует её, поэтому перед продолжением убедитесь, что предварительный просмотр всё ещё обозначает платёж как PayJoin.
Это руководство описывает отправку по запросу получателя. Обычная процедура Receive Ginger не запускает принимающий сервер PayJoin, а эта версия не предоставляет пользователю процедуры его настройки.
Согласованные выходы и комиссии
Заголовок раздела «Согласованные выходы и комиссии»Запрос платежа может ограничивать замену выхода с помощью pjos=0. Ginger передаёт это ограничение получателю и отклоняет предложение, заменяющее запрошенный платёжный выход или уменьшающее его сумму. Если замена разрешена, получатель может использовать другой выход для получения при согласовании. Вход, добавленный получателем, также может сделать сумму получающего выхода в блокчейне больше суммы вашего платежа.
Ginger объявляет максимальный дополнительный взнос в комиссию майнерам, автоматически вычисляемый из исходной ставки комиссии. Он отклоняет предложение, заставляющее ваш кошелёк внести больше объявленного лимита. При таком отклонении используется описанный выше переход к обычному платежу; это не обязательно отменяет платёж.
Предварительный просмотр строится до окончательного согласования PayJoin, которое выполняется после разрешения платежа. Комиссия согласованной транзакции может отличаться от исходного предварительного просмотра. Ginger пересчитывает сведения о комиссии завершённой транзакции по окончательной транзакции, но не показывает второй предварительный просмотр для подтверждения после согласования. Проверьте итоговую транзакцию в истории и не считайте исходный индикатор PayJoin доказательством успешного согласования.
Что узнают получатель и наблюдатель
Заголовок раздела «Что узнают получатель и наблюдатель»Получатель уже знает запрос платежа, свой принимающий адрес и предполагаемую сумму. Если запрос связан с идентифицированным заказом, PayJoin не стирает эту личность. При согласовании принимающий сервис также видит предлагаемую платёжную транзакцию, включая предложенные входы отправителя. Его не следует считать стороной, от которой скрыт сам платёж.
Перед отправкой запроса согласования Ginger удаляет метаданные происхождения ключей кошелька, включая пути деривации Taproot и глобальные расширенные публичные ключи. Это сокращает лишние сведения о кошельке, передаваемые получателю; входы, выходы и суммы предложенной транзакции остаются ему видны.
Внешний наблюдатель видит транзакцию, в итоге опубликованную в Биткоин. Успешный PayJoin может сделать обычное предположение «все входы принадлежат отправителю» ненадёжным. Польза зависит от транзакции и других сведений наблюдателя; она не гарантирует, что транзакция неотличима от любого обычного платежа.
Разделяйте эти аудитории. Получатель может узнать детали через заказ или согласование, даже если посторонний наблюдатель не может уверенно определить принадлежность входов транзакции. Публичный обозреватель транзакций может создать ещё одно раскрытие, если искать платёж через идентифицированный сеанс браузера.
Отпечатки кошельков и переход к обычному платежу
Заголовок раздела «Отпечатки кошельков и переход к обычному платежу»Кошельки выбирают типы адресов входов, структуру транзакции и способ подписания. Сочетания этих решений могут оставлять узнаваемые закономерности. Поэтому транзакция может потерять часть неоднозначности, даже когда её сообщения протокола PayJoin действительны. Опубликованные примеры отпечатков PayJoin иллюстрируют эту проблему для конкретных сочетаний кошельков; они не устанавливают наличие тех же проблем в Ginger и не измеряют приватность Ginger.
Как пользователь выбирайте обновлённый совместимый принимающий сервис, проверяйте запрос платежа и предлагаемые комиссию и сумму. Не меняйте незнакомые параметры транзакции только ради имитации другого кошелька: правдоподобный вид транзакции не доказывает хороший результат для приватности.
Если вам нужен именно совместный платёж, согласуйте совместимый способ с получателем до разрешения отправки Ginger. Переход к обычному платежу означает, что неудачное согласование всё равно может закончиться действительным платежом. После передачи в сеть не отправляйте снова лишь потому, что результат неясен; сначала проверьте транзакцию и состояние оплаты у получателя. Неудачное согласование PayJoin и неудачный платёж Биткоин — разные ситуации.
Подпишите сообщение для адреса
Заголовок раздела «Подпишите сообщение для адреса»Некоторые сервисы просят продемонстрировать контроль над адресом получения. Откройте меню кошелька и выберите Sign Message. Введите адрес, принадлежащий этому кошельку, и точное утверждение, которое намерены подписать. Ginger отклоняет не принадлежащие ему адреса. Введите сообщение, выберите Continue и скопируйте полученную подпись для предполагаемого проверяющего.
Для аппаратного кошелька следуйте запросу подписания устройства; доступность зависит от устройства и поддержки подписания сообщений. Кошелёк только для наблюдения без подписывающего устройства не может создать подпись. Тип адреса и поддерживаемый проверяющим формат подписи также должны быть совместимы.
Читайте сообщение так же внимательно, как текст, дающий разрешение. Предпочитайте текст с чётко ограниченным назначением, указывающий получателя, цель и дату или проверочный запрос. Не подписывайте пустое утверждение или текст, последствия которого не понимаете. После передачи подпись могут копировать и показывать другим.
Подписание сообщения не переводит биткоин и не устанавливает владение каждым адресом кошелька. Оно также создаёт связь между подписанным адресом и тем, кого проверяющий идентифицирует как вас. Если биржа запрашивает такую подпись, это раскрытие остаётся даже после последующего использования CoinJoin.