Мнемоническая фраза блокчейн-кошелька часто воспринимается как «пароль из 12 или 24 слов», но с криптографической точки зрения это компактное представление энтропии, из которой детерминированно выводятся seed, мастер-ключ, дочерние приватные ключи и адреса. Восстановление кошелька — не поиск данных на сервере, а повторное выполнение строго определённой цепочки преобразований. Понимание этой цепочки позволяет корректно восстановить доступ, оценить риски и избежать ошибок, связанных с passphrase, путями деривации и форматами адресов.
1. Что именно восстанавливается
В блокчейн-кошельке не хранятся сами монеты. Средства учитываются сетью по адресам, а доступ к ним определяется знанием приватных ключей. Мнемоническая фраза кодирует исходную энтропию; из неё через PBKDF2 и BIP-32 выводятся приватные ключи. Поэтому корректное восстановление означает получение той же последовательности ключей и адресов, которая использовалась ранее. Если совпали мнемоника, необязательный passphrase, стандарт мнемоники и путь деривации, результат будет детерминированным и воспроизводимым даже без подключения к сети.
2. BIP-39: энтропия, контрольная сумма и словарь

BIP-39 описывает преобразование энтропии в мнемоническую фразу. Исходная энтропия имеет длину от 128 до 256 бит, кратную 32 битам. К ней добавляется контрольная сумма: первые ENT/32 бит хеша SHA-256 от энтропии. Полученная битовая строка разбивается на группы по 11 бит, каждая из которых указывает на слово в словаре из 2048 слов. Так 128 бит энтропии и 4 бита контрольной суммы дают 12 слов, а 256 бит и 8 бит контрольной суммы — 24 слова. Контрольная сумма обнаруживает часть опечаток и перестановок, но не является криптографической аутентификацией и не защищает от кражи фразы. Язык словаря может различаться, однако энтропия и итоговая последовательность должны соответствовать выбранному стандарту; для мнемоники и passphrase критична нормализация Unicode NFKD.
3. PBKDF2-HMAC-SHA512 и роль passphrase
Из мнемонической фразы выводится seed с помощью PBKDF2-HMAC-SHA512. Паролем служит нормализованная мнемоника, солью — строка «mnemonic» с добавленным passphrase, число итераций по BIP-39 равно 2048, длина выхода — 64 байта. Passphrase не хранится в мнемонике и не проверяется контрольной суммой: другая passphrase создаёт другой seed и другой кошелёк. Это даёт возможность правдоподобного отрицания, но одновременно создаёт риск безвозвратной потери доступа при забытой passphrase. Seed не является приватным ключом; это исходный материал для иерархической деривации ключей.
4. BIP-32: иерархическая деривация ключей

BIP-32 определяет построение HD-кошелька. Из seed через HMAC-SHA512 с ключом «Bitcoin seed» получаются мастер-приватный ключ и chain code. Дочерние ключи выводятся детерминированно: для hardened-деривации используется приватный ключ родителя, для обычной — публичный ключ и chain code. Результат HMAC разделяется на левую и правую части; левая часть складывается с родительским ключом по модулю порядка кривой secp256k1, а правая становится новым chain code. Пути вида m/44'/0'/0'/0/0, m/49'/0'/0'/0/0, m/84'/0'/0'/0/0 и m/86'/0'/0'/0/0 соответствуют разным стандартам и типам адресов. Одинаковая мнемоника при разных путях деривации приводит к разным адресам, поэтому восстановление без учёта пути может выглядеть как «пустой кошелёк».
5. От seed к адресам: secp256k1, хеши и кодировки
Приватный ключ в типичном блокчейн-кошельке — это скаляр в поле порядка кривой secp256k1. Из него вычисляется публичный ключ как точка на кривой; затем публичный ключ хешируется и кодируется в зависимости от типа адреса. P2PKH, P2SH-P2WPKH, bech32 и bech32m используют разные правила формирования адреса. При восстановлении кошелёк выводит публичные ключи, строит адреса и сравнивает их с известными адресами или сканирует цепочку с учётом gap limit. Если пользователь помнит адрес, но не помнит точный стандарт, приходится проверять несколько распространённых путей и форматов скриптов.
6. Границы безопасности и типичные ошибки

Стойкость схемы основана на энтропии исходной фразы. Для 128–256 бит энтропии прямой перебор практически невозможен. Однако мнемоника является секретом: её компрометация равносильна компрометации всех выведенных ключей. Контрольная сумма не шифрует фразу и не мешает атакующему, который уже её знает. Passphrase добавляет отдельный секрет, но не спасает при слабом выборе. При неполной мнемонике контрольная сумма сокращает число кандидатов, но обычно не даёт единственного решения; нужны дополнительные ограничения — известные адреса, путь деривации, passphrase или сведения о стандарте. Восстановление следует выполнять офлайн, на доверенном устройстве, без облачных заметок, скриншотов и онлайн-генераторов. Для резервного копирования повышенной надёжности применяются схемы разделения секрета, например SLIP-39, но они отличаются от классического BIP-39.
7. Практический алгоритм восстановления
- Проверить словарь, порядок слов, нормализацию NFKD и контрольную сумму мнемоники. 2. Уточнить, использовался ли passphrase и в каком виде. 3. Выполнить PBKDF2-HMAC-SHA512 и получить seed. 4. Построить мастер-ключ BIP-32. 5. Проверить известные пути деривации, типы монет и форматы адресов. 6. Вывести адреса до разумного gap limit и сравнить с известными данными. 7. При неудаче последовательно исключать ошибки: другой язык словаря, опечатка, иной стандарт, забытая passphrase, неверный путь. Не следует многократно перезаписывать устройство или вводить фразу в непроверенные сервисы.
Заключение
Восстановление блокчейн-кошелька по мнемонической фразе — это детерминированная криптографическая процедура, а не магическое действие. Её надёжность определяется качеством исходной энтропии, точностью нормализации, сохранностью passphrase и правильным выбором пути деривации. Понимание BIP-39, PBKDF2, BIP-32 и secp256k1 помогает не только восстановить доступ, но и трезво оценить границы безопасности: мнемоника должна оставаться секретом, а процедура восстановления — офлайн и контролируемой.