Чтобы проверить, какие сети поддерживает ваш адрес, и сделать полную резервную копию, одних слов восстановления мало. Слова сохраняют корень, но не сохраняют описание кошелька: путь вывода, тип скрипта, перечень сетей и адреса контрактов токенов. Эти данные образуют второй объект копирования — назовём его паспортом кошелька. Без него восстановленный корень иногда показывает нулевой баланс при полностью целых ключах.

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

Разделение двух копий выглядит бюрократией и спасает деньги. Ключи задают, чем вы владеете. Паспорт задаёт, где это искать. Владение остаётся. Доступ пропадает.

Под какой сценарий подбирается кошелёк и состав копии

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

Отсюда неприятный вывод для владельцев сложных конструкций. Ваша фраза восстановления сама по себе не восстанавливает кошелёк: без полного описания схемы средства останутся видимыми и недоступными. Разбор, как настроить мультисиг-хранилище для семьи или небольшой команды, описывает, какие именно данные входят в такое описание.

Схема из шести шагов: сбор перечня сетей и контрактов, выгрузка дескрипторов и путей вывода, запись отпечатка корня и политики подписи, проверка контрольной суммы дескриптора, раздельное хранение паспорта и ключей, контрольное восстановление по паспорту
Схема из шести шагов: сбор перечня сетей и контрактов, выгрузка дескрипторов и путей вывода, запись отпечатка корня и политики подписи, проверка контрольной суммы дескриптора, раздельное хранение паспорта и ключей, контрольное восстановление по паспорту

Сравнение частей копии: что меняется для пользователя

Элемент Входит в слова восстановления Что без него теряется Где хранить
Корень кошелька Да Владение средствами Копия слов, отдельно от паспорта
Путь вывода и тип скрипта Нет Видимость балансов при верных словах Паспорт, в виде дескриптора
Перечень сетей с идентификаторами Нет Доступ к балансам в совместимых цепях Паспорт
Адреса контрактов токенов Нет Отображение токенов, защита от двойников Паспорт
Публичные ключи соучастников и политика подписи Нет Возможность восстановить мультиподпись вообще Паспорт, в нескольких экземплярах

Последняя строка критична. Без неё восстановления нет. В схемах с несколькими подписями паспорт перестаёт быть удобством и становится условием восстановления, поэтому его держат в нескольких экземплярах у разных участников. Что раскрывает каждый такой публичный ключ, объясняет материал, как устроен расширенный публичный ключ в мультиподписи.

Сбор копии шаг за шагом

  1. Соберите перечень сетей, в которых адрес использовался, и запишите для каждой идентификатор цепи и обозреватель, по которому вы сверяете балансы.
  2. Выгрузите из приложения дескрипторы счетов вместе с путями вывода и отпечатком корня. Дескриптор несёт и тип скрипта, и путь, и происхождение ключа.
  3. Запишите политику подписи, если она сложнее одиночного ключа: сколько подписей из какого числа, чьи публичные ключи участвуют, в каком порядке.
  4. Добавьте адреса значимых контрактов токенов, сверив каждый с публикацией в обозревателе целевой сети.
  5. Проверьте контрольную сумму дескриптора: она ловит искажения при переписывании и не даёт восстановить кошелёк по испорченной строке.
  6. Положите паспорт отдельно от слов восстановления и проведите контрольное восстановление на чистом устройстве по паспорту, а не по памяти.
Чем проверяется правильность записи. Стандарт BIP-380 описывает дескрипторы выходных скриптов и предусматривает контрольную сумму из восьми символов: она обнаруживает любую одиночную ошибку, а также любые две или три ошибки в дескрипторе длиной до 49 154 символов. Стандарт BIP-32 дополняет картину предупреждением: родительский расширенный публичный ключ вместе с любым неужесточённым дочерним приватным ключом равносилен родительскому приватному ключу, то есть всему кошельку.

Резервная копия и проверка восстановления

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

Проверка восстановления выполняется по паспорту целиком, а не на глаз. Порядок такой: чистое устройство, ввод слов из копии, настройка пути вывода и типа адреса по дескриптору, добавление сетей и контрактов по записи, сверка балансов с описью — и только затем очистка устройства с записью даты проверки. Процедура длинная. Выполняется раз в год. Зато отвечает на единственный значимый вопрос: восстанавливается ли кошелёк по тому, что у вас есть, а не по тому, что вы помните.

Понимание происхождения самих слов помогает не путать два объекта копирования: стандарт BIP-39 и происхождение 24 слов восстановления — там описано, что именно кодируют слова и почему конфигурация в них не попадает.

Типовые ошибки, которые стоят денег

Паспорт в одном конверте со словами восстановления. Такое хранение удобно и сводит обе копии к одной точке отказа: пожар, кража или любопытный родственник забирают сразу и владение, и описание схемы.

Вторая ошибка — паспорт без даты. Конфигурация меняется: добавляются сети, появляются новые счета, меняются участники подписи. Запись без даты через год непригодна. Дата обязательна.

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

Четвёртая ошибка — хранение паспорта только в приложении на том же телефоне, где живёт кошелёк. Устройство теряется. Обе части уходят с ним. Бумага и второй носитель вне дома решают задачу, а общий порядок таких хранилищ описан в материале, что такое самостоятельное хранение и какую ответственность оно даёт.

Что делать при утере доступа

  1. Определите, что потеряно: ключи или описание. Нулевой баланс при верных словах почти всегда означает утрату второго, а не первого.
  2. Восстановите перечень сетей по истории адреса в обозревателях: транзакции сохраняют следы каждой цепи, где адрес работал.
  3. Подберите путь вывода перебором стандартных вариантов, сверяя первый адрес каждого с тем, который виден в обозревателе.
  4. Для мультиподписи соберите публичные ключи у остальных участников: без полного набора политика не восстанавливается.

Чек-лист

  • Перечень сетей с идентификаторами цепей записан
  • Дескрипторы счетов выгружены вместе с путями вывода
  • Отпечаток корня и первый адрес зафиксированы
  • Политика подписи описана, если она сложнее одного ключа
  • Адреса контрактов сверены с обозревателями и записаны
  • Контрольная сумма дескриптора проверена
  • Паспорт хранится отдельно от слов восстановления
  • Контрольное восстановление по паспорту пройдено, дата записана

Материалы по теме:

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

Разве 24 слов недостаточно для полного восстановления?

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

Можно ли хранить паспорт кошелька в облаке?

Технически да, секретов он не содержит. Но паспорт раскрывает ваши адреса, историю и размер владения, поэтому выкладывать его в открытый доступ не стоит. Разумный вариант — бумажный экземпляр отдельно от слов восстановления и второй носитель вне дома, у человека, которому вы доверяете хранение.

Что писать в паспорт для мультиподписи?

Политику и всех участников. Нужны публичные ключи каждого соучастника, требуемое число подписей из общего количества, пути вывода и дескриптор целиком с контрольной суммой. Без полного набора восстановление невозможно даже при сохранной собственной фразе, поэтому паспорт хранят в нескольких экземплярах у разных людей.

Как часто обновлять паспорт?

При каждом изменении конфигурации и обязательно раз в год при плановой сверке копий. Добавили сеть, завели новый счёт, сменился участник подписи — запись переписывается с новой датой. Старый экземпляр уничтожают, чтобы при восстановлении не возникло двух версий описания с разным содержанием.

Вердикт

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

Разборы и предупреждения о свежих схемах публикуем в Telegram-канале Cryptium.

Источники: спецификация BIP-380 о дескрипторах выходных скриптов и спецификация BIP-32 об иерархических детерминированных кошельках.