- Главная
- / BIP39 по-русски
- / Проверка сид-фразы
Проверка сид-фразы 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 слов, поэтому контрольная сумма всегда оказывается в последнем слове. Подробнее — в статье о том, что такое сид-фраза и как она работает.
| Слов | Энтропия | Контрольная сумма | Проходят случайные наборы |
|---|---|---|---|
| 12 | 128 бит | 4 бита | 1 из 16 |
| 15 | 160 бит | 5 бит | 1 из 32 |
| 18 | 192 бита | 6 бит | 1 из 64 |
| 21 | 224 бита | 7 бит | 1 из 128 |
| 24 | 256 бит | 8 бит | 1 из 256 |
Чтобы проверить фразу, инструмент превращает слова обратно в числа, отделяет последние ENT/32 бит, хеширует остальное и сравнивает результат. Ту же проверку выполняет кошелёк при восстановлении, поэтому опечатка обычно приводит к ошибке «неверная сид-фраза» (Invalid mnemonic), а не к пустому кошельку. Метод описан в спецификации BIP39; страница использует ту же библиотеку @scure/bip39, что и другие инструменты сайта.
Из этой схемы следует, что последнее слово нельзя выбрать произвольно: после любых 11 слов фразу завершают только 128 слов из 2048. Все подходящие слова покажет калькулятор последнего слова сид-фразы.
Если сид-фраза не проходит проверку
Чаще всего ошибка появляется при записи фразы, а не в кошельке. Причины в порядке убывания вероятности:
- Опечатка в слове. Проверка подсветит слово и предложит исправления; сверить написание буква за буквой можно по списку слов BIP39 с транскрипцией и переводом.
- Слово прочитано как другое слово из списка, например wave вместо wage. Оба слова есть в списке, поэтому подмену может заметить только контрольная сумма.
- Два слова поменялись местами — часто так бывает, когда фраза переписана в две колонки.
- Фраза не 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 регистр важен, но её вводят в кошельке отдельным полем, и здесь она не проверяется.