29 / 691BIP39

BIP 39

стандарт мнемонічної фрази

BIP39 перетворює 128–256 біт комп'ютерної ентропії на 12–24 слова, а потім на 512-бітний seed. Це транспорт резервної копії, не консенсус, список ключів чи повний опис гаманця.

BIP39 додає ENT/32 біт checksum SHA-256, ділить потік на 11-бітні індекси списку з 2 048 слів і застосовує PBKDF2-HMAC-SHA512, 2 048 ітерацій, до NFKD-фрази й passphrase. 64 байти йдуть у BIP32; шляхи, accounts і scripts не кодуються.

Автори — Palatinus, Rusnak, Voisine і Bowe; BIP39 призначено 10.09.2013, статус Deployed. Він переносить машинну випадковість. Вигадана фраза є brainwallet. Вузли BIP39 не перевіряють, транзакції слів не містять. [BIP 39 — Mnemonic code for generating deterministic keys]

ENT=128/160/192/224/256, CS=ENT/32 початкових бітів SHA256, MS=(ENT+CS)/11 дає 12/15/18/21/24 слова. 12 слів — 128 випадкових+4 контрольних біти, 24 — 256+8. Захист залежить від RNG. [BIP 39 — Mnemonic code for generating deterministic keys]

Кожні 11 біт вибирають одне з 2 048 впорядкованих слів. Це кодування потоку, не окремі keys; синонім змінює біти. Перші чотири літери унікальні. Сортування, переклад чи вгадування створюють інші дані, інколи іншу valid phrase. [BIP 39 — Mnemonic code for generating deterministic keys] [BIP 39 official wordlists]

Mnemonic і passphrase кодуються UTF-8 та NFKD. Діакритика може розкладатися; пробіли, порядок, регістр і кожен символ важливі. Японські vectors це перевіряють. Інша normalization дає інший valid wallet. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor python-mnemonic reference implementation] [BIP 39 official test vectors]

PBKDF2: password=mnemonic, salt=‘mnemonic’+passphrase, HMAC-SHA512, 2 048 раундів, 64 байти. Без passphrase suffix порожній. Функція не оборотна. 2 048 раундів не захищають слабку passphrase після витоку слів. [BIP 39 — Mnemonic code for generating deterministic keys] [RFC 8018 — PBKDF2]

BIP39 закінчується seed. BIP32 з ‘Bitcoin seed’ створює master key/chain code; BIP44/49/84/86 задають paths/scripts. Неправильні account, change, gap чи type покажуть нуль. Descriptor і wallet metadata треба зберігати окремо. [BIP 32 — Hierarchical deterministic wallets] [BIP 44 — Multi-account hierarchy] [BIP 84 — Native SegWit derivation] [BIP 86 — Single-key Taproot derivation] [BIP 380 — Output script descriptors] [Bitcoin Core — Output descriptors]

Будь-яка passphrase дає valid seed, тому помилки немає; typo відкриває порожній wallet. Викрадені слова дозволяють offline перебір за публічною активністю. Потрібні ентропія, trusted entry та окремий надійний backup. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor — passphrases and hidden wallets]

Checksum має 4 біти для 12 слів і 8 для 24; випадковий ряд проходить 1/16 або 1/256. Він ловить частину помилок, не виправляє й не автентифікує. Не вводьте слова на онлайн-сайті. [BIP 39 — Mnemonic code for generating deterministic keys]

Перевірте offline recovery до внесення коштів. Збережіть порядок, точну passphrase, original wallet, derivation/script, multisig/descriptor. Фото, cloud, printer, clipboard компрометують витрати. Папір не від вогню/води, metal не від крадіжки. [BIP 380 — Output script descriptors] [Trezor — passphrases and hidden wallets] [Bitcoin Core — Output descriptors]

Неанглійські lists небажані через сумісність; переклад змінює seed. Native Electrum seeds не BIP39. Немає version/address type. SLIP39 — окремий incompatible threshold формат з 1 024 словами; поділ BIP39 слів не є Shamir. [BIP 39 — Mnemonic code for generating deterministic keys] [Electrum documentation — seed version system] [SLIP 39 — Shamir's Secret-Sharing for Mnemonic Codes]

Приклад · BIP39

Слова, контрольна сума та seed

BIP 39 поєднує 128 бітів ентропії з 4 контрольними бітами: 132 біти утворюють 12 груп по 11 бітів, що визначають слова. PBKDF2-HMAC-SHA512 за 2 048 ітерацій виводить 512-бітовий seed із нормалізованої фрази та необов’язкової passphrase. Контрольна сума не додає випадковості.

Для повної картини прочитайте також Seed Phrase, HD Wallet, BIP39 passphrase, Trezor, Bitcoin, BIP39 checksum. На цю статтю також посилаються Seed Phrase, HD Wallet, Cold Storage, Trezor.

01Чи є BIP 39 частиною консенсусу Bitcoin?

Ні. Це домовленість гаманців для запису випадковості та виведення seed. Вузли Bitcoin перевіряють транзакції й блоки, не знаючи, чи ключі створено за BIP 39.

02Чи кожна фраза з 12 або 24 слів сумісна з BIP 39?

Ні. Кількості слів недостатньо: мають збігатися список і порядок слів, контрольна сума, нормалізація NFKD та виведення seed. Для відновлення початкового гаманця також потрібна правильна passphrase, якщо її використовували, і відповідні шляхи деривації та типи скриптів.

DOC · 001BIP 39 — Mnemonic code for generating deterministic keysСпецифікація ↗DOC · 002BIP 39 official wordlistsСпецифікація ↗DOC · 003Trezor python-mnemonic reference implementationПервинне джерело ↗DOC · 004BIP 39 official test vectorsПервинне джерело ↗DOC · 005BIP 32 — Hierarchical deterministic walletsСпецифікація ↗DOC · 006BIP 44 — Multi-account hierarchyСпецифікація ↗DOC · 007BIP 84 — Native SegWit derivationСпецифікація ↗DOC · 008BIP 86 — Single-key Taproot derivationСпецифікація ↗DOC · 009BIP 380 — Output script descriptorsСпецифікація ↗DOC · 010RFC 8018 — PBKDF2Специфікація ↗DOC · 011Electrum documentation — seed version systemДокументація ↗DOC · 012SLIP 39 — Shamir's Secret-Sharing for Mnemonic CodesСпецифікація ↗DOC · 013Trezor — passphrases and hidden walletsДокументація ↗DOC · 014Bitcoin Core — Output descriptorsДокументація ↗
Перевірено 1 серпня 2026Спочатку джерела · Не інвестиційна порада