Перед подписью Bitcoin PSBT проверьте назначение каждого выхода, включая сдачу, которая должна вернуться в ваш кошелёк. Правильный адрес получателя не доказывает, что остаток также находится под нужным вам управлением. Просмотрите операцию на аппаратном устройстве и остановитесь, если оно не объясняет выход или показывает неожиданное предупреждение о политике кошелька. Одной надписи «сдача» в программе на компьютере для такого решения недостаточно.
Получатель может быть верным, а остаток — уходить не туда
PSBT позволяет программе собрать сведения о транзакции и передать их подписывающему устройству, не перенося в неё его приватные ключи. Но сам собранный перевод от этого не становится достоверным. У компьютера, формирующего платёж, и устройства, которое разрешает расходование, разные задачи. Убедительная подпись строки в интерфейсе компьютера не заменяет проверку получателя остатка аппаратным кошельком и пользователем перед окончательным подтверждением операции.
В объяснении UTXO Bitcoin разобрано, почему выбранные входы расходуются целиком и откуда появляется сдача. Здесь вопрос безопасности уже: относится ли названный сдачей выход к нужному кошельку и правилам его расходования? Нельзя отвечать только по совпадению суммы с ожидаемым остатком. Даже полностью правильная арифметика не устанавливает принадлежность назначения и не показывает, какие ключи действительно смогут впоследствии потратить этот выход.
Условная транзакция расходует 100 000 sat: получателю предназначены 30 000, комиссия составляет 1 000, остаток — 69 000. Это учебные числа, а не текущий тариф. Равенство сохранится и в случае, если выход на 69 000 не управляется вашим кошельком. Поэтому проверка итогов дополняет проверку назначения, но не заменяет её. Подписывать операцию только потому, что сумма сошлась, особенно опасно, когда сдача больше самого платежа получателю.
Используйте лист проверки всего расходования
| Часть условного перевода | Ожидаемое значение | Вопрос проверки | Причина остановиться |
|---|---|---|---|
| Выбранные входы | Всего 100 000 sat | Выбраны нужный кошелёк и контекст расходования? | Неожиданные аккаунт, входы или режим подписанта |
| Выход получателю | 30 000 sat | Полный адрес и сумма совпадают с независимо проверенной инструкцией? | Адрес либо сумма отличаются от согласованных |
| Выход сдачи | 69 000 sat | Распознаёт устройство нужную политику для остатка? | Неизвестный выход представлен как безобидная сдача |
| Комиссия сети | 1 000 sat | Сумма соответствует проверенной разнице входов и выходов? | Необъяснённый расход либо предупреждение о комиссии |
| Политика кошелька | Предусмотренный порядок управления | Для совместного кошелька соответствуют участники и порог? | Неожиданная регистрация другой политики либо несовпадение |
Для обычного расходования с установленными суммами входов и выходов комиссия майнерам равна их разнице. Сдача не является комиссией. Не вычитайте расход повторно только потому, что он показан и координатором, и аппаратным устройством. Если экраны содержат разные итоги или единицы, разберитесь до подтверждения. Не исправляйте мысленно непонятную цифру под ожидаемую: нужно установить, что оба интерфейса действительно описывают одну и ту же операцию.
Адрес сдачи может быть непривычным, поскольку кошельки получают дополнительные адреса. Поэтому узнаваемость слабо доказывает как проблему, так и безопасность. «Раньше не видел» ещё не означает кражу, а подпись change в программе не подтверждает принадлежность. Важнее, каким образом устройство сопоставляет выход с получением адресов и правилами расходования вашего кошелька. Один подходящий префикс или похожее начало адреса не отвечают на этот вопрос и не заменяют предусмотренную проверку.
Какие сведения PSBT помогают проверить сдачу
В разделе распознавания сдачи BIP174 описано использование сведений о получении ключей и публичных ключей. Для выхода с одним ключом подписант может получить и сравнить соответствующий ключ. Для выхода с несколькими нужно учитывать политику расходования. Наличие своего ключа среди участников само по себе не делает весь выход безопасным и не доказывает сохранение того порядка управления, из которого расходуются исходные средства.
У совместного кошелька сдача должна оставаться под предусмотренной совместной политикой. Выход с одним знакомым участником не обязательно равнозначен прежней конфигурации. BIP388 рассматривает политики кошельков и сложность проверки сдачи при составных условиях расходования. Практический вопрос — не просто наличие знакомого ключа, а сохранение нужного вам управления. Это особенно существенно, если исходные средства принадлежат совместной схеме и не должны оказаться у одного участника отдельно.
В документации Bitcoin-приложения Ledger приведён пример реализации: аккаунт описывается шаблоном политики и сведениями о ключах. Это не требование регистрировать новую политику при каждой оплате. Неожиданный запрос регистрации другого кошелька при обычном переводе требует объяснения. Привычное название аккаунта не заменяет проверки того, какие условия и ключи за ним представлены на устройстве и соответствуют ли они ожидаемой схеме.
Предупреждение нужно объяснить, а не отключить
В руководстве проверки транзакций COLDCARD описан показ назначений, сумм, комиссии и сдачи, а также специальные предупреждения о подложной сдаче и неподходящем активном ключе. Это документированные проверки конкретного продукта. Нельзя предполагать, что у каждой модели, прошивки и интеграции одинаковые экраны или одинаковое распознавание произвольной политики. Сверяйтесь с действующим руководством именно своего устройства и поддерживаемой программы, особенно когда предупреждение отличается от привычного.
Если появилось предупреждение, отмените попытку подписи и сохраните неподписанную операцию и текст сообщения для частного разбора. Проверьте аккаунт, контекст дополнительной фразы и поддерживаемую интеграцию. Ошибка координатора или недостающие метаданные могут потребовать пересборки запроса, но предлагаемое исправление должно объяснять причину. Не переименовывайте выход, не отключайте защиту и не вводите seed в декодер только ради исчезновения предупреждения. Отсутствие сообщения после такого вмешательства не доказывает правильность операции.
В руководстве Trezor об адресах сдачи объясняется возврат остатка на адрес под управлением кошелька. Это помогает понять появление нового адреса в операции, но не устанавливает принадлежность любого конкретного назначения. Используйте текущую поддерживаемую процедуру проверки производителя. Ожидаемый формат адреса не подтверждает владение, как и знакомое название кошелька в программе на компьютере не подтверждает, что к подписи переданы правильные выходы.
Порядок подписи без необъяснённых выходов
- Начните с независимо проверенной инструкции получателя и нужного аккаунта. Сверьте сеть Bitcoin и единицы суммы.
- Сформируйте PSBT через поддерживаемый координатор, не импортируя секрет восстановления аппаратного устройства в компьютер.
- Проверьте на устройстве назначения и суммы, затем обработку сдачи и общий расход. Просмотрите дополнительные выходы, не ограничиваясь одной сводкой.
- Для мультиподписи и других специальных аккаунтов проверьте нужную политику; разберите неожиданную регистрацию или несовпадение.
- Отклоните необъяснённый выход, комиссию, сообщение о ключе либо изменении транзакции. Пересобирайте запрос после установления причины.
- После подписи и публикации согласованной операции поддерживаемым способом проверьте реальные назначения, сдачу и комиссию по итоговой записи транзакции.
Публичный декодер PSBT может раскрыть входы, суммы выходов и метаданные кошелька, даже если без подписей не способен потратить деньги. Не загружайте туда пакет транзакции только для расшифровки предупреждения. Используйте поддерживаемый локальный просмотр либо доверенный закрытый разбор, сокращая передаваемые сведения. Фраза восстановления не является частью запроса проверки PSBT. Если её предлагают ввести для исправления сдачи, прекращайте такой способ разбора и возвращайтесь к официальному каналу производителя.
В условном примере на 100 000 sat правильные 30 000 получателю и необъяснённый выход на 69 000 ещё не означают готовность к подписи. Распознавание нужной политики сдачи и совпадающая комиссия уже являются содержательными проверками. Но они не подтверждают честность получателя и исправность всех компонентов установки. Не превращайте одну успешно пройденную защиту в вывод о полной безопасности кошелька: каждая проверка отвечает на свою часть конкретного решения.
При обмене без регистрации инструкция BTC-депозита задаёт получателя платежа, но не определяет, куда вернуть остаток выбранных вами входов. Эти роли нужно разделять. На странице Bitcoin есть сведения об активе, а устройство должно проверить разрешаемое расходование. Курс обмена, привычный координатор и перенос файла без подключения к компьютеру не отменяют проверки сдачи. До подписи каждый выход должен иметь понятную роль в той операции, которую вы действительно решили совершить.
Частые вопросы
Bitcoin PSBT decoder подтвердит, что адрес сдачи принадлежит мне?
Просмотр данных сам по себе не доказывает управление выходом. Нужна поддерживаемая проверка кошелька и его политики на подписывающем устройстве.
Означает ли формат PSBT, что перевод Bitcoin безопасен?
Название описывает формат работы с данными и подписями, а не результат проверки безопасности. Назначения, сдача, комиссия и политика по-прежнему требуют проверки.
В Bitcoin PSBT можно проверить только адрес получателя?
Этого недостаточно: остаток может уходить отдельным выходом. До подписи разберите сдачу и любые неизвестные выходы или предупреждения устройства.