- Главная
- / BIP39 по-русски
- / Неверная сид-фраза: как найти и исправить ошибку
Неверная сид-фраза: как найти и исправить ошибку
Сообщение «Неверная сид-фраза», «Invalid mnemonic» или «Invalid checksum» означает одно: из введённых слов не складывается правильная фраза BIP39. Средства при этом никуда не делись: кошельку просто не хватает верных слов, чтобы вычислить ключи. Причин немного: опечатка, переставленное или пропущенное слово, фраза другого формата. Ниже — как кошелёк проверяет сид-фразу, как найти ошибку по шагам и что делать, если фраза принята, а средств не видно.
Главное правило: ищите ошибку только в самом кошельке или на компьютере без интернета. Не вводите сид-фразу на сайтах «проверки», в ботах и чатах «поддержки»: любой, кто увидит слова, сможет забрать средства.
Как кошелёк проверяет сид-фразу
Проверок две. Сначала кошелёк смотрит на число слов — допустимы 12, 15, 18, 21 и 24 — и ищет каждое слово в списке BIP39 из 2048 слов. Затем сверяет контрольную сумму: последние биты фразы должны совпасть с первыми битами хеша SHA-256 от остальных бит. В фразе из 12 слов сумма занимает 4 бита, в фразе из 24 слов — 8. Подробнее об устройстве фразы — в статье «Что такое сид-фраза и как она работает».
Сумма короткая, и спецификация BIP39 сама называет это недостатком: она ловит случайные ошибки лишь с умеренной вероятностью и ничем не помогает их исправить. Случайная замена слова в фразе из 12 слов проходит проверку примерно в одном случае из 16, в фразе из 24 слов — в одном из 256.
Пример на официальной тестовой фразе BIP39 (она опубликована, хранить на ней средства нельзя): «legal winner thank year wave sausage worth useful legal winner thank yellow». Если прочитать wave как wage, фраза всё равно пройдёт проверку, и кошелёк без предупреждений откроет другой кошелёк, где ваших средств нет. А в тестовой фразе «ozone drill grab fiber curtain grace pudding thank cruise elder eight picnic» замена curtain на certain проверку уже не проходит. Отсюда вывод: сообщение об ошибке значит, что ошибка точно есть, а его отсутствие ещё не доказывает, что фраза верна.
| Что показывает кошелёк | Вероятная причина | Где искать |
|---|---|---|
| Слово подсвечено или «не найдено» | Опечатка, слово не из списка, русская буква | Шаг 1 |
| Неверное количество слов | Пропущенное или лишнее слово, фраза не BIP39 | Шаги 2 и 3 |
| Ошибка контрольной суммы | Неверное или переставленное слово, другой формат | Шаги 2 и 3 |
| Фраза принята, но баланс нулевой | Парольная фраза, путь деривации, ошибка, прошедшая проверку | Шаг 4 |
Шаг 1. Проверьте каждое слово
- Пересчитайте слова по своей записи. Не переносите фразу в файлы и заметки, даже ненадолго.
- Сверьте начало слова. В английском списке BIP39 любое слово однозначно определяется первыми четырьмя буквами. Если окончание неразборчиво, найдите в списке слов BIP39 с транскрипцией и переводом слово с теми же первыми буквами.
- Проверьте похожие слова. Больше шестисот пар слов в списке различаются одной буквой (certain и curtain, angle и ankle, coach и couch), а некоторые звучат одинаково (peace и piece, right и write, pair и pear) — их легко спутать при записи на слух.
- Поищите русские буквы. Кириллические а, е, о, р, с, у и х выглядят как латинские, но для программы это другие символы, и слово с такой буквой в списке не найдётся. Если слово выглядит правильно, но не принимается, сотрите его и наберите заново в английской раскладке.
- Уберите лишнее: точки, номера слов, двойные пробелы и заглавные буквы. Не каждая программа сама приводит слова к строчным, и «Ozone» с заглавной буквы может не пройти проверку.
- Ищите слова не из списка. Bitcoin, crypto, money и password в нём отсутствуют. Такое слово в записи означает ошибку переписывания или то, что фраза не BIP39.
Шаг 2. Порядок слов и пропущенное слово
Если все слова есть в списке, а контрольная сумма не сходится, значит, одно из слов неверно, слова переставлены или у фразы другой формат (шаг 3).
Порядок. Перестановку контрольная сумма обычно замечает: в тестовой фразе ozone… из 66 возможных обменов двух слов местами проверку проходят только два. Порядок легко сбить, если слова записаны в две колонки, — попробуйте прочитать их по строкам, а не по столбцам. Если порядок потерян полностью, у 12 слов 12! = 479 001 600 вариантов, и такой перебор под силу программам восстановления. У 24 слов вариантов около 6,2 × 10²³ — перебрать их невозможно.
Неверное или пропущенное слово. Сколько вариантов придётся проверить в фразе из 12 слов:
| Что известно | Вариантов |
|---|---|
| Одно неверное слово, место известно | 2048 |
| Одно неверное слово, место неизвестно | 12 × 2048 = 24 576 |
| Одно слово пропущено (записано 11), место неизвестно | 12 × 2048 = 24 576 |
| Два неверных слова, места известны | 2048² ≈ 4,2 млн |
| Два неверных слова, места неизвестны | 66 × 2048² ≈ 277 млн |
| Три неверных слова, места известны / неизвестны | 2048³ ≈ 8,6 млрд / 220 × 2048³ ≈ 1,9 трлн |
Контрольная сумма отсеивает примерно 15 вариантов из 16, но не больше. Если в тестовой фразе ozone… выпало одно слово и место неизвестно, проверку проходят от 1482 до 1588 кандидатов в зависимости от того, какое слово пропало. Выбрать правильного кандидата можно только по тому, что вы знаете о кошельке: по адресу, на который приходили средства, и по типу кошелька.
Программы восстановления. Для такого перебора есть открытая программа BTCRecover: она подбирает пропущенные и ошибочные слова, восстанавливает порядок 12 слов и понимает фразы Electrum и SLIP-39. Чтобы узнать правильный вариант, ей нужен известный адрес кошелька или база адресов. Скачивайте программу только из официального репозитория и запускайте на компьютере без интернета. Когда фраза найдена, разумно создать новый кошелёк и перевести туда средства: старая фраза побывала на компьютере.
Шаг 3. Убедитесь, что это фраза BIP39
Не всякая фраза из английских слов следует BIP39: у некоторых форматов свой список слов или свои правила проверки. Такая фраза верна, просто не для этого кошелька. Подсказку даёт число слов:
| Слов | Формат | Где восстанавливать |
|---|---|---|
| 12, 15, 18, 21, 24 | BIP39 | Любой кошелёк с BIP39 |
| 12 | Electrum: слова из списка BIP39, своя проверка | Electrum |
| 16 | Polyseed: слова из списка BIP39, формат для Monero и похожих монет | Кошелёк с поддержкой Polyseed |
| 20 или 33 | SLIP-39 (Shamir Backup у Trezor): свой список из 1024 слов | Trezor или кошелёк с поддержкой SLIP-39 |
| 24 | Классическая фраза TON: слова из списка BIP39, своя проверка | Кошелёк для TON |
| 25 | Monero: свой список из 1626 слов, последнее слово контрольное | Кошелёк Monero |
- Electrum с версии 2.0 использует собственную схему с номером версии и не создаёт фразы BIP39. Нынешние версии следят, чтобы новая фраза не проходила проверку BIP39, и BIP39-кошелёк её отвергнет. Старые так не делали: их фраза может случайно пройти контрольную сумму и открыть в BIP39-кошельке пустой кошелёк. А чтобы открыть фразу BIP39 в самом Electrum, при восстановлении нажмите Options и выберите BIP39 seed.
- Trezor с июня 2024 года по умолчанию создаёт на устройствах серии Safe резервную копию Shamir из 20 слов. Её примет только кошелёк с поддержкой SLIP-39.
- TON в классическом формате проверяет 24 случайных слова по своим правилам, а не контрольной суммой BIP39, поэтому BIP39-кошелёк почти всегда назовёт такую фразу неверной. Подробнее — в разборе формата сид-фразы TON (на английском).
Другой язык списка. Если слова испанские, французские или из другого официального списка BIP39, а кошелёк знает только английский, он их не найдёт: выберите язык при восстановлении, если это возможно. Русского списка нет, так что русские слова в записи — это перевод. Переводите обратно осторожно: «быстрый» — это quick, rapid или swift, «цель» — aim, purpose или target, и все шесть слов есть в списке.
Шаг 4. Фраза принята, а кошелёк пустой
Если ошибки нет, а баланс нулевой, кошелёк вычислил другие ключи или ищет средства не там. Проверьте по порядку:
- Парольная фраза. Любая парольная фраза открывает рабочий кошелёк, поэтому её ошибка не вызывает сообщения. Проверьте регистр, пробелы и раскладку: если при создании кошелька клавиатура стояла на русской раскладке, парольной фразой стали русские буквы. «Е» вместо «ё» — тоже другой пароль и другой кошелёк. Если парольной фразы не было, поле должно остаться пустым. Подробнее — в статье о парольной фразе BIP39.
- Тип адреса и путь деривации. Одна фраза даёт разные адреса Bitcoin: Legacy (начинаются с 1, BIP44), SegWit в P2SH (с 3, BIP49), Native SegWit (с bc1q, BIP84) и Taproot (с bc1p, BIP86). Если старый кошелёк использовал другой тип, выберите его при восстановлении или в настройках кошелька. Как это устроено, объясняет статья о том, что такое путь деривации.
- Предел пустых адресов. По BIP44 кошелёк прекращает поиск после 20 неиспользованных адресов подряд. Адрес дальше этой границы найдётся только после увеличения предела — так это описывает, например, документация Electrum.
- Слово, случайно прошедшее проверку. Если ничего не помогло, вернитесь к шагам 1 и 2: одно неверное, но существующее в списке слово могло пройти контрольную сумму, как wage вместо wave. Сравните первый адрес восстановленного кошелька с тем, что у вас сохранилось, например с адресом в истории выводов с биржи.
Пошаговое восстановление описано в статье о том, как восстановить кошелёк по сид-фразе.
Частые вопросы
Можно ли восстановить кошелёк, если одного слова не хватает?
Как правило, да, если известен хотя бы один адрес кошелька. Для фразы из 12 слов это 2048 вариантов, если место слова известно, и 24 576, если нет. Контрольная сумма оставляет примерно каждый шестнадцатый, а правильный находят по адресу программой восстановления на компьютере без интернета.
Можно ли проверить сид-фразу на сайте?
Нет. Любой сайт может сохранить введённые слова, поэтому фразу кошелька со средствами вводят только в сам кошелёк. Онлайн-инструменты, включая инструменты этого сайта, годятся только для тестовых фраз.
Как не допустить ошибку в следующий раз?
Записывайте слова от руки, по порядку и с номерами, сверяя каждое со списком. Сразу после создания восстановите кошелёк по записи и сравните первый адрес, а парольную фразу храните так же надёжно, но отдельно от слов. Способы хранения на бумаге и металле разобраны в статье о том, как хранить сид-фразу.