A Chave Privada Mestre é um dos elementos criptográficos mais importantes de carteiras determinísticas ou carteiras HD. A segurança dos nossos fundos depende sempre desta chave. Por isso, o convidamos a conhecê-los e entender como funciona esse importante elemento.
La chave privada mestra o Master Private Key é uma chave de 256 bits gerada a partir de uma frase semente que permite a criação de um número infinito de chaves em um carteira determinística ou carteira HD. É um chave privada principal que é único para cada carteira, e que é armazenado como a raiz ou início da referida carteira. Desde a Master Private Key a Master Public Key o Chave Pública Mestre. Então, um conjunto completo de chaves privadas (Xpriv) também é gerado a partir da chave privada mestra. E com eles você pode gerenciar os diferentes endereços associados à carteira.
Simplificando, o Master Private Key inicia toda a carteira determinística e a partir dela o Chave pública mestre. Mas não só isso, eles também derivam todas as chaves privadas (Xpriv) que são necessárias para administrar o saldo encontrado nos diferentes endereços da carteira.
Eles devem entender uma carteira HD como uma árvore. Novos ramos podem surgir de cada ramo. Bem, todo nó dessas ramificações permite gerar uma chave privada mestra. Essa chave permitirá que eles gerem chaves públicas e privadas de todos os ramos gerados a partir desse nó. No entanto, não será possível criar as chaves dos outros nós paralelos ou anteriores.
Ou seja, desta forma uma Chave Privada Mestre pode ser usada para limitar o uso da mesma semente. A Chave Privada Principal do nó 0 tem controle sobre todos os endereços que podem ser gerados. Mas você pode criar chaves que você pode controlar, mas entre elas elas não podem ser controladas.
Você nunca deve dar ou revelar a Chave Privada Mestra a ninguém. A menos que você queira que essa pessoa / máquina tenha acesso a todos os fundos dos endereços gerados a partir dessa chave.
Função da Chave Privada Principal em carteiras HD
A implementação das carteiras ou carteiras Bitcoin determinísticas hierárquicas, também conhecidas como Carteiras HD, foram criados com o objetivo de melhorar a segurança e permitir a simplificação do processo de recuperação dos fundos neles disponíveis. Embora também tenham sido desenvolvidos com o objetivo de possibilitar a geração e obtenção de várias chaves que partem da mesma raiz ou semente. Eliminando a necessidade de gerar vários endereços com chaves privadas aleatórias, como faziam as carteiras antigas.
Este tipo de carteira, descrito no BIP 32, tem uma estrutura em árvore onde uma chave principal (o Chave Privada Mestre) dá origem a uma sequência de chaves derivada dela, da qual outros conjuntos de chaves são derivados. Se representarmos isso como uma linha descendente, pode-se dizer que o Master Private Key ele desempenha o papel de pai e que a sequência de chaves geradas em primeiro lugar serão seus filhos. Depois desse conjunto de chaves, as novas chaves geradas podem ser vistas como netas e assim por diante.
Carteiras HD usam o algoritmo HMAC-SHA512 para gerar um hash que deriva o Chave Privada Mestre começando com uma única semente. Então, a partir da chave privada mestra, o CLavagem pública mestre através de um processo matemático de multiplicação de curva elíptica normal. Da mesma forma, a partir do mesmo hash derivado do algoritmo, é criado um código em cadeia que permite a geração de novas chaves derivadas das chaves mestras. Ou seja, do Chave Privada Mestre Serão criadas as chaves privadas (Xpriv) que gerenciam os endereços e seus fundos, e a partir da chave pública mestra as chaves públicas (Xpub) serão derivadas de onde os endereços são gerados, mas não são gerenciados.
E como todos esses dados são gerados a partir da mesma semente, é possível recuperá-los. É ainda possível recriar a carteira em qualquer dispositivo apenas usando o referido seed.
Importância da Chave Privada Principal
Ser capaz de fazer cópias de segurança, exportar ou importar uma carteira ou restaurá-la no pior dos casos. Tudo isso é possível graças à implementação das carteiras HD e sua estrutura descendente. Onde o Mchave privada aster cumpre uma função importante, já que dela derivam todos os conjuntos de chaves que permitem gerir a carteira.
Como todas as informações da carteira HD são derivadas de forma determinística e hierárquica do seed, e posteriormente, do Master Private Key, é possível recriar a carteira inteira em qualquer outra carteira ou dispositivo compatível, começando apenas a partir da semente. Com total garantia de que o Master Private Key e todas as chaves derivadas dele, sejam centenas, milhares ou milhões, também serão restauradas. E com eles, é claro, todos os fundos que foram armazenados.
Então, você pode pensar nesta estrutura de árvore como se o topo de uma árvore fosse o Master Private Key, a partir do qual um número infinito de chaves privadas (Xpriv) são derivadas em ordem decrescente. Portanto, cada uma dessas chaves privadas derivadas pode ser recuperada apenas tendo o Master Private Key. Mas você não pode fazer o processo ao contrário. Ou seja, não pode ser recuperado a partir de uma chave privada secundária.
Identificação das chaves privadas principais e suas chaves derivadas
A estrutura descendente em uma carteira HD é infinita, portanto, pode ser tão profunda quanto desejar. Cada chave derivada da Chave Privada Principal pode ter 4 bilhões de chaves derivadas. Mas, além disso, cada uma dessas chaves pode ter outros 4 bilhões a mais e assim por diante. Portanto, pode haver um número infinito de descendentes.
Portanto, para identificar as chaves mestras e as chaves derivadas em uma carteira HD, é usada uma descrição do caminho. O que permite observar cada nível de descida separado pelo símbolo / (barra). Isso facilita a navegação pela estrutura em árvore da carteira. Por exemplo, todas as chaves privadas secundárias derivadas do Master Private Key, que começam com a letra m (minúscula), então serão refletidos como m / x / e / z /… / de acordo com seu nível de descida.
Se tivermos a primeira chave privada secundária (filha) derivada da chave privada mestre (pai), ela será refletida como m / 0. Ao passo que, se tivermos uma chave privada derivada da secundária (neta), ela será refletida como m / 0/1. Toda a linha descendente do Master Private Key ele atende a esses parâmetros, que são lidos da direita para a esquerda até atingir a chave privada mestra.
Utilitário de chaves privadas derivadas (Xpriv)
As chaves privadas geradas a partir do Master Private Key Eles são usados para criar as chaves públicas dos endereços da carteira. E para assinar as transações que pretende realizar com os fundos que estão disponíveis nesses endereços.
Essas chaves privadas não podem ser distinguidas ou diferenciadas de outras chaves privadas que são geradas aleatoriamente. Visto que sua particularidade de descendência não pode ser observada fora da carteira que os gerou. Portanto, seu comportamento é exatamente o mesmo de uma chave privada normal.