1. Главная
  2. / BIP39 по-русски
  3. / Калькулятор последнего слова

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

Введите первые 11, 14, 17, 20 или 23 слова фразы и получите все последние слова, с которыми контрольная сумма BIP39 сходится. Расчёт выполняется в вашем браузере.

Для настоящего кошелька делайте это на компьютере, который никогда не выходит в интернет, а не на сайте. Слова, которые вы вводите здесь, — это и есть секрет кошелька.

Почему последнее слово сид-фразы особенное

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

Длина фразыВводимых словСвободных бит в последнем словеБит контрольной суммыПодходящих последних слов
121174128
15146564
18175632
21204716
2423388

Каждые три слова добавляют к фразе 32 бита энтропии и один бит контрольной суммы. Новый бит суммы занимает в последнем слове место одного свободного бита, поэтому на каждом шаге подходящих слов становится вдвое меньше: со 128 у фразы из 12 слов до 8 у фразы из 24.

Проверьте на публичной тестовой фразе: после одиннадцати слов abandon калькулятор покажет 128 слов, и первым среди них будет about — слово, которым заканчивается официальный тест-вектор BIP39. Это не совпадение: у первого варианта все семь свободных бит нулевые, то есть энтропия целиком состоит из нулей, как в тест-векторе, а четыре бита контрольной суммы, 0011, дают последнему слову номер 3 при счёте с нуля — это и есть about. Кнопка «Подставить тестовую фразу» введёт эти одиннадцать слов за вас. Готовую тестовую фразу целиком можно проверить на странице проверки сид-фразы, а её ключи и адреса посмотреть в конвертере сид-фразы в приватный ключ.

Сид-фраза с помощью кубиков или монеты

Калькулятор нужен прежде всего тем, кто создаёт случайность сам, а не доверяет генератору устройства. Схема для фразы из 12 слов:

  1. Получите 11 случайных чисел от 0 до 2047. Одиннадцать бросков монеты (орёл — 1, решка — 0) дают 11-битное число — номер слова при счёте с нуля; в списке, пронумерованном с единицы, как список слов BIP39 с переводом, прибавьте к числу единицу. Подойдут и игральные кубики, если способ даёт каждому числу одинаковый шанс: например, считайте чётное число очков нулём, а нечётное — единицей. Сумма очков нескольких кубиков не годится: средние значения выпадают чаще крайних.
  2. Введите 11 слов. Калькулятор покажет 128 слов, которые завершают корректную фразу, в порядке списка.
  3. Выберите одно из них случайно. Бросьте монету ещё семь раз и прочитайте результат как двоичное число от 0 до 127, затем отсчитайте в списке вариантов слово с этим номером, считая первое слово нулевым. Маленькие цифры рядом со словами — номера в общем списке BIP39, а не в списке вариантов. В порядке списка варианты отличаются ровно этими семью свободными битами, поэтому фраза сохраняет все 128 бит энтропии.
  4. Восстановите фразу в кошельке и до первого перевода убедитесь, что он показывает ожидаемые адреса.

Для фразы из 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 бросков — по одному на каждый бит энтропии. Для реальных средств делайте это на компьютере без интернета.