29 / 691BIP39

BIP 39

standard mnemotechnické věty

BIP39 je aplikační konvence, která převede 128–256 bitů počítačem vytvořené entropie na 12–24 slov a z nich odvodí 512bitový seed. Je to lidsky opisovatelný transport zálohy, ne bitcoinový konsensus, seznam privátních klíčů ani úplný popis účtů peněženky.

BIP39 připojí k entropii ENT/32 checksum bitů ze SHA-256, výsledek rozdělí na 11bitové indexy slovníku o 2 048 položkách a na NFKD normalizovanou větu s volitelnou passphrase použije PBKDF2-HMAC-SHA512 s 2 048 iteracemi. Výstupem je 64bajtový seed obvykle předaný BIP32; typ peněženky, derivační cesty, účty a skripty jsou zvláštní metadata.

Autory BIP39 jsou Marek Palatinus, Pavol Rusnak, Aaron Voisine a Sean Bowe; návrh byl přidělen 10. září 2013 a dnes má stav Deployed. Účelem je přenést počítačem vytvořenou náhodnost ve formě, kterou člověk opíše. Specifikace výslovně odmítá převádět uživatelem vymyšlenou větu na peněženku: citát má lidskou entropii a zůstává brainwalletem, i když obsahuje slova ze seznamu. Uzel BIP39 nekontroluje a mnemonic se do transakcí nezapisuje. [BIP 39 — Mnemonic code for generating deterministic keys]

ENT smí být 128, 160, 192, 224 nebo 256 bitů. BIP39 připojí CS = ENT/32 prvních bitů SHA256(entropie) a proud rozdělí po 11 bitech; MS = (ENT+CS)/11 proto dává přesně 12, 15, 18, 21 nebo 24 slov. Dvanáct slov nese 128 bitů entropie a 4 bity kontroly, ne 132 náhodných tajných bitů; 24 slov nese 256+8. Bezpečnost vzniká v generátoru náhodných čísel, ne v dojmu, že výsledná slova znějí neobvykle. [BIP 39 — Mnemonic code for generating deterministic keys]

Každá 11bitová hodnota vybírá jednu položku z uspořádaného slovníku přesně 2 048 slov. Jde o bezeztrátový zápis jednoho bitového proudu: první slovo není první privátní klíč a synonymum mění podkladová data. Oficiální seznamy mají jedinečné první čtyři znaky a vyhýbají se snadno zaměnitelným dvojicím. Pořadí je kryptografický údaj. Seřazení, překlad nebo domýšlení slov vytvoří jiný proud — obvykle chybný checksum, někdy však jinou platnou větu. [BIP 39 — Mnemonic code for generating deterministic keys] [BIP 39 official wordlists]

Mnemonic i passphrase se zapisují v UTF-8 a před odvozením seedu normalizují Unicode formou NFKD. Ta rozkládá některé znaky s diakritikou a kompatibilní symboly, takže dva vizuálně podobné texty nelze považovat za stejné bez přesné normalizace. Záleží na mezerách, velikosti písmen, pořadí i každém znaku passphrase. Japonské testovací vektory záměrně ověřují silně normalizovaný text. Nástroj s jinou Unicode úpravou odvodí platnou, ale úplně jinou peněženku. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor python-mnemonic reference implementation] [BIP 39 official test vectors]

Normalizovaný mnemonic je heslem PBKDF2; solí je ASCII prefix „mnemonic“ následovaný normalizovanou passphrase. BIP39 pevně určuje HMAC-SHA512, 2 048 iterací a výstup 512 bitů, tedy 64 bajtů. Bez passphrase se použije prázdný suffix, nikoli vynechaná sůl. PBKDF2 slova „nedešifruje“ a ze seedu nelze funkci obrátit zpět na původní entropii. Pevných 2 048 kol je podle dnešních password-KDF měřítek málo, takže po úniku slov nezachrání krátkou odhadnutelnou passphrase. [BIP 39 — Mnemonic code for generating deterministic keys] [RFC 8018 — PBKDF2]

BIP39 končí 64bajtovým seedem. BIP32 z něj typicky pomocí HMAC-SHA512 s klíčem „Bitcoin seed“ vytvoří master private key a 32bajtový chain code a teprve potom strom. BIP44, BIP49, BIP84 a BIP86 volí různé purpose cesty a skripty. Správná slova i passphrase proto mohou ukázat nulu, hledá-li obnova špatný coin type, účet, change větev, gap limit či typ adres. Output descriptor nebo záznam názvu peněženky, cesty a účtů dodává informace, které BIP39 nikdy nekódoval. [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]

