Semente BIP32 no Parity: como a chave mestra nasce e por que o caminho importa
Uma carteira deixa de ser um conjunto solto de chaves quando passa a nascer de uma única semente. O BIP32 descreve esse contrato: a partir de um segredo inicial, deriva-se de forma determinística uma árvore de chaves. No ecossistema Ethereum, inclusive em fluxos compatíveis com o cliente Parity, entender esse princípio evita backups incompletos, caminhos trocados e a ideia de que qualquer semente abre qualquer conta.
O que o BIP32 padroniza — e o que não padroniza
Proposto por Pieter Wuille, o BIP32 define carteiras determinísticas hierárquicas, ou carteiras HD. O centro da norma não é a tela do aplicativo, e sim uma regra reproduzível:
- uma semente gera uma chave mestra estendida;
- essa chave mestra gera chaves filhas;
- cada filha pode gerar novos ramos, sem nova entropia.
Cada chave estendida reúne dois dados: a chave propriamente dita e um chain code de 256 bits. Sem o chain code, a árvore para. Exportar só uma chave privada não preserva irmãs nem filhas.
O BIP32 também tem fronteiras claras. Ele não cria a frase mnemônica, não fixa o caminho m/44'/60'/0'/0/0 e não declara que a rede é Ethereum. Esses acordos vêm de propostas vizinhas, sobretudo BIP39 e BIP44. Tratar BIP32 como sinônimo de doze palavras é um atalho comum — e incorreto.
A mesma semente, com o mesmo caminho e a mesma curva, produz sempre as mesmas chaves. A mesma semente com outro caminho produz outra carteira, mesmo quando a frase foi anotada sem erro.
Da entropia à semente mestra

A geração pode ser lida em quatro etapas. Nenhuma depende de um servidor, e todas precisam ser determinísticas para que a recuperação funcione noutro dispositivo.
- Entropia. O ponto de partida é aleatoriedade de qualidade, vinda de um gerador criptográfico do sistema, não de um relógio, de um clique ou de uma frase inventada.
- Palavras, quando existem. O BIP39 converte essa entropia numa mnemônica e, depois, numa semente. Usa PBKDF2 com HMAC-SHA512, 2048 iterações, e um sal que começa por
mnemonic, seguido da passphrase opcional. Passphrase vazia também entra no cálculo: omiti-la na recuperação muda a semente. - Semente. O resultado típico do BIP39 tem 512 bits. O BIP32 recomenda sementes entre 128 e 512 bits. A semente é o segredo-raiz; ainda não é a chave que assina transações.
- Chave mestra. O BIP32 calcula HMAC-SHA512 com a chave literal
Bitcoin seede a semente como mensagem. Os 256 bits à esquerda tornam-se o segredo mestre; os 256 à direita, o chain code mestre. Se o segredo for inválido na curva secp256k1, a semente é rejeitada.
A string Bitcoin seed não significa que a carteira é de Bitcoin. É o rótulo fixo da especificação, partilhado por implementações compatíveis. Trocar esse rótulo para parecer mais Ethereum quebra a interoperabilidade.
No Parity, a distinção prática é outra. O cliente clássico guardava muitas contas como chaves avulsas num keystore JSON, protegidas por senha local. Isso não é uma semente BIP32. Contas criadas ou restauradas por carteiras HD compatíveis — e depois usadas com um nó Parity — seguem a cadeia acima. Confundir keystore com semente produz backups que não restauram a árvore inteira.
Como a árvore de chaves é derivada
A derivação de uma filha usa novamente HMAC-SHA512. A chave do HMAC é o chain code do pai. A mensagem muda conforme o índice:

- Derivação normal, com índice inferior a 2^31: entra a chave pública do pai mais o índice. Quem possui a chave pública estendida deriva as filhas públicas correspondentes sem ver a chave privada.
- Derivação reforçada, com índice a partir de 2^31 e marcada por apóstrofo: entra a chave privada do pai. A chave pública estendida não basta. Isso isola um ramo se uma chave pública filha e um chain code vazarem juntos.
No Ethereum, o caminho mais difundido entre carteiras de software segue o BIP44:
m / 44' / 60' / 0' / 0 / índice
Nesse formato, 44' é o propósito, 60' é o tipo de moeda do Ethereum, 0' é a conta, o zero seguinte indica endereços externos e o último número escolhe a conta 0, 1, 2 e assim por diante. Existem outros caminhos, inclusive variações de hardware wallets. O Parity, como nó e gestor de contas, não adivinha o ramo pretendido: opera as chaves que lhe forem entregues. Repetir o caminho certo é tarefa da carteira que interpreta a semente.
O valor prático aparece quando há mais de um endereço:
- um backup cobre uma sequência de contas, se o caminho estiver documentado;
- recebimento e troco podem separar-se sem novas sementes;
- a mesma frase restaura-se noutro software compatível, desde que algoritmo, passphrase e caminho coincidam.
O custo dessa comodidade é a concentração de risco. Quem obtém a semente obtém o ramo inteiro, não apenas a conta visível no ecrã.

Compatibilidade, limites e prática segura
Compreender o princípio muda a rotina de backup. Uma lista curta evita a maior parte dos sustos:
- Guarde a mnemônica e, se existir, a passphrase em separado. As duas são necessárias.
- Anote o caminho de derivação e o software que o gerou. Padrão Ethereum não é um caminho único.
- Não fotografe a semente em nuvem pessoal e não a introduza em páginas que prometem consultar saldo.
- Trate keystores do Parity como segredos diferentes: a senha do arquivo JSON não reconstrói uma frase que nunca existiu.
- Prefira implementações amplamente revistas a geradores caseiros de entropia ou de HMAC.
O padrão também não remove certos limites. Não protege um dispositivo já comprometido no momento da geração. Não impede que um caminho exótico deixe fundos invisíveis numa restauração apressada. E não fortalece uma semente curta ou mal sorteada: a segurança começa na entropia, não no vocabulário da interface.
Para quem ainda mantém infraestrutura ligada ao Parity ou a clientes sucessores, o uso sensato é separar papéis. O nó propaga e verifica transações. A semente fica numa carteira ou num módulo de assinatura que implemente BIP32, BIP39 e BIP44 de forma compatível. Misturar keystore, frase e caminho sem um mapa é a origem clássica de contas dadas como perdidas que, na verdade, estavam noutro índice.
Conclusão
A geração de sementes no padrão BIP32 é um contrato de reprodutibilidade: entropia vira semente, a semente vira chave mestra estendida e a chave mestra vira uma árvore previsível. O rótulo Bitcoin seed, o chain code e a diferença entre derivação normal e reforçada não são ornamentos; são o que faz duas implementações concordarem. No contexto do Parity, o ganho está em não confundir essa árvore com um keystore avulso e em restaurar contas com o mesmo caminho, a mesma passphrase e a mesma curva. Quem documenta esses três pontos transforma um padrão técnico numa rotina operável. Quem os omite descobre, tarde, que a frase estava certa e a carteira, mesmo assim, era outra.