1. Главная
  2. / BIP39 по-русски
  3. / Проверка сид-фразы

Проверка сид-фразы BIP39

Вставьте тестовую сид-фразу, чтобы узнать, сходится ли её контрольная сумма BIP39, каких слов нет в списке и какими они, скорее всего, должны быть. Проверка выполняется в вашем браузере.

Только тестовые фразы: не вводите сид-фразу кошелька, на котором есть деньги, ни здесь, ни на любом другом сайте. Настоящую фразу проверяйте в самом кошельке или на компьютере без интернета.

Что покажет проверка сид-фразы

Этот валидатор мнемонической фразы проверяет сид-фразу (seed-фразу) так же, как кошелёк при восстановлении, но вместо короткого сообщения «неверная сид-фраза» объясняет, что именно не так:

  • Слова, которых нет в списке, и для каждого до трёх вероятных исправлений: слова с теми же первыми четырьмя буквами или слова, отличающиеся на одну-две буквы. В английском списке первые четыре буквы однозначно определяют слово, поэтому «abso» может быть только absorb.
  • Допустима ли длина. Фраза BIP39 состоит из 12, 15, 18, 21 или 24 слов. Длина в 20 или 33 слова указывает на долю SLIP-39 (резервная копия по схеме Шамира), 25 слов — на фразу Monero; у Monero бывают и фразы из 13 слов (старый MyMonero) и из 16 (Polyseed). У SLIP-39 и Monero свои списки слов, поэтому при такой длине проверка не предлагает «исправлений», а сообщает о другом формате: слова не из списка BIP39 здесь не опечатки.
  • Сходится ли контрольная сумма — как только все слова найдены в списке и длина допустима.
  • Не сид-фраза ли это Electrum. У Electrum собственный формат: хеш HMAC-SHA512 от фразы начинается с номера версии. Такие фразы — не BIP39, и современные версии Electrum нарочно создают их так, чтобы проверку BIP39 они не проходили.

Как устроена контрольная сумма сид-фразы

Фраза BIP39 кодирует случайное число — энтропию — и несколько проверочных бит. Кошелёк хеширует энтропию алгоритмом SHA-256 и дописывает к ней первые ENT/32 бит хеша, где ENT — длина энтропии в битах. Получившиеся биты делятся на группы по 11, и каждая группа выбирает одно из 2048 слов, поэтому контрольная сумма всегда оказывается в последнем слове. Подробнее — в статье о том, что такое сид-фраза и как она работает.

СловЭнтропияКонтрольная суммаПроходят случайные наборы
12128 бит4 бита1 из 16
15160 бит5 бит1 из 32
18192 бита6 бит1 из 64
21224 бита7 бит1 из 128
24256 бит8 бит1 из 256

Чтобы проверить фразу, инструмент превращает слова обратно в числа, отделяет последние ENT/32 бит, хеширует остальное и сравнивает результат. Ту же проверку выполняет кошелёк при восстановлении, поэтому опечатка обычно приводит к ошибке «неверная сид-фраза» (Invalid mnemonic), а не к пустому кошельку. Метод описан в спецификации BIP39; страница использует ту же библиотеку @scure/bip39, что и другие инструменты сайта.

Из этой схемы следует, что последнее слово нельзя выбрать произвольно: после любых 11 слов фразу завершают только 128 слов из 2048. Все подходящие слова покажет калькулятор последнего слова сид-фразы.

Если сид-фраза не проходит проверку

Чаще всего ошибка появляется при записи фразы, а не в кошельке. Причины в порядке убывания вероятности:

  1. Опечатка в слове. Проверка подсветит слово и предложит исправления; сверить написание буква за буквой можно по списку слов BIP39 с транскрипцией и переводом.
  2. Слово прочитано как другое слово из списка, например wave вместо wage. Оба слова есть в списке, поэтому подмену может заметить только контрольная сумма.
  3. Два слова поменялись местами — часто так бывает, когда фраза переписана в две колонки.
  4. Фраза не BIP39: сид-фразы Electrum, доли SLIP-39, фразы Monero или классический формат TON из 24 слов, который берёт слова из списка BIP39, но проверяет их по своим правилам.

