O que é uma carteira de software?

Conceito de Carteira de Software

Uma carteira de software usa um número aleatório para gerar uma chave privada mestra.

Em seguida, um algoritmo determinístico e irreversível gera um número arbitrário de sub-chaves privadas com base na chave privada mestra.

Por que precisamos de um algoritmo "determinístico e irreversível"? Porque "determinístico" garante que todas as sub-chaves privadas podem ser geradas a partir de uma chave privada mestra, enquanto "irreversível" garante que a chave privada mestra não pode ser revertida por uma sub-chave privada.

O motivo pelo qual é chamada de carteira determinística hierárquica é que a estrutura de derivação de uma chave privada é uma estrutura de árvore, onde uma chave pai pode ser derivada de uma série de chaves filhas, e cada chave filha pode ser derivada de uma série de chaves netas, e assim por diante, ad infinitum.

Quando criamos pela primeira vez uma carteira HD ou fazemos backup de uma carteira, uma palavra auxiliar é gerada. A palavra auxiliar é uma sequência de palavras em inglês, e essa sequência de palavras cria a semente, que por sua vez cria todas as chaves privadas. A sequência de palavras também é o backup da carteira, que pode ser restaurado. E a semente corresponde ao número aleatório de todas as carteiras determinísticas.

A vantagem das carteiras HD é que apenas a chave pública mestra é necessária para gerar qualquer número de sub-chaves públicas. Em outras palavras, novos endereços (públicos) podem ser gerados com base na chave pública mestra sem a intervenção da chave privada (chaves privadas mestra e sub), e esses endereços podem ser controlados pela chave privada mestra.

Existem vantagens e desvantagens, quando expomos a chave auxiliar, é equivalente a dar todas as chaves privadas, e a segurança dos ativos digitais que você possui é zero.

Por que você precisa de tantas chaves privadas

O motivo pelo qual um usuário precisa de tantas chaves privadas é ilustrado pelo mecanismo de troco de uma transação de Bitcoin.

Uma transação de bitcoin é uma estrutura de dados contendo um valor de entrada e um valor de saída. Essa estrutura de dados é embutida com informações sobre o código que move um metal de seu ponto inicial (o valor de entrada) para o endereço de destino (o valor de saída).

Quando se trata de entradas e saídas de transações de Bitcoin, é importante entender o termo UTXO (Unspent Transaction Output), que é a unidade básica de uma transação de Bitcoin e é uma saída de transação não utilizada. Um único bitcoin usado é espalhado por centenas de transações e centenas de blocos como um UTXO. Na realidade, não há lugar para armazenar o endereço ou saldo de um USD, apenas um UTXO descentralizado que é bloqueado pelo proprietário.

Um UTXO pode ter qualquer valor, mas assim que é criado, é tão indivisível quanto uma moeda que não pode ser dividida ao meio. Se um UTXO for maior do que a demanda por uma transação, ele ainda será consumido como um todo, mas será criado como uma fração da transação.

Aqui está um exemplo do que isso significa. Se você tem um UTXO de 20 rúpias e deseja pagar 1 rúpia, então sua transação deve consumir todo o UTXO de 20 rúpias e criar dois resultados: um que paga 1 rúpia ao destinatário e outro que paga 19 rúpias de troco para sua carteira. Neste caso, a maioria das transações na taxa de câmbio gerará troco.

Surge a questão se o troco deve ser devolvido ao endereço original ou a um novo endereço. Quando Satoshi Nakamoto projetou o Bitcoin, ele usou um mecanismo de retorno zero que cria um novo endereço para cada transação. O benefício desse design é proteger a privacidade do usuário da transação e evitar alguns riscos de segurança.

Na vida real, é como abrir várias contas bancárias em diferentes bancos com vários nomes e cartões de identificação. Mesmo que alguém saiba o fluxo de dinheiro em cada conta, não pode rastrear o fluxo de dinheiro de volta para o verdadeiro proprietário da moeda digital, que é o chamado anonimato do Bitcoin.

É por isso que você deve saber por que um usuário de carteira precisa de tantas chaves privadas, porque chaves públicas e privadas sempre aparecem em pares, cada transação pode gerar um endereço de troco, e a chave privada correspondente a esses endereços de armazenamento e backup tornou-se um problema técnico das transações digitais. A carteira HD por uma chave pública pode gerar qualquer número de sub-chaves públicas, o que resolve em grande parte a dificuldade de usar a carteira digital.

Esse artigo foi útil?
Usuários que acharam isso útil: 3 de 4