Проверка бэкапа: как убедиться, что seed-фраза работает
Тест восстановления кошелька до аварии: как проверить seed-фразу офлайн, сверить адрес и путь деривации, чтобы бэкап не подвёл в нужный момент.
Тест восстановления кошелька до аварии: как проверить seed-фразу офлайн, сверить адрес и путь деривации, чтобы бэкап не подвёл в нужный момент.
В апреле я села проверять свой бэкап — не когда-нибудь, а в спокойный вечер, с пустым кошельком на столе. Восстановила 12 слов на запасном телефоне, открыла приложение и увидела ноль. Ни одной монеты на адресе, где лежало 0,4 BTC. Десять минут паники, потом мысль: год назад я включила passphrase — дополнительное слово, которого на бумажке не было. Фраза правильная, кошелёк другой. Узнать это в день, когда телефон утонул, стоило бы гораздо дороже.
Проверка бэкапа — это тест восстановления на втором устройстве до того, как случится авария. Он отвечает на три вопроса: верно ли записаны слова, собирает ли устройство тот же адрес и помните ли вы всё, что добавляли к фразе. Занимает 30–60 минут, денег не требует — разве что 10 долларов на одну тестовую транзакцию, если хочется совсем строго.
Нужны бумажная копия фразы (та самая, с которой будете восстанавливать в аварии), второе устройство — старый телефон или ноутбук, который не жалко очистить, официальное приложение кошелька и лист бумаги.
На тестовом устройстве не должно быть денег. Если там есть кошелёк с балансом, сначала переведите всё на основной адрес, потом стирайте. Фразу от нового кошелька записывать не нужно: вы восстанавливаете существующий.
12 слов дают 128 бит энтропии, 24 — 256. В словаре BIP-39 2048 слов, и любое опознаётся по первым четырём буквам: опечатку в бумажке видно.
Последнее слово содержит контрольную сумму — несколько бит, собранных из остальных слов. Если в 12-словной фразе одно слово записано неверно, проверка не пройдёт примерно в 15 случаях из 16. В одном из 16 приложение соберёт другой, пустой кошелёк — и вы решите, что фраза потеряна. С 24 словами контрольная сумма длиннее: шанс пройти с ошибкой — 1 из 256.
Включайте авиарежим, пока вводите слова. В приложении выберите «восстановить кошелёк», а не «создать новый», и вводите слова в том порядке, в котором они записаны. Следите за автозаменой: она любит превращать lite в light и дописывать заглавную букву.
В конце приложение попросит подтвердить 3–4 слова из середины — это проверка того, что вы ввели их в правильном порядке, а не проверка правильности самой фразы. Пройденное подтверждение ничего не доказывает.
Нулевой баланс — ещё не приговор. Сначала сравните первый адрес: он должен совпасть символ в символ с тем, что вы видите на основном устройстве. Для биткоина адрес начинается с bc1, для эфира — с 0x, и это первый признак, что вы смотрите в правильную сеть.
Второй подозреваемый — путь деривации: правило, по которому из фразы выводятся адреса. У биткоина их три: m/44'/0'/0' даёт адреса на 1, m/49'/0'/0' — на 3, m/84'/0'/0' — на bc1. У эфира стандарт один: m/44'/60'/0'/0/0. Одна и та же фраза на разных путях даёт разные адреса — деньги лежат на том, который был у вас изначально, и в настройках кошелька путь переключается вручную.
Passphrase — любое слово или фраза, которую вы добавляете к сид-фразе из 12 или 24 слов. Из неё получается полностью другой кошелёк, и на бумажке с фразой её обычно нет. Отсюда половина историй «фраза верная, а баланс пустой».
Проверка простая: восстановите кошелёк дважды — с passphrase и без. Адреса должны различаться. Если без passphrase вы попадаете на свой рабочий адрес, значит, вы её не включали. И наоборот: если рабочий адрес появляется только с ней, 12 слов без passphrase бесполезны. Храните passphrase отдельно от фразы: вместе они и есть ключ, по отдельности — почти ничего.
Самый честный тест — отправить на восстановленный адрес 10 долларов в USDT и увидеть их в приложении. Одна комиссия сети, зато проверено и совпадение адреса, и управление ключом. Обратный перевод — ещё одна комиссия: при сети в 1–2 доллара тест стоит 3–5 долларов.
Запишите на отдельном листе дату проверки, модель кошелька, путь деривации, наличие passphrase (саму passphrase здесь не пишите), список сетей и где лежат копии фразы — сколько их и у кого. Карточка экономит часы, когда вы растеряны, поэтому и хранится отдельно от фразы.
Сотрите тестовое устройство целиком, удалите скриншоты, заметки и файлы в облаке. Проверьте галерею: фото фразы, сделанное «на минутку», живёт в облаке годами и синхронизируется на все устройства.
Раз в 6–12 месяцев, а также после обновления прошивки аппаратного кошелька, переезда и смены телефона. Одна копия — не бэкап, а надежда: пожар и переезд забирают бумагу одинаково легко. Вторая копия на металле или в другом городе решает проблему, но проверять нужно обе.
В мультисиге 2 из 3 проверяйте каждую долю отдельно: обнаружить потерянный ключ в момент, когда нужны два, — плохой сценарий.
m/84'/0'/0' даёт bc1, m/44'/0'/0' — адреса на 1.