BIP38 и полностью офлайн-восстановление мнемоники: безопасный протокол
Введение
BIP38 — это стандарт шифрования приватных ключей формата WIF паролем. BIP39 — стандарт мнемонической фразы, из которой детерминированно создаётся seed и приватные ключи. При работе с темой «BIP38 и純 офлайн-восстановление мнемоники» важно сразу разделить два сценария. BIP38 не шифрует саму мнемоническую фразу и не позволяет восстановить исходные 12 или 24 слова из зашифрованного приватного ключа. Если у пользователя есть только BIP38-зашифрованный ключ, он может восстановить доступ к соответствующему приватному ключу и адресу, но не исходную мнемонику. Если же задача — восстановить кошелёк по BIP39-мнемонике, используется отдельный офлайн-процесс. Ниже описан безопасный протокол для обоих случаев с акцентом на полную изоляцию от сети.
1. Терминологические границы: BIP38 и BIP39
BIP38
BIP38 применяется для защиты приватного ключа паролем. Зашифрованный ключ обычно начинается с 6P, а для дешифрования требуется отдельный пароль-фраза. Результат дешифрования — WIF-приватный ключ, который даёт контроль над конкретным адресом или набором адресов, если речь идёт о совместимом кошельке. BIP38 не хранит мнемонику и не является способом резервного копирования seed-фразы.
BIP39
BIP39 описывает мнемоническую фразу и её преобразование в seed. Для восстановления кошелька важны: правильный порядок слов, контрольная сумма, при наличии — дополнительный пароль BIP39 passphrase, а также корректный путь derivation path и тип адресов. Ошибка в пути производной или типе адреса может создать впечатление «пустого» кошелька при формально верной мнемонике.
Ключевой вывод
Нельзя смешивать BIP38 и BIP39 в одном шаге. BIP38 защищает приватный ключ, BIP39 восстанавливает иерархический кошелёк. Полностью офлайн-процедура должна явно указывать, какой именно секрет восстанавливается: зашифрованный приватный ключ или мнемоническая фраза.
2. Модель угроз и принципы безопасности
При восстановлении криптографических секретов главная угроза — не только сетевой взлом, но и утечка через периферию и цифровые следы. В модель угроз следует включить: вредоносное ПО, буфер обмена, скриншоты, облачную синхронизацию, историю браузера, swap-файлы, журналы, подключённые камеры, микрофоны, принтеры, фишинговые инструкции и компрометацию цепочки поставок.
Базовые принципы:

- используйте отдельное воздушно-изолированное устройство, которое никогда не подключается к сети;
- применяйте проверенные open-source инструменты с проверкой хешей и подписей;
- вводите секреты вручную, без буфера обмена и автосохранения;
- не фотографируйте мнемонику и не храните её в облаке;
- минимизируйте время нахождения секрета в оперативной памяти;
- после завершения перезагружайте устройство и уничтожайте временные носители;
- проверяйте адреса и суммы до подписи транзакции;
- для первых операций используйте малую тестовую сумму.
3. Подготовка изолированной среды
- Выберите отдельный компьютер или одноплатный ПК, который будет использоваться только для криптографических операций. Физически отключите Wi-Fi, Bluetooth и иные радиомодули. Если возможно, извлеките батарею и используйте устройство в контролируемом помещении без камер.
- Подготовьте загрузочный носитель с проверенной операционной системой. Скачайте образ и инструменты на другом устройстве, проверьте контрольные суммы и цифровые подписи, запишите на одноразовый носитель.
- Заранее определите инструменты: офлайн-дешифратор BIP38, офлайн-кошелёк с поддержкой BIP39, средство проверки адресов и, при необходимости, программу для офлайн-подписи транзакций.
- Подготовьте бумагу, металлическую пластину или иную огнестойкую резервную копию. Пароль BIP38 и мнемоника не должны храниться в одном месте без дополнительной защиты.
- Проверьте, что в помещении нет работающих камер, умных колонок и других устройств с микрофонами. Отключите уведомления и синхронизацию на всех соседних устройствах.
4. Сценарий A: восстановление доступа по BIP38-зашифрованному ключу
Этот сценарий применяется, когда есть BIP38-зашифрованный приватный ключ и пароль, но нет исходной мнемоники. Восстановить мнемонику из BIP38 нельзя; можно лишь получить доступ к приватному ключу.
Пошаговый порядок

