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

Генератор сид-фразы BIP39 онлайн

Создайте случайную мнемоническую фразу BIP39 из 12, 15, 18, 21 или 24 слов. Слова выбирает криптографический генератор случайных чисел вашего браузера, а последнее слово содержит контрольную сумму.

Мнемоническая фраза
Нажмите «Сгенерировать фразу», чтобы создать фразу
Энтропия (hex)

—

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

Как генератор создаёт сид-фразу

Сид-фраза (её также называют seed-фразой, мнемонической фразой или фразой восстановления) — это кошелёк в виде слов: из неё вычисляются все приватные ключи и адреса (подробнее — в статье что такое сид-фраза). При каждом нажатии кнопки генератор действует по спецификации BIP39 с помощью библиотеки @scure/bip39:

  1. Энтропия. Генератор берёт свежие случайные биты из crypto.getRandomValues() вашего браузера: 128 бит для 12 слов и до 256 бит для 24. Это и есть секрет; поле «Энтропия (hex)» показывает его в шестнадцатеричном виде.
  2. Контрольная сумма. Энтропия хешируется алгоритмом SHA-256, и к ней дописываются первые ENT/32 бит хеша, где ENT — длина энтропии: 4 бита для 128 бит, 8 бит для 256.
  3. Номера слов. Все биты делятся на группы по 11. Каждая группа — число от 0 до 2047, то есть номер слова в списке из 2048 слов.
  4. Слова. По каждому номеру берётся слово из списка выбранного языка.

Поскольку контрольная сумма стоит в конце, последнее слово случайно лишь отчасти. В фразе из 12 слов оно содержит 7 случайных бит и 4 бита суммы, поэтому после любых 11 слов фразу завершают только 128 слов из 2048; в фразе из 24 слов 3 случайных бита и 8 бит суммы оставляют 8 подходящих последних слов. Благодаря сумме кошелёк отвергает большинство опечаток, а придуманные человеком наборы слов обычно её не проходят. Подробнее о том, почему нельзя придумывать сид-фразу самому (на английском).

12 или 24 слова: что меняет длина

Каждые дополнительные 32 бита энтропии добавляют один бит контрольной суммы и три слова. Сумма полностью определяется энтропией, поэтому возможных фраз ровно столько же, сколько значений энтропии.

СловЭнтропияКонтрольная суммаВсего битВозможных фраз
12128 бит4 бит1322128
15160 бит5 бит1652160
18192 бит6 бит1982192
21224 бит7 бит2312224
24256 бит8 бит2642256

Уже 12 слов делают перебор невозможным: 2128 — это около 3,4 × 1038 фраз, а 128 бит соответствуют уровню безопасности кривой secp256k1, на которой построены ключи Bitcoin и Ethereum. 24 слова дают запас на случай долгого холодного хранения. Кошельки чаще всего создают 12 или 24 слова; фразы из 15, 18 и 21 слова поддерживаются не везде, поэтому проверьте свой кошелёк заранее.

На каком языке создавать фразу

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

Язык нельзя сменить потом: сид вычисляется из самих слов, а не из энтропии, поэтому одна и та же энтропия, записанная испанскими и английскими словами, откроет два разных кошелька. В списке слов BIP39 с транскрипцией и переводом у каждого английского слова есть произношение и перевод на русский, а первые четыре буквы любого слова уникальны — это удобно при проверке записи.

Как пользоваться генератором безопасно

Генератор работает прямо во вкладке браузера и после загрузки страницы продолжает работать без интернета. Он подходит для обучения, проверки кошельков и программ. Но фраза на экране доступна всему, что запущено в том же браузере и на том же компьютере: расширениям, другим скриптам и вредоносным программам. Для кошелька с реальными деньгами:

  • Используйте аппаратный кошелёк. Он создаёт слова внутри устройства и показывает их на своём экране, так что они не попадают в компьютер.
  • Или компьютер, который никогда не подключается к интернету, с проверенной программой-кошельком.
  • Никогда не вводите фразу кошелька со средствами на сайтах, включая этот, и не копируйте её: другие программы могут читать буфер обмена, а некоторые системы хранят его историю.

Что сделать после генерации

  1. Запишите фразу от руки, пронумеровав слова по порядку, и сверьте каждое слово со списком. Не фотографируйте её и не храните в файле, почте или облачных заметках.
  2. Спрячьте запись на бумаге или металле отдельно от устройства; сравнение способов хранения есть в статье как хранить сид-фразу.
  3. Проверьте восстановление до первого перевода: восстановите кошелёк по записанной фразе на сброшенном устройстве или во втором приложении и убедитесь, что первый адрес для получения совпадает.

Проверка по тест-вектору BIP39

Спецификация BIP39 ссылается на официальные тест-векторы в python-mnemonic, эталонной реализации стандарта; любая библиотека BIP39 должна их воспроизводить. Первый вектор начинается со 128 нулевых бит:

Энтропия (hex)
00000000000000000000000000000000
Мнемоническая фраза
abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
Сид с парольной фразой TREZOR
c55257c360c07c72029aebc1b53c05ed0362ada38ead3e3e9efa3708e53495531f09a6987599d18264c1e1c92f2cf141630c7a3c4ab7c81b2f001698e7463b04
Корневой ключ BIP32
xprv9s21ZrQH143K3h3fDYiay8mocZ3afhfULfb5GX8kCBdno77K4HiA15Tg23wpbeF1pLfs1c5SPmYHrEpTuuRhxMwvKDwqdKiGJS9XFKzUsAF

Почему фраза заканчивается словом about: первые 121 бит нулевые, поэтому первые 11 номеров равны 0 (abandon). Последняя группа — это оставшиеся 7 нулевых бит и 4 бита контрольной суммы; SHA-256 от 16 нулевых байтов начинается с 0x37 (в двоичном виде 0011 0111), значит, сумма равна 0011, а последний номер — 3, то есть about. Генератор не принимает энтропию на вход; чтобы увидеть вектор, вставьте фразу в конвертер сид-фразы в приватный ключ с парольной фразой TREZOR и сравните сид и корневой ключ.

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

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

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

Генератор сделан для обучения, тестов и проверки других программ. Фраза создаётся на вашем устройстве, но веб-страница делит браузер с расширениями и другими скриптами, а на компьютере может оказаться вредоносная программа. Для реальных денег создавайте сид-фразу на аппаратном кошельке или на компьютере без интернета и никогда не вводите фразу кошелька со средствами ни на одном сайте, включая этот.

Работает ли генератор без интернета?

Да, после того как страница полностью загрузилась и кнопка «Сгенерировать фразу» работает. Можно отключить сеть, создать фразу, записать её и закрыть вкладку до повторного подключения. Но отключённый интернет не делает обычный компьютер изолированным: программы, которые уже на нём есть, всё равно видят слова на экране.

Сколько слов выбрать: 12 или 24?

При хорошем источнике случайности надёжны оба варианта. 12 слов несут 128 бит энтропии, что соответствует 128-битному уровню безопасности кривой secp256k1, на которой построены ключи Bitcoin и Ethereum. 24 слова дают 256 бит и запас прочности для долгого хранения. Фразы из 15, 18 и 21 слова поддерживают не все кошельки, поэтому сначала проверьте свой.

Можно ли выбрать 12 слов из списка самому?

Не стоит. Человек выбирает слова далеко не случайно, и такую фразу проще подобрать. Кроме того, случайный набор из 12 слов проходит проверку контрольной суммы лишь в одном случае из 16, а набор из 24 слов — в одном из 256. Стандарт BIP39 предназначен для случайности, созданной компьютером, а не для придуманных людьми фраз.

Может ли у двух людей получиться одна и та же фраза?

На практике нет. Возможных фраз из 12 слов 2¹²⁸ (около 3,4 × 10³⁸), из 24 слов — 2²⁵⁶, поэтому при исправном криптографическом генераторе случайных чисел совпадение невероятно. Реальные риски — слабая случайность и небрежно хранимые копии фразы.

Можно ли добавить к фразе парольную фразу (25-е слово)?

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