Každý řetězec passphrase deterministicky vytvoří 512bitový seed, takže protokol nezná odpověď „špatné heslo“. To umožňuje oddělené či návnadové peněženky, ale překlep, jiné velké písmeno nebo zapomenutý znak otevře platnou prázdnou peněženku. Útočník se získanými slovy může kandidáty zkoušet offline a podle veřejného blockchainu poznat aktivní wallet; 2 048 kol dělá krátké fráze slabými. Passphrase potřebuje vysokou entropii, důvěryhodné zadání a oddělenou zálohu, která sníží společnou krádež, ale nevytvoří jediné zapomenutelné tajemství. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor — passphrases and hidden wallets]

Checksum má u 12 slov jen 4 bity a u 24 slov 8 bitů. Náhodná 12slovná posloupnost projde s pravděpodobností 1/16, 24slovná 1/256. Zachytí mnoho náhodných záměn a přesunů, nic neopraví a neověřuje autora: útočník umí spočítat platnou náhradu. Software má na nesoulad upozornit, ale bezhlavé odmítnutí historického importu může odříznout wallet vytvořenou jiným schématem. Tajná slova se nikdy nekontrolují na online webu. [BIP 39 — Mnemonic code for generating deterministic keys]

Záloha je hotová teprve po nacvičené obnově na důvěryhodném hardwaru nebo offline softwaru, ještě než na ní závisí významné prostředky. Zaznamenejte přesné pořadí slov, existenci a přesný zápis passphrase, původní peněženku, derivační/script typ a multisig či descriptor politiku. Chraňte ji před fotografiemi, cloudem, tiskárnou, kamerami i logy schránky; kompletní slova s potřebnou passphrase stačí k utracení bez zařízení. Papír řeší poruchu elektroniky, ne požár či vodu; kov část fyzických rizik, ne krádež. [BIP 380 — Output script descriptors] [Trezor — passphrases and hidden wallets] [Bitcoin Core — Output descriptors]

Specifikace důrazně nedoporučuje generovat neanglické mnemoniky, protože řada peněženek podporuje jen anglický seznam; překlad slov nutně změní seed, jelikož do PBKDF2 vstupuje samotná věta. Nativní seed-verze Electrum nejsou BIP39, i když vypadají podobně, proto záleží na režimu importu. BIP39 nemá version field ani formát adresy. SLIP39 je odlišný, převážně nekompatibilní threshold formát s 1 024 slovy a pravidly skupin; rozdělit 24 BIP39 slov mezi místa není Shamir a často zhorší bezpečnost i obnovitelnost. [BIP 39 — Mnemonic code for generating deterministic keys] [Electrum documentation — seed version system] [SLIP 39 — Shamir's Secret-Sharing for Mnemonic Codes]

Příklad · BIP39

Slova, kontrolní součet a seed

BIP 39 převede povolenou délku entropie s kontrolním součtem na 12, 15, 18, 21 nebo 24 slov. Funkce pro odvození klíče pak spojí mnemotechnickou větu s volitelnou passphrase a vytvoří 512bitový seed pro odvozování peněženky.

Pro nejúplnější obraz čtěte toto heslo společně s Seed Phrase, HD Wallet, BIP39 passphrase, Trezor, Bitcoin, Kontrolní součet BIP39. Opačným směrem na něj odkazují také Seed Phrase, HD Wallet, Cold Storage, Trezor.

01Je BIP 39 součástí konsenzu Bitcoinu?

Ne. Jde o konvenci pro interoperabilitu peněženek. Bitcoinové uzly ověřují transakce a bloky, aniž by věděly, zda peněženka pro vznik klíčů použila BIP 39.

02Je každá fráze o 12 nebo 24 slovech kompatibilní s BIP 39?

Ne nutně. Samotný počet slov nestačí; schéma obnovy musí používat stejný seznam slov, kontrolní součet, normalizaci i odvozovací pravidla.

DOC · 001BIP 39 — Mnemonic code for generating deterministic keysSpecifikaceDOC · 002BIP 39 official wordlistsSpecifikaceDOC · 003Trezor python-mnemonic reference implementationPrimární zdrojDOC · 004BIP 39 official test vectorsPrimární zdrojDOC · 005BIP 32 — Hierarchical deterministic walletsSpecifikaceDOC · 006BIP 44 — Multi-account hierarchySpecifikaceDOC · 007BIP 84 — Native SegWit derivationSpecifikaceDOC · 008BIP 86 — Single-key Taproot derivationSpecifikaceDOC · 009BIP 380 — Output script descriptorsSpecifikaceDOC · 010RFC 8018 — PBKDF2SpecifikaceDOC · 011Electrum documentation — seed version systemDokumentaceDOC · 012SLIP 39 — Shamir's Secret-Sharing for Mnemonic CodesSpecifikaceDOC · 013Trezor — passphrases and hidden walletsDokumentaceDOC · 014Bitcoin Core — Output descriptorsDokumentace
Ověřeno 1. srpna 2026Primární zdroje · Nejde o investiční doporučení