O que são Chaves Públicas e Chaves Privadas?
Pontos Principais |
— O objetivo das chaves públicas e privadas é provar que uma transação enviada não foi forjada, mas de fato assinada pelo proprietário dos fundos. — Quando você possui criptomoedas, o que você realmente possui é uma “chave privada”. — Sua “chave privada” dá ao detentor o direito de gastar as criptomoedas associadas. Como ela dá acesso às suas criptomoedas, ela deve permanecer privada. — Você pode ter uma ou várias chaves públicas associadas a cada chave privada — É possível recuperar a chave pública se você possuir a chave privada. No entanto, é impossível encontrar a chave privada usando apenas a chave pública. |
O que são chaves públicas e privadas? Aqui explicamos como elas funcionam e o que você precisa saber.
As chaves públicas e privadas são um componente integral das criptomoedas construídas em redes blockchains que fazem parte de um campo maior de criptografia conhecido como Criptografia de Chave Pública (PKC) ou Encriptação Assimétrica.
O objetivo da PKC é fazer uma transição trivial de um estado para outro, enquanto torna a reversão do processo quase impossível e, no processo, provar que você tem um segredo sem expor esse segredo. O produto é posteriormente uma função matemática unidirecional, o que o torna ideal para validar a autenticidade de algo (como por exemplo, uma transação) pois não pode ser forjado. A PKC depende de um modelo de duas chaves, a chave pública e a privada, muitas vezes comparadas, respectivamente, com um cadeado (a chave pública) e a chave real para destrancar o cadeado (chave privada).
Criptografia de Chave Pública (PKC)
O PKC é construído sobre o primitivo matemático de “Funções Arapuca“, um problema matemático fácil de computar em uma direção mas quase impossível de reverter.
Resolver esse problema exigirá uma enorme quantidade de tempo dos computadores (ou seja, milhares de anos) para calcular a resposta correta. No contexto do PKC, esses problemas matemáticos como a decomposição em fatores primos, são as funções arapuca que impossibilitam a engenharia reversa (ou seja, a forja) de assinaturas criptográficas porque requer que o computador resolva um problema matemático praticamente insolúvel.
O conceito de chaves públicas e privadas
O objetivo geral do PKC é permitir uma comunicação segura e privada usando assinaturas digitais em um canal público, em que potencialmente existem espiões maliciosos. No contexto das criptomoedas, o objetivo é provar que uma transação enviada foi de fato assinada pelo proprietário dos fundos e não foi forjada, enquanto tudo acontece em uma rede de blockchain pública entre os pares.
Quando você possui criptomoedas, o que você realmente possui é uma “chave privada”. Sua “chave privada” dá ao seu detentor o direito de gastar as criptomoedas associadas. Como ela dá acesso a suas criptomoedas, ela deve, como o nome sugere, permanecer privada.
Além de uma chave privada, há também uma chave pública e há uma ligação criptográfica entre a chave pública e a chave privada. É possível recuperar a chave pública se você possuir a chave privada. No entanto, é impossível encontrar a chave privada usando apenas a chave pública.
As chaves públicas e privadas são posteriormente análogas a um endereço de e-mail e senha, respectivamente.
Ana pode, teoricamente, criar bilhões de chaves públicas (endereços) a partir de sua chave privada, da qual ela só tem uma e funciona como sua senha privada que só ela conhece – seu segredo. Quando Ana cria um endereço de chave pública, esse endereço está publicamente disponível para todos os usuários na rede como um endereço para onde eles podem enviar criptomoedas como Bitcoin. Somente Ana pode acessar as criptomoedas enviadas para esse endereço, uma vez que ela tem a chave que corresponde ao endereço publicamente disponível.
Como funciona uma transação
A chave privada de Ana é sua assinatura digital, que ela pode usar para provar que foi ela quem enviou uma transação ou uma mensagem.
Por exemplo, se Ana quiser enviar ao Beto uma mensagem através de um canal público em que Carlos está escutando, ela pode criptografar a mensagem com sua chave privada e enviá-la ao Beto. Ana também produz um valor especial, chamado hash de saída, com a mensagem que ela enviou ao Beto usando sua chave pública. Usando o hash de saída, a mensagem e sua chave privada, Beto pode decodificar e ler a mensagem.
Carlos não é capaz de ler a mensagem porque ele só tem a chave pública de Ana e seu próprio par de chaves privada/pública. Este é o esplendor de funções arapuca em ação. Carlos não pode fazer a engenharia reversa da mensagem ou da chave privada de Ana porque ela é construída usando uma função arapuca.
No Bitcoin, transações são uma série de usuários que enviam e recebem moedas para os endereços públicos uns dos outros como entradas e saídas no modelo de transação UTXO do Bitcoin. Ana pode publicar sua chave pública na web, e as pessoas podem enviar bitcoins para esse endereço sabendo que Ana é a proprietária da chave privada desses fundos.
De modo mais geral, os nodes (pessoas que rodam o software Bitcoin) verificam e validam automaticamente as transações na rede para garantir que nenhuma delas foi forjada usando regras básicas de consenso e provas criptográficas de que os pares de chaves públicas/privadas são válidos (Prova de Trabalho). Como resultado, é quase impossível forjar transações em criptomoedas como o Bitcoin, já que usam a PKC. Estas redes são protegidas pelos pressupostos de provas matemáticas.
Continue aprendendo! Se você gosta de aprender sobre cripto e blockchain, confira nosso vídeo da School of Block Como Manter sua Cripto Segura.