Мнемоника на двух языках: зачем вести словарь BIP39
Представьте: вы восстанавливаете кошелёк после потери телефона, вводите 24 слова, а кошелёк выдаёт «invalid mnemonic». Второй час вы перебираете варианты, и в голове пульсирует мысль — а было ли слово «шляпа» или «шляпе»? Если вы пользовались кошельком с русской мнемоникой, риск такого сценария выше, чем кажется.
BIP39 — стандарт мнемонических фраз — изначально создавался под английский словарь из 2048 слов. Национальные словари появились позже, и поддержка у кошельков неровная: кто-то сверяет фразу по официальному списку, кто-то — по собственной выгрузке, а кто-то вообще не умеет восстанавливать неанглийские фразы. Отдельная напасть — слова с одной приставкой: в русском словаре есть «шляпа» и «шляпка», «палец» и «пальто». Одна буква — и вы восстановите не тот кошелёк.
В этой статье разберём, как устроены словари BIP39, почему похожие слова — реальная угроза вашим средствам, и главное — как заранее проверить восстановимость фразы, пока у вас на руках и бэкап, и доступ к кошельку.
Что такое словарь BIP39 и почему их 2048 слов
Стандарт BIP39 работает так: энтропия вашего кошелька кодируется словами, и каждое слово — это просто номер в словаре. Слово «абажур» в русском словаре — это не слово, а число, например 3. Словарь фиксированный: ровно 2048 слов, отсортированных по алфавиту (точнее, по кодам UTF-8), без дублей и без форм слова.
С 2048 словами каждое несёт ровно 11 бит информации. Фраза из 12 слов — 132 бита: 128 бит энтропии и 4 бита контрольной суммы. Фраза из 24 слов — 264 бита: 256 бит энтропии и 8 бит контрольной суммы. Контрольная сумма — тот механизм, который выдаёт «invalid mnemonic», если вы ошиблись в слове. И вот тут кроется подвох: она ловит большинство ошибок, но не все смысловые подмены.
Официальные словари
На момент выхода стандарта существовал только английский словарь; сейчас в официальной спецификации BIP39 доступно 8 словарей помимо него появившихся позже: японский, корейский, испанский, французский, итальянский, немецкий, чешский и португальский (плюс два китайских). Русского словаря в официальной спецификации BIP39 нет. Если ваш кошелёк предлагает «мнемонику на русском» — это либо модифицированный словарь самого кошелька, либо один из неофициальных списков. Это ключевой факт для всей статьи.
Где кроется опасность похожих слов
В английском словаре слова уникальны по первым четырём буквам: если вы помните, что слово начиналось на «cabo», дальше можно не сомневаться — это «cabin». Это осознанное решение авторов стандарта.
С неофициальными национальными словарями всё хуже. В них встречаются:
- пары, отличающиеся одной буквой: «шляпа/шляпка», «старик/старина»;
- слова с мягким и твёрдым знаком: «моль/мольба»;
- омонфорфные начала: «поле/полено/полёт».
При записи на бумагу от руки буквы «а/о», «е/ё», «и/й» в неразборчивом почерке становятся неразличимыми. Контрольная сумма может «пропустить» подмену одного слова (вероятность прохождения ошибочной фразы — примерно 1 к 16 для 12 слов и 1 к 256 для 24), и тогда кошелёк молча создаст другой адрес с нулевым балансом.
Практический пример: во что обходится одна буква
Разберём на деньгах. Допустим, вы купили крипты на 300 000 ₽ в 2023 году, а к 2025 году портфель вырос до 900 000 ₽ — то есть втрое. Мнемоника — 12 русских слов из неофициального словаря.
Сценарий: при записи фразу вы написали «шляпа», а в словаре кошелька было слово «шляпка». Восстановление:
- Если контрольная сумма не сойдётся — кошелёк откажется принимать фразу. Вы потратите время, но при живом бэкапе сверитесь и исправите. Потеря: 2–3 часа нервов.
- Если сумма случайно сойдётся — вы получите валидный, но чужой кошелёк с нулевым балансом. Если исходного устройства уже нет, а был только бумажный бэкап — 900 000 ₽ недоступны навсегда. Вероятность такого «тихого» исхода около 6% для 12 слов (1/16 ≈ 6,25%) и менее 0,4% для 24 (1/256 ≈ 0,39%).
Итого цена одного неразборчивого символа — от трёх часов до всего портфеля. Проверка фразы заранее занимает 20 минут.
Правило: мнемоническая фраза считается рабочей не когда она записана, а когда вы успешно восстановили по ней кошелёк второй раз на чистом устройстве.
Как проверить фразу заранее: пошаговый протокол
Не откладывайте проверку «на потом». Вот протокол, который стоит прогонять сразу после создания кошелька:
- Запишите фразу на бумагу или выбейте на металлической пластине. При записи произносите каждое слово вслух и сверьте написание.
- Сверьте каждое слово со словарём. Скачайте официальный список BIP39 (для английского) или словарь, который использует ваш кошелёк (обычно есть на GitHub проекта). Отметьте каждое слово галочкой. Никаких «примерно таких» слов в словаре быть не может.
- Тест восстановления. Установите тот же кошелёк на чистое устройство (новый телефон или стёртый профиль), выберите «Восстановить», введите фразу по бумажной записи — не подглядывая в приложение.
- Сверьте адреса. В восстановленном кошельке первый адрес получения должен совпасть с адресом в исходном кошельке (для биткоина — первый receiving address по пути m/84'/0'/0'/0/0, для Ethereum — первый аккаунт m/44'/60'/0'/0/0). Совпал — фраза записана верно.
- Повторите через 1–3 месяца. Почерк, выцветание чернил, «помню же слово» — проверка должна повторяться хотя бы раз в полгода-год.
Важно: проверку делайте только на чистом устройстве в приватной обстановке. Не вводите фразу на устройстве с взломанным ПО и никогда — на сайтах «для проверки seed-фразы».
Чек-лист: типичные ошибки при бэкапе мнемоники
- Запись «на слух» без сверки со словарём — привет, «шляпа/шляпка».
- Бэкап в заметках телефона или облаке в открытом виде.
- Только одна копия на бумаге — сгорела, утонула, потерялась.
- Неразборчивый почерк: буквы «и/й», «а/о», «е/ё» без точек над ё.
- Не проверена восстановимость — фраза записана, но ни разу не введена заново.
- Использование passphrase без её отдельного бэкапа: фраза восстановит кошелёк, а средства «не найдутся».
- Переписывание фразы в другой порядок «для запутывания» без понимания последствий.
Выбор между английским и национальным словарём
Если вы только создаёте кошелёк — практичная рекомендация: используйте английскую мнемонику, даже если интерфейс кошелька русскоязычный. Причины:
- английский словарь — эталон, его поддерживает любой совместимый с BIP39 кошелёк;
- слова уникальны по первым четырём буквам — почти исключает путаницу при рукописной записи;
- меньше риск остаться с фразой, которую не примет другой кошелёк.
Национальная мнемоника оправданна, только если вы принципиально не работаете с латиницей. Тогда обязательно: узнайте, чей словарь использует кошелёк, сохраните этот словарь рядом с бэкапом и проверяйте восстановимость в том же приложении (или его актуальной версии).
И отдельный случай: некоторые кошельки показывают фразу в национальном словаре, но внутри хранят seed иначе. При миграции на другой кошелёк такая фраза может не восстановиться вообще. Перед сменой кошелька — тестовый перенос с маленькой суммой.
FAQ
Можно ли перевести английскую мнемонику в русскую слово в слово? Нет. Слова в словаре — это числа, а нумерация в разных словарях своя. «Abandon» в английском словаре — слово №1, но №1 в другом словаре — совершенно другое слово. Перевод фразы изменит seed и приведёт к другому кошельку. Если нужен другой язык — создавайте новый кошелёк и переносите средства.
Что делать, если при восстановлении кошелёк пишет «invalid mnemonic», а исходное устройство живо? Не гадайте со словами по памяти. Откройте на исходном устройстве раздел с фразой (если доступен), сверьте посимвольно с бумажной записью, найдите расхождение. Если расхождение в похожем слове — проверьте оба варианта по словарю кошелька. И до выяснения не отправляйте средства на этот кошелёк.
Как часто нужно проверять восстановимость фразы? Минимум дважды: сразу после создания кошелька и через несколько месяцев. Далее — раз в год или при смене кошелька, устройства или крупном пополнении. Для металлических пластин — визуальная проверка читаемости раз в год. Каждая проверка занимает 15–30 минут и стоит дешевле одного процента риска потерять весь портфель.
Берегите бэкап — и пусть ваша мнемоника восстанавливается с первого раза.