145 / 736BIP85

BIP85

Várias carteiras a partir de um backup principal

BIP85 permite criar outras carteiras, cada uma com suas palavras de recuperação, a partir de uma carteira principal. Isso separa os usos, mas todas continuam dependendo da proteção de sua base comum.

BIP85 é um método para recriar novos segredos de carteiras a partir do segredo de uma carteira principal. Um celular pode receber sua própria Seed Phrase, ou seja, palavras de recuperação, em vez das palavras que protegem a poupança principal. O mesmo segredo inicial e as mesmas configurações sempre produzem o mesmo resultado. Isso se chama derivação determinística. BIP85 não transfere bitcoins, não divide um backup em partes e não substitui um backup principal perdido.

Ana guarda bem seu backup principal e quer uma carteira separada para pequenos pagamentos. Uma carteira é um aplicativo ou dispositivo para receber e enviar bitcoins. BIP85 pode criar outra frase de recuperação, e somente ela será importada no celular. Uma chave privada é um valor numérico secreto que a carteira usa para criar uma assinatura digital que autoriza um gasto. Tecnicamente, o ponto inicial é uma raiz privada estendida BIP 32, o começo de uma árvore de chaves. Ela pode vir de palavras BIP 39: as palavras e uma eventual passphrase primeiro geram o seed, a entrada secreta usada para calcular a raiz. Esses nomes indicam etapas diferentes, não a mesma coisa. BIP85 calcula novo material secreto a partir da raiz; não permite voltar pelo processo para recuperar as palavras originais. [1] [2] [3] [5]

Ana também precisa anotar as escolhas feitas. Derivation Path registra precisamente esses passos. O exemplo m/83696968'/39'/0'/12'/0' seleciona BIP85, a aplicação BIP 39, a lista inglesa, 12 palavras e o índice 0. Aplicação aqui significa uma forma definida de processar o resultado, não um aplicativo específico de celular. O índice 1 cria outro descendente, isto é, outra frase derivada; não é o número de um endereço de pagamento dentro do celular. A lista tcheca tem o código 8', independentemente do idioma desta página. Mudar a lista ou a quantidade de palavras muda o caminho e o resultado. Não é traduzir as mesmas palavras de recuperação. [1]

O material intermediário é chamado de entropia: aqui são dados calculados a partir de uma base secreta, que não devem ser previsíveis sem conhecê-la. Para 12 palavras, usam-se os primeiros 128 bits do resultado; para 24 palavras, os primeiros 256 bits. BIP 39 acrescenta uma soma de verificação, que ajuda a detectar alguns erros de transcrição, e transforma os dados em palavras. Depois elas geram o seed e as chaves da nova carteira. BIP85 por si só não determina o tipo de endereço, seu caminho nem como procurar pagamentos antigos. Um resultado mais longo também não salva um segredo inicial fácil de adivinhar: a derivação não acrescenta nova aleatoriedade independente. [1] [3]

Uma passphrase é um segredo adicional opcional usado com palavras BIP 39. Não é o PIN do dispositivo nem a senha para abrir o aplicativo. Se Ana usou uma com a frase principal, também precisará dela para recuperar a mesma raiz de entrada do BIP85. Outra passphrase do pai produz outros descendentes. Uma segunda passphrase, independente, pode ser aplicada às palavras derivadas no celular. Ela muda o seed da carteira de destino, não as palavras já criadas. BIP85 não faz backup dessa passphrase de destino. Portanto, recuperar as palavras sem ela ainda não recupera a carteira original. [3] [4]

Com uma construção correta e um segredo inicial suficientemente forte, calcular a raiz principal ou os segredos de outras carteiras derivadas a partir de uma frase derivada é inviável na prática. Assim, o vazamento das palavras do celular não revela por si só o backup principal. O caminho inverso funciona: quem obtém a raiz privada principal e as escolhas necessárias pode reproduzir os descendentes. Uma eventual passphrase adicional de destino continua sendo um segredo separado. Perder a base principal ameaça descendentes sem backup próprio utilizável. BIP85 concentra, portanto, parte da responsabilidade em um só lugar. Ele não corrige uma raiz principal comprometida, e exportar um descendente não protege um celular infectado. [1] [4]

Todos os passos de derivação são hardened, ou seja, exigem a parte privada da chave do pai. Um xpub, chave pública estendida que permite derivar chaves públicas, não basta. A chave privada k obtida tem 32 bytes. BIP85 a processa depois com HMAC-SHA512, um cálculo criptográfico que recebe uma mensagem e uma chave. Aqui k é a mensagem, e o texto fixo bip-entropy-from-k é a chave; a saída tem 64 bytes. O sigilo vem da entrada privada k, não desse texto público. A transformação separa o material resultante da chave derivada. Não recomenda usar também essa chave intermediária para assinar pagamentos. [1] [2]

A aplicação XPRV pode criar uma nova chave privada estendida. Em m/83696968'/32'/0', os primeiros 32 bytes formam o chain code, dados adicionais para futuras derivações, e os seguintes 32 bytes formam a chave privada. É a ordem inversa da criação habitual de uma raiz BIP 32. Se o número resultante não for uma chave válida, o programa deve informar o erro e o usuário escolher o índice seguinte; não pode aceitar o valor silenciosamente. HEX representa dados com caracteres hexadecimais, WIF é um formato de chave privada e outras aplicações criam senhas. Cada uma tem suas regras. Sequências parecidas não comprovam conteúdo igual nem compatibilidade. [1] [2]

A documentação COLDCARD descreve derivação e exportação de BIP 39, WIF, XPRV e HEX. Suportar BIP85 não significa que toda versão do dispositivo suporte todas as aplicações. Registre formato, lista de palavras, comprimento e índice junto com a identificação da carteira principal de origem; proteja eventuais passphrases como segredos separados. Antes de depender do procedimento, confira se ele reproduz as mesmas palavras derivadas e os endereços correspondentes da carteira de destino. Vetores públicos de teste, entradas conhecidas com resultados esperados, ajudam a verificar o programa, não seu backup privado. BIP85 pode simplificar a gestão, mas a complexidade adicional só compensa se você entender seu próprio processo de recuperação. [4] [1]

Para ter uma visão mais completa, leia este verbete junto com HD Wallet, BIP 39, BIP39 passphrase, Derivation Path, Hardware Wallet, Seed Phrase. Também há referências a este verbete em Duress Wallet.

DOC · 001BIP 85 — Deterministic Entropy From BIP32 KeychainsEspecificação DOC · 002BIP 32 — Hierarchical Deterministic WalletsEspecificação DOC · 003BIP 39 — Mnemonic code for generating deterministic keysEspecificação DOC · 004COLDCARD — Export Deterministic Entropy (BIP-85)Documentação DOC · 005Bitcoin Developer Guide — WalletsDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento