Chave pública e privada do Bitcoin: entenda o que são e como funcionam
É verdade que o Bitcoin pode parecer um assunto um pouco técnico e complexo para quem não trabalha com tecnologia ou é super interessado pela área de computação, porém, pode-se dizer também que a maioria das pessoas que já ouviram falar sobre ele parece compreender um aspecto básico que diferencia essa tecnologia do dinheiro que usamos atualmente: o fato de podermos classificá-la como uma moeda 100% digital.
Isso quer dizer simplesmente que, ao contrário das moedas fiduciárias tradicionais, o Bitcoin não possui nenhum tipo de representação física em metal ou cédulas impressas em papel, o que modifica totalmente a forma como interagimos com esse tipo de moeda, especialmente quando se trata de armazená-la.
Na rede Bitcoin, cada usuário possui três informações básicas que permitem que eles enviem e recebam criptomoedas através da rede: uma chave pública, uma chave privada e um endereço público.
Chaves privadas, o que são?
A chave privada é uma espécie de “senha” que lhe permite assinar as transações e enviar bitcoins para alguém. É, portanto, a única informação necessária para acessar seus fundos e fazer uso deles. Além disso, ela também protege sua conta de ser acessada por outras pessoas.
Assim, essa é a informação mais valiosa que existe para um usuário de Bitcoin e é ela que deve ser protegida para que você e mais ninguém possa ter acesso ao seu dinheiro. A chave privada é composta por até 78 números aleatórios, ou 256 bits na linguagem computacional.
É possível criar uma chave com apenas um dígito, por exemplo, mas não é recomendável, porque quanto menos dígitos ela tiver, mais fácil será quebrá-la. Aqui temos um exemplo de uma chave privada:
22253723355774722335514752419334321201576740247621632658033392892734079982402
O Bitcoin faz uso das leis básicas da probabilidade para assegurar que cada pessoa gere um número único a cada vez que uma chave for criada. Com 78 dígitos, é possível gerar um número tão astronômico de combinações que ao gerar uma chave de forma aleatória, você poderá ter 99,9999999…% de certeza que é a única pessoa na história que já gerou essa combinação específica de números.
A unicidade da chave é, portanto, assegurada pelas leis matemáticas.
Você notará, porém, que, muitas vezes, ao gerar suas chaves em sites especializados, você verá uma sequência alfanumérica de 51 caracteres, ou seja, uma sequência de 51 letras e números combinados de forma aleatória.
Esse é um exemplo de uma chave privada que geramos no site Wallet Generator:
5JjwSXrkyidrvgvuJumSq8wdkW7hrbYzp9iN9zh6zbCKrhFEh5D
Não se assuste, pois essa continua sendo a mesma chave que mostramos acima, porém codificada de uma forma diferente. Os sites utilizam letras e números para diminuir o tamanho da chave e facilitar a vida do usuário. A informação é a mesma, mas o formato é diferente e é chamado Wallet Import Format ou WIFA.
Chave pública e endereço público
Uma chave pública basicamente funciona como seu endereço na rede Bitcoin, porém não deve ser confundido com o “endereço público”, como iremos explicar mais à frente. Em uma analogia simples, imagine que o seu endereço de e-mail é a sua chave pública e a sua senha é a chave privada.
Caso você quisesse enviar um e-mail para alguém, deveria acessar sua conta utilizando a sua senha e depois utilizar o e-mail da pessoa como o endereço de destino. E, se você deseja receber um e-mail, deve compartilhar o seu endereço de e-mail com a pessoa desejada, senão ela não será capaz de te encontrar na rede.
Entendendo a diferença entre dois
As chaves públicas, da mesma forma que as privadas, são uma sequência numérica de 256 bits. E, de fato, no início do sistema Bitcoin, elas eram usadas como o endereço de quem iria receber o dinheiro em uma transação.
O problema dessa abordagem é que, na rede Bitcoin, todas as transações efetuadas são gravadas de forma definitiva em um registro chamado “Blockchain”, cujas informações registradas são 100% públicas. Isso significa que, basta visitar um “Blockchain Explorer”, como o Blockchain.info, que você poderá ver todas as transações já realizadas na história do Bitcoin.
Com essa transparência das informações, ao revelar a chave pública de um usuário, a chave privada dessa pessoa estaria mais vulnerável a ataques de hackers. Ainda que o processo para extrair um chave privada a partir da pública continuasse extremamente difícil, o número de vezes que um hacker teria que tentar seria menor.
Para resolver esse problema, as pessoas deixaram de usar a chave pública como endereço de destino ao fazer uma transação, apesar de ainda ser possível.
O padrão agora é utilizar algo chamado de “Endereço Público” ou “Endereço Bitcoin”, que é uma sequência alfanumérica de 32 dígitos (ou 160 bits) derivada diretamente da sua chave pública através de uma complexa função matemática.
Não precisamos entrar em detalhes técnicos aqui, mas a ideia é que esse número remete a uma chave pública específica, identificando aquela conta como o endereço de destino em uma transação e que, ao mesmo tempo, a chave pública da pessoa em questão não seja revelada a todos, mantendo, assim, a segurança da conta.
Esse é o endereço Bitcoin correspondente à chave privada que geramos previamente:
1KFL3BqtoXQ9rMKsztVhgsvtFj6XFqKQBu
Gerando um endereço na rede Bitcoin
A principal diferença entre a chave pública e a chave privada é você nunca precisará “gerar” uma chave pública. O processo para criar um endereço na rede Bitcoin é hierárquico, ou seja, possui uma ordem definida e funciona da seguinte forma:
Primeiro você gera uma chave privada a partir de dados aleatórios. Diferentes sites ou programas utilizam diferentes formas de “aleatorizar” os dados para criar uma chave. No Wallet Generator, por exemplo, será requisitado que você movimente seu mouse por alguns instantes.
O programa, então, analisará a trajetória do seu mouse com alta precisão e irá registrar milhares de pontos para gerar uma “semente aleatória”, que será a informação responsável pela aleatoriedade dos caracteres da chave. A partir dela, o programa utilizará uma função criptográfica conhecida como SHA-256 para gerar um emaranhado de números e letras que é a chave privada.
Automaticamente, será gerada uma chave pública correspondente à chave privada que você acabou de criar. Existe uma relação matemática entre elas, portanto, para cada chave privada, existe uma única chave pública e vice-versa.
Será gerado também um endereço público, a partir da sua chave pública. Da mesma forma, existe uma relação matemática entre os dois e só existirá um endereço público para cada chave pública e vice-versa.
Sites mais populares para gerar suas chaves
Existem várias formas de gerar suas chaves com segurança. Geralmente, sua própria wallet poderá criar essas chaves para você de maneira confiável e sem esforços. Se você quiser gerá-las diretamente e depois ver como irá armazená-las, pode usar sites especializados como o Wallet Generator e o bitaddress.org.
Acesse-os e crie chaves à vontade para entender como funciona o processo. É uma ótima forma de compreender o que são as chaves na prática. Porém, se você realmente pretende usar os endereços criados lá, aconselhamos primeiro acessar o site e depois desconectar seu computador da internet antes de gerar as chaves.
O programa gerador de chaves funciona de forma offline justamente para proteger seus dados de hackers e malwares.
Armazenando suas Chaves
Como visto, a chave privada do Bitcoin é a responsável por possibilitar as transferências de uma pessoa para outra. Dessa forma, quem estiver de posse de uma chave privada de determinados bitcoins, pode enviá-los para quem quiser.
Tendo em mente que, depois de enviado para outro endereço, a transferência do Bitcoin não é reversível, é muito importante você armazenar a sua chave privada de maneira segura para impedir que ela seja acessada por pessoas que possam roubar as suas moedas.
*Esse texto foi cedido pela corretora brasileira de criptomoedas MODIAX. Confira outros conteúdos educativos no blog da exchange.
O post Chave pública e privada do Bitcoin: entenda o que são e como funcionam apareceu primeiro em Portal do Bitcoin.