- Главная
- / BIP39 по-русски
- / Калькулятор последнего слова
Калькулятор последнего слова сид-фразы
Введите первые 11, 14, 17, 20 или 23 слова фразы и получите все последние слова, с которыми контрольная сумма BIP39 сходится. Расчёт выполняется в вашем браузере.
Почему последнее слово сид-фразы особенное
Фраза BIP39 — это случайное число, за которым следует контрольная сумма: первые ENT/32 бит его хеша SHA-256, где ENT — длина случайной части в битах. Каждое слово обозначает 11 бит, и контрольная сумма попадает в конец, внутрь последнего слова. Поэтому первые слова могут быть любыми словами из списка, а последнее должно им соответствовать: большинство слов не подходит, и кошелёк отвергает такую фразу как неверную. Калькулятор перебирает все 2048 слов и оставляет те, что проходят проверку, — в точности как описано в спецификации BIP39. Как устроена фраза целиком, рассказано в статье о том, что такое сид-фраза.
| Длина фразы | Вводимых слов | Свободных бит в последнем слове | Бит контрольной суммы | Подходящих последних слов |
|---|---|---|---|---|
| 12 | 11 | 7 | 4 | 128 |
| 15 | 14 | 6 | 5 | 64 |
| 18 | 17 | 5 | 6 | 32 |
| 21 | 20 | 4 | 7 | 16 |
| 24 | 23 | 3 | 8 | 8 |
Каждые три слова добавляют к фразе 32 бита энтропии и один бит контрольной суммы. Новый бит суммы занимает в последнем слове место одного свободного бита, поэтому на каждом шаге подходящих слов становится вдвое меньше: со 128 у фразы из 12 слов до 8 у фразы из 24.
Проверьте на публичной тестовой фразе: после одиннадцати слов abandon калькулятор покажет 128 слов, и первым среди них будет about — слово, которым заканчивается официальный тест-вектор BIP39. Это не совпадение: у первого варианта все семь свободных бит нулевые, то есть энтропия целиком состоит из нулей, как в тест-векторе, а четыре бита контрольной суммы, 0011, дают последнему слову номер 3 при счёте с нуля — это и есть about. Кнопка «Подставить тестовую фразу» введёт эти одиннадцать слов за вас. Готовую тестовую фразу целиком можно проверить на странице проверки сид-фразы, а её ключи и адреса посмотреть в конвертере сид-фразы в приватный ключ.
Сид-фраза с помощью кубиков или монеты
Калькулятор нужен прежде всего тем, кто создаёт случайность сам, а не доверяет генератору устройства. Схема для фразы из 12 слов:
- Получите 11 случайных чисел от 0 до 2047. Одиннадцать бросков монеты (орёл — 1, решка — 0) дают 11-битное число — номер слова при счёте с нуля; в списке, пронумерованном с единицы, как список слов BIP39 с переводом, прибавьте к числу единицу. Подойдут и игральные кубики, если способ даёт каждому числу одинаковый шанс: например, считайте чётное число очков нулём, а нечётное — единицей. Сумма очков нескольких кубиков не годится: средние значения выпадают чаще крайних.
- Введите 11 слов. Калькулятор покажет 128 слов, которые завершают корректную фразу, в порядке списка.
- Выберите одно из них случайно. Бросьте монету ещё семь раз и прочитайте результат как двоичное число от 0 до 127, затем отсчитайте в списке вариантов слово с этим номером, считая первое слово нулевым. Маленькие цифры рядом со словами — номера в общем списке BIP39, а не в списке вариантов. В порядке списка варианты отличаются ровно этими семью свободными битами, поэтому фраза сохраняет все 128 бит энтропии.
- Восстановите фразу в кошельке и до первого перевода убедитесь, что он показывает ожидаемые адреса.
Для фразы из 24 слов введите 23 слова и бросьте монету ещё три раза, чтобы выбрать одно из 8 слов. Делайте всё это на компьютере без интернета с офлайн-копией инструмента, а записи бросков храните так же надёжно, как саму фразу, или уничтожьте их. Как хранить готовую фразу, рассказывает статья о том, как хранить сид-фразу.
Если создавать случайность самостоятельно не нужно, полную фразу сразу создаст генератор сид-фразы. А придумывать слова «из головы» нельзя: почему, объясняет статья о самодельных сид-фразах (на английском).
Если потерялось 12-е слово
Если от настоящей фразы из 12 слов известны первые 11, вариантов последнего слова всего 128 (для фразы из 24 слов — 8). Но каждый из них проходит проверку и открывает рабочий кошелёк, так что по самим словам не понять, какой вариант ваш. Правильный находят по известному адресу кошелька программой восстановления на компьютере без интернета; как это делается, рассказано в статье о том, как найти пропущенное или неверное слово.
Калькулятор помогает, только если пропало именно последнее слово. Если неизвестно, какое из 12 слов выпало, вариантов 12 × 2048 = 24 576, и контрольная сумма оставляет примерно каждый шестнадцатый. И в любом случае не вводите слова настоящей фразы на этом сайте.
Другие инструменты
Калькулятор последнего слова — частые вопросы
Можно ли пользоваться калькулятором для кошелька с реальными деньгами?
Только не на компьютере с интернетом. Калькулятор работает в браузере, но первые слова вашей фразы секретны, а веб-страница делит компьютер с расширениями, другими скриптами и вредоносными программами. Для настоящего кошелька запустите офлайн-копию инструмента BIP39 на компьютере, который никогда не подключается к интернету, или используйте аппаратный кошелёк, который принимает ваши броски кубика как энтропию.
Почему после 11 слов подходят 128 последних слов, а после 23 — только 8?
Последнее слово несёт 11 бит: часть из них случайные, остальные — контрольная сумма. У фразы из 12 слов сумма занимает 4 бита, поэтому в последнем слове остаётся 7 свободных бит и 2⁷ = 128 вариантов. У фразы из 24 слов сумма занимает 8 бит, свободных остаётся 3, а вариантов — 2³ = 8.
Важно ли, какое из подходящих слов выбрать?
Да. Свободные биты последнего слова — часть вашей энтропии, и выбор по вкусу её теряет. Выбирайте случайно: для фразы из 12 слов бросьте монету семь раз и возьмите слово с получившимся номером в списке вариантов, как описано выше.
Можно ли придумать первые 11 слов самому?
Нет. Выбранные человеком слова подобрать гораздо проще, чем случайные, а калькулятор не добавит недостающей случайности. Получите первые слова бросками кубика или монеты либо доверьте создание всей фразы кошельку.
Можно ли создать сид-фразу с помощью игральных кубиков?
Да, если способ даёт каждому числу одинаковый шанс. Проще всего считать чётное число очков нулём, а нечётное — единицей: тогда 11 бросков дают номер одного слова от 0 до 2047. Для последнего слова фразы из 12 слов хватит 7 бросков: они выбирают один из 128 вариантов калькулятора, где контрольная сумма уже учтена. Всего выходит 128 бросков — по одному на каждый бит энтропии. Для реальных средств делайте это на компьютере без интернета.