- Запишите зашифрованный ключ и пароль на разных носителях. Не вводите их на онлайн-устройстве. Проверьте отсутствие опечаток по контрольным группам символов.
- Загрузите изолированную систему с проверенного носителя. Убедитесь, что сетевые интерфейсы отключены на уровне прошивки или физически.
- Проверьте хеш и подпись офлайн-инструмента. Не используйте сборки из непроверенных источников.
- Введите BIP38-ключ и пароль вручную. Не применяйте буфер обмена, не делайте скриншоты, не сохраняйте промежуточные файлы.
- Выполните дешифрование. Полученный WIF-ключ должен существовать только в оперативной памяти. Сразу проверьте, что производный адрес совпадает с ожидаемым адресом или известной меткой.
- Если требуется переместить средства, создайте подпись транзакции на изолированном устройстве. Передайте подписанную транзакцию на онлайн-устройство через QR-код или одноразовый носитель. Перед трансляцией проверьте получателя, сумму и комиссию.
- После завершения выключите устройство, извлеките временные носители и перезагрузитесь. Не сохраняйте WIF в файлах, заметках или менеджерах паролей на обычном компьютере.
5. Сценарий B: чисто офлайн-восстановление BIP39-мнемоники
Этот сценарий применяется, когда есть мнемоническая фраза BIP39. BIP38 здесь не используется для шифрования самой фразы.
Пошаговый порядок
- Проверьте мнемонику по словарю и контрольной сумме. Слова должны быть в правильном порядке и языке. Не доверяйте автодополнению из сети.
- На изолированном устройстве откройте проверенный офлайн-кошелёк. Введите слова вручную. Если используется BIP39 passphrase, введите его отдельно и проверьте раскладку клавиатуры.
- Выберите правильный путь производной и тип адресов: например, BIP44, BIP49, BIP84 или BIP86 в зависимости от исходного кошелька. Проверьте первые несколько адресов по известным данным.
- Восстановите кошелёк в офлайн-режиме. Для наблюдения за балансом экспортируйте только публичные данные — xpub или descriptor — в watch-only кошелёк на онлайн-устройстве. Приватные ключи и мнемоника остаются в изоляции.
- Для расходования средств создайте транзакцию на онлайн-устройстве, перенесите неподписанную транзакцию на офлайн-устройство, подпишите и верните обратно. Передbroadcast проверьте все поля.
- Сделайте тестовую операцию с малой суммой. Только после подтверждения корректности адреса и доступа переходите к основной сумме.
6. Проверка, подтверждение и очистка следов

После восстановления необходимо подтвердить не только баланс, но и правильность derivационного пути, типа адресов и контроля над ключом. Сравните адреса с ранее сохранёнными данными, проверьте историю транзакций через watch-only кошелёк и убедитесь, что подпись создаётся именно тем ключом.
Завершающий этап:
- перезагрузите изолированное устройство для очистки оперативной памяти;
- уничтожьте временные файлы и одноразовые носители;
- извлеките иsecure-но уничтожьте бумажные черновики;
- проверьте, что мнемоника и пароль не попали в журналы, кэш или буфер обмена;
- храните резервные копии в физически защищённом месте;
- ведите минимальную, но достаточную документацию без раскрытия секретов.
7. Типичные ошибки
- Попытка восстановить исходную мнемонику из BIP38-ключа. Это криптографически невозможно: BIP38 шифрует конкретный приватный ключ, а не seed-фразу.
- Ввод мнемоники или BIP38-пароля на онлайн-компьютере, в облачной заметке или мессенджере.
- Использование буфера обмена и скриншотов при работе с секретами.
- Неверный derivation path или тип адресов, из-за чего пользователь считает кошелёк пустым.
- Применение непроверенных сборок и бинарников без проверки подписи.
- Отсутствие тестовой транзакции перед переводом крупной суммы.
- Хранение пароля BIP38 рядом с зашифрованным ключом без физической защиты.
Заключение
BIP38 и BIP39 решают разные задачи. BIP38 защищает приватный ключ паролем, а BIP39 восстанавливает иерархический кошелёк по мнемонике. Полностью офлайн-восстановление требует воздушного зазора, проверенных инструментов, ручного ввода секретов, контроля адресов и последующей очистки следов. Если доступен только BIP38-зашифрованный ключ, восстановить исходную мнемонику нельзя — можно лишь вернуть контроль над соответствующим приватным ключом и адресом. Строгое разделение этих сценариев и дисциплина операционной безопасности снижают риск необратимой потери средств и компрометации секретов.