BIP39 acrescenta ENT/32 bits de checksum SHA-256, divide em índices de 11 bits de 2.048 palavras e aplica PBKDF2-HMAC-SHA512, 2.048 iterações, à frase/passphrase NFKD. Os 64 bytes alimentam BIP32; caminhos, contas e scripts ficam fora.
Palatinus, Rusnak, Voisine e Bowe criaram BIP39, atribuído em 10-09-2013, hoje Deployed. Transporta aleatoriedade computacional; frase inventada é brainwallet. Nodes não o validam e transações não contêm palavras. [BIP 39 — Mnemonic code for generating deterministic keys]
ENT=128/160/192/224/256, CS=ENT/32 bits iniciais de SHA256, MS=(ENT+CS)/11 dá 12/15/18/21/24 palavras. Doze têm 128 bits aleatórios+4 de controle; 24, 256+8. Segurança vem do RNG. [BIP 39 — Mnemonic code for generating deterministic keys]
Cada 11 bits selecionam uma de 2.048 palavras ordenadas. Palavras codificam um fluxo, não keys individuais; sinônimo muda bits. Quatro letras iniciais são únicas. Ordenar, traduzir ou adivinhar muda dados e pode formar outro mnemonic válido. [BIP 39 — Mnemonic code for generating deterministic keys] [BIP 39 official wordlists]
Mnemonic e passphrase usam UTF-8 NFKD. Acentos podem decompor; espaços, ordem, caixa e todo caractere importam. Vectors japoneses testam isso. Outra normalization gera outra carteira válida. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor python-mnemonic reference implementation] [BIP 39 official test vectors]
PBKDF2 usa mnemonic como password e ‘mnemonic’+passphrase como salt, HMAC-SHA512, 2.048 rodadas, 64 bytes. Sem passphrase há suffix vazio. Não é reversível. 2.048 rodadas não salvam passphrase fraca após vazamento. [BIP 39 — Mnemonic code for generating deterministic keys] [RFC 8018 — PBKDF2]
BIP39 termina no seed. BIP32 gera master key/chain code com ‘Bitcoin seed’; BIP44/49/84/86 escolhem paths/scripts. Account, change, gap ou tipo errados mostram zero. Descriptor e wallet metadata completam o backup. [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]
Toda passphrase gera seed válido, sem erro; typo abre carteira vazia. Com as palavras, candidatos são testados offline contra atividade pública. É preciso entropia, entrada confiável e backup separado recuperável. [BIP 39 — Mnemonic code for generating deterministic keys] [Trezor — passphrases and hidden wallets]
Checksum tem 4 bits em 12 palavras e 8 em 24: acaso válido 1/16 ou 1/256. Detecta acidentes, não corrige/autentica; atacante calcula válido. Nunca inserir palavras em verificador online. [BIP 39 — Mnemonic code for generating deterministic keys]
Teste recovery offline antes de guardar valor. Preserve ordem, passphrase exata, carteira, derivation/script e multisig/descriptor. Fotos, cloud, impressora e clipboard vazam. Papel não resiste fogo/água; metal não evita roubo. [BIP 380 — Output script descriptors] [Trezor — passphrases and hidden wallets] [Bitcoin Core — Output descriptors]
Listas não inglesas são desaconselhadas; traduzir muda seed. Seeds nativos Electrum não são BIP39. Não há version/address type. SLIP39 é threshold incompatível de 1.024 palavras; dividir palavras BIP39 não é Shamir. [BIP 39 — Mnemonic code for generating deterministic keys] [Electrum documentation — seed version system] [SLIP 39 — Shamir's Secret-Sharing for Mnemonic Codes]
Palavras, soma de verificação e seed
BIP 39 combina 128 bits de entropia com 4 bits de verificação: os 132 bits formam 12 grupos de 11 bits que selecionam palavras. PBKDF2-HMAC-SHA512 deriva um seed de 512 bits da frase normalizada e da passphrase opcional com 2 048 iterações. A soma de verificação não acrescenta aleatoriedade.
Para ter uma visão mais completa, leia este verbete junto com Seed Phrase, HD Wallet, BIP39 passphrase, Trezor, Bitcoin, BIP39 checksum. Também há referências a este verbete em Seed Phrase, HD Wallet, Cold Storage, Trezor.
01BIP 39 faz parte do consenso Bitcoin?+
Não. É uma convenção de carteiras para representar aleatoriedade e derivar um seed. Os nós Bitcoin validam transações e blocos sem saber se as chaves foram criadas com BIP 39.
02Qualquer frase de 12 ou 24 palavras é compatível com BIP 39?+
Não. O número de palavras não basta: lista e ordem, soma de verificação, normalização NFKD e derivação do seed têm de corresponder. Recuperar a carteira original também exige a passphrase correta, caso usada, e os caminhos de derivação e tipos de script correspondentes.