Security

Что такое blind signing и почему кошелёк показывает только хеш

21 октября 2026 г.
5 мин чтения

Blind signing — подтверждение транзакции, которую аппаратный кошелёк не может расшифровать. Когда бывает, чем опасно и как подписывать безопаснее.

Сравнение слепой подписи, при которой устройство показывает только хеш, и ясной подписи с расшифрованной функцией, получателем и суммой.
Слепая подпись защищает ключ, но не решение; ясная — и то и другое. Открыть схему крупнее

Blind signing («слепая подпись») — подтверждение транзакции или сообщения, которые аппаратный кошелёк не может показать в читаемом виде. Вместо «Отправить 500 USDT на 0x…» на экране хеш или сырые данные, и вы подтверждаете, не видя, что это делает. Устройство по-прежнему защищает приватный ключ, но уже не защищает решение: если компьютер или сайт лгут о транзакции, вы подпишете то, что они прислали. Поэтому кошельки по умолчанию отключают слепую подпись, и включать её стоит ненадолго и только для доверенных приложений.

Почему аппаратный кошелёк иногда не может расшифровать

Аппаратный кошелёк показывает то, что понимает. Простые переводы монет и известных токенов — легко: устройство разбирает получателя и сумму. Вызовы смарт-контрактов — другое дело: у каждого контракта свои функции и параметры, и устройству нужно описание (ABI или плагин), чтобы превратить байты в слова. Если его нет — новый DeFi-протокол, необычный вызов NFT-маркетплейса, сложные typed data, — оно может показать только хеш данных.

На устройствах Ledger в приложении Ethereum есть настройка «Blind signing» (раньше «Contract data»); когда она выключена, такие транзакции отклоняются. Trezor показывает сырые данные для неизвестных вызовов контрактов. У приложений Solana и других сетей есть похожие опции для транзакций, которые устройство не может разобрать.

Слепая и «ясная» подпись

«Ясная подпись» (clear signing) — противоположность: устройство расшифровывает действие и показывает его смысл — функцию, получателя, суммы, spender. Отрасль движется туда: в 2024 году Ledger предложил стандарт ERC-7730, чтобы dApp публиковали машиночитаемые описания своих вызовов, а EIP-712 уже позволяет устройствам показывать структурированные поля подписей вроде permit.

  • Ясная подпись: вы видите «Approve USDC, spender 0x1111…, сумма без лимита» и можете отказаться.
  • Слепая подпись: вы видите «Hash 0x7a3f…» и вынуждены доверять экрану компьютера.

Как этот риск выглядит на практике

Два хорошо задокументированных случая. В декабре 2023 года скомпрометированная версия библиотеки Ledger Connect Kit встроила дрейнер в dApp, которые её загружали, и пользователям предлагали подписать вредоносные транзакции. В феврале 2025 года подписанты мультиподписи Safe у Bybit подтвердили то, что интерфейс показывал как обычный перевод; на деле подписанные данные передали управление контрактом кошелька злоумышленникам, и было выведено около $1,5 млрд в ETH. В обоих случаях приватные ключи остались в безопасности — перехватили решение.

Как подписывать безопаснее

  1. Держите слепую подпись выключенной. Включайте её только для конкретного действия в доверенном приложении и сразу выключайте.
  2. До подтверждения расшифруйте данные вторым, независимым инструментом. Вставьте calldata в декодер input data или typed data в декодер подписей EIP-712 и сравните с тем, что утверждает dApp.
  3. Выбирайте кошельки и dApp с поддержкой ясной подписи для самых частых действий.
  4. Используйте симуляцию транзакции в браузерном кошельке как дополнительный сигнал, а не единственный.
  5. Для крупных средств делите ответственность: мультиподпись, где каждый подписант проверяет независимо, лучше на разном софте.
  6. Держите сбережения на адресе, который делает только простые переводы — их устройства всегда показывают ясно.

Как сверить хеш, если без слепой подписи не обойтись

Некоторые устройства и в слепом режиме показывают хеш данных, а ряд инструментов вычисляет тот же хеш из транзакции. Для мультиподписи Safe интерфейс показывает «safeTxHash»; независимые инструменты могут пересчитать его по полям транзакции. Если хеш на устройстве совпал с хешем, независимо вычисленным из ожидаемых данных, устройство подписывает именно их. Если такую сверку сделать нельзя, вы полностью доверяете компьютеру — повод подождать или попросить второго человека проверить.

Каким действиям она обычно нужна

Когда аппаратный кошелёк показывает детали, а когда нет (типично)
ДействиеОбычно ясно?Примечание
Перевод BTC, LTC, DOGEДаАдрес и сумма на экране
Перевод ETH или ERC-20ДаИзвестные токены показаны по имени
Обмен на крупной DEXЧастоЗависит от поддержки плагина
Вызов нового DeFi-протоколаНетНужна слепая подпись
Typed data permit / Permit2ЧастичноПоля видны, смысл надо прочитать
Транзакция мультиподписи SafeЧастичноСверяйте хеш транзакции Safe независимо

Обмен без подписи контрактов

Отправка монет на заказ KOT.CASH — обычный перевод: устройство показывает адрес депозита и сумму, и вы сверяете их со страницей заказа. Ни вызова контракта, ни слепой подписи. Это одна из причин, почему простые переводы — самый безопасный способ двигать средства между сервисами.

Частые вопросы

Слепая подпись всегда опасна?

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

Почему Ledger просит включить blind signing?

Транзакция вызывает смарт-контракт, который приложение Ethereum не может расшифровать. Включите только для этого действия и выключите после.

Что такое clear signing?

Устройство показывает расшифрованное действие — функцию, получателя, суммы, — и вы проверяете его на экране самого устройства.

Можно ли проверить слепую транзакцию иначе?

Да. Расшифруйте calldata или typed data независимым инструментом и сверьте хеш, показанный на устройстве.

Нужна ли слепая подпись для обмена в KOT.CASH?

Нет. Вы делаете обычный перевод на адрес депозита, и аппаратный кошелёк показывает его полностью.

Декодер input dataДекодер подписей EIP-712Дрейнеры и подписи permitМультиподпись

Источники

Готовы обменять крипту?

Быстрые, прозрачные свопы — регистрация не нужна.

Начать обмен
Что такое blind signing и почему кошелёк показывает только хеш | KOT.CASH