
Endereços de criptomoeda são gerados por meio de um processo que envolve a criação de pares de chaves públicas e privadas. Essas chaves são essenciais para proteger transações e garantir a integridade da rede de criptomoedas. Aqui está uma explicação de como endereços de criptomoeda são gerados:
Geração de chave privada:
Uma chave privada é um número único, grande e gerado aleatoriamente. Ela é tipicamente criada usando um gerador de números aleatórios seguro.
No caso do Bitcoin e de muitas outras criptomoedas, as chaves privadas geralmente têm 256 bits de comprimento e são representadas como uma sequência hexadecimal (base 16). Essa chave privada serve como a "chave" para acessar e controlar os fundos associados ao endereço de criptomoeda correspondente.
A segurança e o sigilo da chave privada são primordiais. Qualquer um que possua a chave privada tem controle sobre os ativos de criptomoeda associados.
Derivação de chave pública:
Da chave privada, uma chave pública é derivada matematicamente usando criptografia de curva elíptica (ECC). ECC é um algoritmo criptográfico amplamente usado que garante a segurança das chaves enquanto permite computação eficiente.
A chave pública é um ponto em uma curva elíptica, e suas coordenadas são derivadas da chave privada. No entanto, a chave pública não é mantida em segredo e pode ser livremente compartilhada com outros.
Hash de chave pública:
Para criar um endereço de criptomoeda, a chave pública é hash usando uma função de hash criptográfica. Para Bitcoin e muitas outras criptomoedas, o SHA-256 (Secure Hash Algorithm 256-bit) é usado primeiro, seguido por uma segunda rodada de hash com o algoritmo RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest).
Esse processo de hash duplo gera uma sequência mais curta e de comprimento fixo, normalmente 160 bits (ou 20 bytes), que é conhecida como hash de chave pública.
Adição de soma de verificação:
Para garantir a integridade do endereço e detectar erros, uma soma de verificação é frequentemente adicionada ao hash da chave pública. Essa soma de verificação é gerada pelo hash do hash da chave pública com um algoritmo específico (por exemplo, SHA-256) e, então, pegando os primeiros bits do resultado.
A soma de verificação normalmente é anexada ao final do hash da chave pública, resultando em uma sequência mais longa.
Codificação de endereço:
O passo final é codificar o hash da chave pública (incluindo o checksum) em um formato adequado para uso humano. No Bitcoin, a codificação Base58 ou codificação Base58Check é comumente usada.
A codificação Base58 exclui caracteres que podem ser facilmente confundidos entre si (por exemplo, '0' e 'O', 'l' e 'I'), tornando o endereço mais fácil de usar e resistente a erros.
O hash de chave pública codificado é o que é comumente chamado de endereço de criptomoeda. É uma sequência de caracteres que pode ser compartilhada com outros para receber pagamentos de criptomoeda.
Em resumo, endereços de criptomoeda são gerados por meio da derivação matemática de uma chave pública a partir de uma chave privada. A chave pública é então hash e codificada para criar uma representação única e amigável do endereço. A chave privada é mantida em segredo e é usada para assinar transações, comprovando a propriedade e permitindo o gasto de criptomoeda associada a esse endereço. A combinação de uma chave privada, chave pública e endereço forma a base de transações seguras de criptomoeda.