O que é um XPUB (chave estendida)?

Disponível como podcast
Compartilhe o artigo:

Se você usa sua própria carteira para proteger seus bitcoins, provavelmente já encontrou o termo “XPUB”. Esse acrônimo esotérico simplesmente descreve uma chave pública estendida. Esse tipo de chave possibilita derivar outras chaves públicas infantis para consultar o saldo de uma carteira, sem permitir que os bitcoins associados sejam gastos.

Graças a este artigo, você finalmente entenderá o papel do XPUB e a construção de uma chave estendida. Para fazer isso, é essencial conhecer algumas noções sobre como funciona um portfólio determinístico e hierárquico. Também vamos analisar tudo isso juntos.

Estrutura de portfólio em HD

Se você acompanhou os artigos educacionais anteriores no blog do Bitstack, agora sabe que os bitcoins são representados no protocolo pelos UTXOs, que são essencialmente peças de bitcoin. Esses UTXOs geralmente são protegidos por um par de chaves criptográficas. Assim, uma chave pública é usada para receber bitcoins, e a chave privada correspondente é usada para gastar esses mesmos bitcoins assinando uma transação. Os endereços de recebimento, por outro lado, são simplesmente um hash de uma chave pública, colocada em um formato específico.

Em teoria, portanto, seria possível usar apenas um par de chaves para gerenciar todos os seus bitcoins. No entanto, essa prática não é recomendada, pois é perigosa para nossa privacidade. Para manter uma forma de confidencialidade, é aconselhável gerar um novo par de chaves para cada novo recebimento de bitcoins.

Essa recomendação vem do próprio Satoshi Nakamoto. Ele fala sobre isso na parte 10 do Livro Branco do Bitcoin.

Posteriormente, os desenvolvedores projetaram uma estrutura de portfólio que facilitou a derivação de várias chaves. Esse é o chamado portfólio “determinístico hierárquico” (HD). Seu princípio é que uma infinidade de pares de chaves exclusivos são gerados a partir de uma única informação: a semente (ou “semente” em inglês). Essa semente pode ser codificada em uma forma legível por humanos para obter a famosa frase de recuperação de 12 ou 24 palavras.

➤ Saiba mais sobre as diferentes categorias de carteiras Bitcoin.

Dessa forma, ao conhecer apenas sua frase de recuperação, o usuário pode regenerar todas as suas chaves, dando acesso a todos os seus bitcoins.

Você precisa imaginar uma carteira HD como uma árvore. Há uma semente na base da carteira que permite fazer um baú. O tronco permite a confecção de galhos. Então, cada ramificação pode então criar sub-ramificações por si só, e assim por diante. Seus endereços de recebimento e as chaves para gastá-los são, portanto, o resultado de várias derivações de sua semente.

O que eu chamo de “derivação” é simplesmente a aplicação de uma função criptográfica unidirecional que usa a chave mãe como entrada e produz uma chave secundária como saída.

➤ Descubra a construção de uma sentença de recuperação (24 palavras).

A derivação de pares de chaves criptográficas

Para diferenciar os pares de chaves que estão no mesmo estágio de derivação, atribuiremos a eles um índice. É simplesmente um número que permite que cada chave seja numerada. O primeiro par de chaves derivado de um par pai terá o índice nº 0, o segundo par de chaves derivado de um par pai terá o índice nº 1 e assim por diante.

Dessa forma, podemos, portanto, derivar uma infinidade de chaves criptográficas diferentes de nossa semente. No entanto, no caso de recuperar nossa carteira, precisamos encontrar todos esses índices usados durante a derivação. Assim, o BIP43 e o BIP44 estabeleceram um padrão de derivação para nossos portfólios. Um software confiável segue essa regra para que seja simples migrar de uma carteira Bitcoin para outra, ao mesmo tempo que facilita o processo de recuperação em caso de perda.

Finalmente, cada estágio de derivação é usado para transmitir informações de acordo com o índice usado para derivar a chave.

Por exemplo, o índice 84' é usado no primeiro estágio de derivação para indicar que você está em uma carteira SegWit V0 (com endereços começando com “bc1q...”). O segundo estágio de derivação é usado para separar as diferentes criptomoedas na mesma carteira. E o terceiro andar possibilita a geração de várias contas separadas.

