Вики

Секреты сид-фразы BIP-39🔐: как из байтов появляются 12 магических слов

🧠 Что такое сид-фраза? И почему она не просто набор слов?

Сид-фраза (mnemonic phrase) — это последовательность слов (обычно 12 или 24), которая кодирует случайное число (энтропию) и контрольную сумму. Она используется для создания приватных ключей в криптокошельках.

❗ Важно: не любой случайный набор из 12 слов из словаря BIP-39 будет действительной сид-фразой — без корректной контрольной суммы такая фраза будет отвергнута кошельком как недействительная.

❗ Эти слова не случайны — они представляют конкретные биты информации. Ошибка в одном слове делает фразу недействительной.

⚙️ Как работает генерация сид-фразы? Пошагово 🧪

🔢 Шаг 1: Генерация энтропии

Для фразы из 12 слов используется 128 бит энтропии (16 байт).

Пример (в hex):
110e5d4a7429bb6a9b4a63f70d6d64b2

В двоичном виде:
00010001000011100101110101001010011101000010100110111011011010101001101101001010011000111111011100001101011011010110010010110010

🧮 Шаг 2: Добавляем контрольную сумму

Контрольная сумма — это первые N бит от SHA-256 хеша энтропии. Для 128 бит энтропии нужно 4 бита.

SHA-256(entropy):
ef9054cb1ff8ab99ad3d...

Контрольная сумма:
1110

Общая строка: 128 + 4 = 132 бита

Энтропия (128 бит) Контрольная сумма (4 бита)
0001...10110010 1110

✂️ Шаг 3: Разделяем на блоки по 11 бит

132 бита делятся на 12 блоков по 11 бит. Каждый блок — это индекс слова из словаря BIP-39.

Блок № Биты Значение Слово
1 00010001000 136 accident
2 11100101110 918 fitness

🧩 Почему именно 2048 слов?

11 бит = 2¹¹ = 2048. Словарь BIP-39 содержит ровно 2048 слов.

📞 Аналогия: как телефонная книга с 2048 словами. Если ты знаешь номер, ты знаешь слово.

🔁 Результат — 12 слов сид-фразы

accident fitness glow traffic trust spider lamp crucial magnet stay awkward keen

🔐 Безопасность: можно ли угадать фразу?

Кол-во слов Энтропия Попыток для перебора
12 128 бит 2¹²⁸ (≈3.4×10³⁸)
24 256 бит 2²⁵⁶ (невозможно)

🔓 При потере одного слова можно попробовать перебрать 2048 вариантов и проверить контрольную сумму. Но при двух — почти нереально.

🛡️ А что даёт контрольная сумма?

Она:

  • Позволяет выявить ошибки
  • Не даёт ввести «невалидную» фразу
  • Гарантирует, что фраза была сгенерирована по стандарту

📏 Аналогия: как контрольная цифра в номере карты — случайный номер не пройдёт проверку.

🔧 Пример на практике (JavaScript)


const bip39 = require('bip39');
const mnemonic = bip39.generateMnemonic(128);
console.log(mnemonic);
console.log(bip39.validateMnemonic(mnemonic)); // true

📌 Резюме

  • Сид-фраза — это закодированное случайное число + контрольная сумма
  • Слова соответствуют битам, а не выбраны случайно
  • Понимание механизма помогает лучше защищать свои активы
  • Фраза может быть проверена, восстановлена и использована в любом кошельке, поддерживающем BIP-39

🚀 Надёжность в каждом бите

За 12 словами скрыт мощный математический механизм. А за ним — ваши активы, история и цифровая идентичность.

 

Похожие статьи

Кнопка «Наверх»