При русской раскладке есть своя ловушка: кириллические а, е, о, р, с, у и х выглядят как латинские, но для программы это другие символы. Проверка покажет такое слово как отсутствующее в списке, даже если на вид оно написано верно, — сотрите его и наберите заново в английской раскладке. Русских слов в сид-фразе BIP39 быть не может: русского списка в стандарте нет, так что русские слова в записи — это перевод. Переводите обратно осторожно: «рука» — это и arm, и hand, а в списке есть оба слова.

Как искать ошибку по шагам и сколько вариантов оставляет пропущенное слово, рассказано в статье о том, как найти и исправить ошибку в сид-фразе.

Как проверить настоящую сид-фразу

Проверка выполняется в вашем браузере, но фраза, набранная на любой веб-странице, доступна расширениям, другим скриптам и вредоносным программам на компьютере. А тот, кто увидит слова, получит все ключи кошелька. Поэтому:

  • Здесь — только тестовые фразы. Кнопка «Подставить тестовую фразу» вставляет официальную тестовую фразу BIP39: одиннадцать раз abandon и слово about. Новую тестовую фразу создаст генератор сид-фразы, а ключи и адреса, которые из неё получаются, покажет конвертер сид-фразы в приватный ключ.
  • Настоящую фразу проверяйте в самом кошельке. Восстановите кошелёк по записи на сброшенном устройстве или во втором приложении: кошелёк выполнит ту же проверку контрольной суммы, а совпадение первого адреса для получения с прежним подтвердит, что фраза та самая.
  • Или возьмите офлайн-копию инструмента BIP39 и запустите её на компьютере, который никогда не подключается к интернету.
  • Если фразу кошелька с деньгами уже вводили на сайте, как можно скорее создайте новый кошелёк с новой фразой и переведите туда средства.

Чтобы проверка вообще не понадобилась, записывайте слова от руки, по порядку и с номерами, и сверяйте каждое со списком. Где держать запись и сколько нужно копий, рассказывает статья о том, как хранить сид-фразу.

Другие инструменты

Проверка сид-фразы — частые вопросы

Можно ли проверить здесь сид-фразу настоящего кошелька?

Нет. Проверка выполняется в браузере, но фраза, набранная на любой веб-странице, доступна расширениям, другим скриптам и вредоносным программам на компьютере. Пользуйтесь проверкой для обучения и для тестов программ на публичных тестовых фразах. Фразу, которая защищает реальные средства, проверяйте восстановлением в самом кошельке или в офлайн-копии инструмента BIP39 на компьютере, который никогда не выходит в интернет.

Что доказывает правильная контрольная сумма?

Только то, что слова согласуются между собой: последние биты фразы совпадают с началом хеша SHA-256 от остальных бит. Сумма ловит большинство опечаток, но не доказывает, что это именно та фраза, которую использует ваш кошелёк: проверку проходит примерно один из 16 случайных наборов из 12 слов и один из 256 наборов из 24 слов.

Все слова есть в списке, а контрольная сумма не сходится. Что делать?

Ищите слово, которое прочитали как другое слово из списка (например, wave и wage), два переставленных слова или пропущенное слово, на месте которого записана догадка. Если фраза создана в Electrum, дело не в опечатке: это вообще не фраза BIP39, и восстанавливать её нужно в Electrum.

Какие списки слов поддерживает проверка?

Все десять официальных списков BIP39: английский, японский, корейский, испанский, китайский (упрощённый и традиционный), французский, итальянский, чешский и португальский. Проверка сама выбирает список, в котором есть ваши слова; большинство кошельков использует только английский. Русского списка в BIP39 нет, поэтому русских слов в сид-фразе быть не может.

Важен ли регистр букв?

Для слов — нет: проверка, как и большинство кошельков, приводит их к строчным буквам. Для парольной фразы BIP39 регистр важен, но её вводят в кошельке отдельным полем, и здесь она не проверяется.