É exatamente esse terceiro andar que nos interessa pelo nosso XPUB.

Teclas estendidas (xpub, zpub...)

Nas partes anteriores, vimos que uma carteira HD consiste em uma sucessão de derivações das chaves principais para determinar as chaves secundárias. Na realidade, para ter sucesso em cada derivação, não basta ter a chave mãe, mas também é necessário usar outras informações chamadas “código da cadeia”.

Simplificando, um código em cadeia é uma informação exclusiva associada a cada par (chave pública e chave privada), que adiciona uma camada adicional de segurança à carteira.

Tecnicamente, o que é chamado de chave estendida é uma montagem de uma chave criptográfica com seu código de cadeia e alguns metadados. Assim, a chave estendida possibilita reunir em uma única cadeia de caracteres todas as informações necessárias para derivar as chaves secundárias.

Para resumir de forma simples: chave estendida = chave+código de string.

A montagem de uma chave pública com seu código de cadeia nos dá uma chave pública estendida. Esse tipo de chave permite que somente chaves públicas secundárias sejam derivadas. Isso é o que você conhece sob o nome de “XPUB”, “ZPUB” ou até mesmo “YPUB”.

A montagem de uma chave privada com seu código de cadeia nos dá uma chave privada estendida. Esse tipo de chave possibilita derivar qualquer tipo de chave secundária, tanto as chaves públicas quanto as privadas.

Em outras palavras, uma chave privada estendida permite o acesso a todos os bitcoins protegidos pelas chaves secundárias, enquanto a chave pública estendida (XPUB) permite apenas consultar o saldo das chaves e obter novos endereços. É por isso que você deve inserir seu XPUB em uma carteira chamada “Watch only”.

As chaves estendidas padrão geralmente são encontradas no terceiro estágio de derivação da carteira HD. É aquele dedicado às contas.

📌 Você sabia disso? Ao contrário do que se possa pensar, é possível derivar uma infinidade de XPubs diferentes na mesma carteira. Cada novo XPUB nos dá uma nova conta. No entanto, como a maioria das pessoas usa apenas uma conta em sua carteira Bitcoin, elas têm apenas um XPUB nessa carteira.

Conclusão

Uma chave estendida é, portanto, uma chave principal especial que possibilita derivar pares de chaves secundárias. O que é chamado de chave pública estendida, ou “xpub”, só permite a derivação de chaves públicas secundárias, bem como endereços de recebimento.

Se você tiver acesso ao xpub da sua carteira, poderá consultar o saldo da sua carteira, rastrear suas transações e criar novos endereços de recebimento. Por outro lado, será impossível gastar os bitcoins associados a ela, já que o XPUB não permite o acesso às chaves privadas da carteira.

➤ Saiba mais sobre a frase secreta BIP39 e seu papel em uma carteira Bitcoin.

Disponível como podcast

Resumo

Compartilhe o artigo:

Você pode gostar desses itens

A Bitstack SAS, uma empresa registrada no Registro de Comércio e Empresas de Aix-en-Provence sob o número 899 125 090, operando o nome comercial Bitstack, está registrada como agente da Xpollens - uma instituição de dinheiro eletrônico aprovada pela ACPR (CIB 16528 - RCS Nanterre No. 501586341, 110 Avenue de France 75013 Paris) - com a Autoridade de Controle e Resolução Prudencial (“ACPR”).”) sob o número 747088 e aprovado como provedor de serviços de ativos criptográficos (“PSCA”) pela Autorité des Marchés Financiers (“AMF”) como uma troca de criptoativos por fundos, a troca de criptoativos para outros criptoativos, execução de pedidos sobre ativos criptográficos em nome de clientes, custódia e administração de ativos criptográficos em nome de clientes e prestação de serviços de transferência de ativos criptográficos em nome de clientes sob o número A2025-003, cuja sede está localizada em 100 Impasse des Houillères 13590 Meyreuil.

Investir em ativos digitais envolve o risco de perda parcial ou total do capital investido.
O desempenho passado não é garantia de desempenho futuro.
BAIXAR
Bitstack