Ir para o conteúdo
Banking on Bitcoin

Tecnologia

Chave pública e chave privada no Bitcoin: qual é a diferença?

A chave privada é o segredo que autoriza gastar, e a chave pública é derivada dela. Veja como chaves, endereços e assinaturas se encaixam no Bitcoin.

Por · Publicado · Atualizado

Ilustração de uma grande moeda bitcoin laranja brilhante sobre um fundo escuro

Ideias principais

  • Uma chave privada é um número secreto que permite autorizar gastos. Quem a tem controla as moedas, por isso ela nunca é compartilhada.
  • Uma chave pública é calculada a partir da chave privada com matemática de curvas elípticas de mão única. Nenhum método conhecido em computadores comuns consegue fazer o caminho de volta até a chave privada.
  • Um endereço é construído a partir da chave pública, e o endereço é o que você compartilha para receber pagamentos.
  • Uma assinatura digital prova que você tem a chave privada sem revelá-la, e cada nó verifica a assinatura usando a chave pública.
  • Endereços podem ser compartilhados com segurança. Chaves privadas e a frase-semente (seed phrase) nunca podem.

O que é uma chave privada?

Uma chave privada é um número secreto muito grande, que a sua carteira (wallet) escolhe ao acaso e que autoriza o gasto do bitcoin bloqueado com ela. No Bitcoin, é um número de 256 bits, e o intervalo de chaves possíveis é tão grande que ninguém consegue achar uma por busca.

A chave não contém bitcoin. As suas moedas são registros no livro-razão público, e cada uma é bloqueada por uma condição que diz, na prática: “isto pode ser gasto por quem apresentar uma assinatura válida para esta chave”. A chave privada é o que produz essa assinatura. É por isso que a rede nunca pergunta quem você é. Ela só pergunta se a assinatura confere, como descreve Como funciona o Bitcoin?

A maioria das pessoas nunca vê uma chave privada em estado bruto. A carteira cuida delas em segundo plano, e o que você é orientado a anotar é uma frase-semente, tratada mais adiante.

O que é uma chave pública e como ela é feita?

Uma chave pública é um número calculado a partir de uma chave privada com matemática de curvas elípticas, construída de modo que o cálculo só funcione em um sentido. O Bitcoin usa uma curva específica chamada secp256k1. A carteira parte de um ponto fixo e combinado dessa curva e o combina com a sua chave privada, e o resultado é a sua chave pública.

Ir para a frente é rápido. Voltar, ou seja, descobrir a chave privada por trás de uma chave pública, é considerado inviável com qualquer método conhecido em computadores comuns. Essa propriedade de mão única é o que torna seguro mostrar uma chave pública ao mundo enquanto a chave privada permanece secreta.

Observe o que essas chaves não são. O Bitcoin as usa para assinar, não para criptografar. Nada na blockchain (cadeia de blocos) é escondido, e qualquer pessoa pode ler todas as transações. O que é secreto é o direito de gastar.

Como os endereços se encaixam?

Um endereço é um rótulo mais curto feito a partir da chave pública, e é o que você compartilha para receber bitcoin. A cadeia segue em um sentido: chave privada, depois chave pública, depois endereço.

Em muitos tipos de endereço, incluindo os que começam com 1 e bc1q, a carteira passa a chave pública por funções de hash e acrescenta uma soma de verificação (checksum) que detecta erros de digitação. O endereço contém, portanto, uma impressão digital da chave, e não a chave em si. Os endereços Taproot, que começam com bc1p, funcionam de modo um pouco diferente e codificam uma chave diretamente. O que é um endereço Bitcoin? compara os formatos.

Como cada etapa é de mão única, não dá para ir de um endereço de volta a uma chave privada e, nos tipos baseados em hash, não dá nem para recuperar a chave pública só a partir do endereço. A chave pública só fica visível quando você gasta, já que a transação precisa carregar o que os nós precisam para verificar a assinatura.

Como uma assinatura prova que você é dono das moedas?

Uma assinatura digital é um valor que a sua carteira calcula a partir da sua chave privada e dos detalhes de uma transação específica, e qualquer pessoa pode verificá-la com a chave pública sem descobrir a chave privada. Gastar funciona em quatro etapas.

  1. Você diz à carteira para enviar moedas, e ela monta uma transação listando quais moedas são gastas e para onde vão.
  2. A carteira usa a chave privada para produzir uma assinatura sobre os dados dessa transação.
  3. A transação sai carregando a assinatura e, quando necessário, a chave pública.
  4. Cada nó verifica se a chave corresponde à condição com que as moedas foram bloqueadas e se a assinatura é válida para esta transação exata. Uma assinatura válida é aceita. Uma inválida é descartada.

Um anel de sinete e um selo de cera servem como uma boa analogia. O anel é a chave privada. Um registro de como é o selo autêntico é a chave pública, que qualquer pessoa pode ter e usar para comparar. A comparação confirma que a carta veio do dono do anel e não dá a ninguém os meios de fazer uma cópia do anel.

A analogia tem um limite que vale conhecer. Uma assinatura Bitcoin depende da transação que ela assina, então não pode ser tirada dali e anexada a outro pagamento. Mude o valor ou o destinatário e a assinatura deixa de ser válida.

O que é seguro compartilhar, e o que nunca é?

Endereços podem ser compartilhados com segurança, e chaves privadas e frases-semente nunca. A tabela cobre os itens que você provavelmente encontrará.

ItemÉ seguro compartilhar?Por quê
EndereçoSimÉ para onde vão os pagamentos, e conhecê-lo não permite que ninguém gaste. Mas permite que outras pessoas vejam o histórico público dele
Chave públicaEm geral sim, mas raramente necessárioEla não revela a chave privada. Um endereço basta para receber
Chave pública estendidaTrate como privadaEla não gasta, mas quem a tem consegue gerar todos os endereços dessa conta e ver o histórico inteiro
Chave privadaNuncaQuem a tem pode gastar as moedas
Frase-sementeNuncaEla regenera todas as chaves privadas da carteira

As duas últimas linhas são as que os golpistas procuram. Nenhum fabricante de carteira, corretora (exchange) ou atendente de suporte legítimo pedirá uma delas, e um site que se oferece para “verificar” ou “importar” uma delas está tentando levar as suas moedas.

Como a frase-semente se relaciona com as chaves?

Uma frase-semente é uma forma legível de um único segredo mestre a partir do qual uma carteira gera todos os seus pares de chaves. As carteiras modernas são chamadas de determinísticas hierárquicas: a partir de uma única semente, elas derivam uma longa sequência de chaves privadas e, de cada uma, uma chave pública e um endereço, sempre na mesma ordem.

É assim que uma carteira consegue lhe dar um endereço novo para cada pagamento sem pedir que você faça a cópia de segurança de cada chave separadamente. É também por isso que digitar as mesmas palavras em uma carteira compatível traz de volta todos os endereços de uma vez. A consequência é que a frase é ainda mais sensível do que qualquer chave isolada, porque uma única frase desbloqueia todas elas. O que é uma frase-semente? trata de armazenamento e recuperação.

Uma carteira de hardware (hardware wallet) leva a ideia mais longe, mantendo as chaves privadas dentro de um dispositivo dedicado que assina por você, de modo que elas nunca tocam um computador conectado. O que é uma hardware wallet? explica como isso funciona, e Carteira Bitcoin: tipos e como escolher a sua a compara com os outros tipos de carteira.

O que são as assinaturas ECDSA e Schnorr?

ECDSA e Schnorr são os dois esquemas de assinatura que o Bitcoin usa, e ambos funcionam com o mesmo tipo de par de chaves: a chave privada assina e a chave pública verifica. O ECDSA é o esquema original, em uso desde o lançamento do Bitcoin em 2009 e ainda usado na maioria dos tipos de endereço. As assinaturas Schnorr foram adicionadas pela atualização Taproot em novembro de 2021 e são usadas com endereços bc1p, e a estrutura matemática delas facilita combinar várias chaves em uma só.

A sua carteira escolhe o esquema de acordo com o tipo de endereço, então você não precisa escolher. O que é o Taproot? explica o que as assinaturas Schnorr tornam possível.

O que acontece se uma chave for perdida ou exposta?

Perder uma chave privada significa que as moedas que ela controla não podem mais ser gastas, e uma chave privada exposta significa que qualquer pessoa pode gastá-las. Nenhuma das duas situações pode ser desfeita. Não há conta a recuperar nem central de atendimento para ligar, porque a rede verifica assinaturas e não verifica identidades.

Na prática, isso transforma a segurança das chaves em disciplina de cópia de segurança. Guarde a frase-semente offline, em papel ou metal, nunca a digite, nem uma chave privada, em um site, e teste a recuperação com uma quantia pequena antes de depender dela. O que acontece com os bitcoins perdidos? mostra como uma perda é permanente.

Há uma preocupação teórica sobre chaves públicas expostas. Um computador quântico futuro muito grande poderia, em princípio, derivar uma chave privada a partir de uma chave pública que já esteja visível na blockchain. Essa máquina não existe hoje, e as opiniões de especialistas sobre o prazo divergem muito, então Computadores quânticos poderiam quebrar o Bitcoin? separa o que está em risco do que não está.

Este artigo é educativo. Para decisões sobre guardar ou transmitir a outras pessoas uma quantia maior, considere um profissional financeiro ou jurídico qualificado. Se você é novo no Bitcoin, a trilha Comece aqui explica os fundamentos em ordem.

Leia a seguir

Perguntas frequentes

Qual é a diferença entre uma chave pública e uma chave privada?

Uma chave privada é um número secreto que permite autorizar o gasto do seu bitcoin, por isso nunca deve ser compartilhada. Uma chave pública é calculada a partir da chave privada e pode ser compartilhada com segurança, porque não dá para usá-la para descobrir a chave privada. A chave privada assina as transações e a chave pública permite que outros verifiquem a assinatura.

Dá para obter uma chave privada a partir de uma chave pública?

Não com nenhum método conhecido em computadores comuns. O cálculo que transforma uma chave privada em chave pública funciona em um único sentido. Um computador quântico grande o bastante poderia, em teoria, revertê-lo, mas essa máquina não existe hoje.

Um endereço Bitcoin é o mesmo que uma chave pública?

Não. Em muitos tipos de endereço, o endereço é feito a partir de um hash da chave pública, ou seja, é um rótulo mais curto derivado da chave e não a chave em si. Os endereços Taproot que começam com bc1p codificam uma chave diretamente. Você compartilha o endereço para receber pagamentos.

É seguro compartilhar minha chave pública?

Uma chave pública não pode ser usada para gastar o seu bitcoin nem para recuperar a sua chave privada, então compartilhá-la não é um perigo imediato. Raramente há motivo para isso, porém, porque um endereço basta para receber. As chaves públicas estendidas são mais sensíveis, pois permitem que qualquer pessoa veja todos os endereços e pagamentos de uma carteira.

O que acontece se alguém obtiver a minha chave privada?

A pessoa pode gastar o bitcoin controlado por essa chave, e o roubo em geral não pode ser revertido, porque a rede verifica assinaturas, não identidades. O mesmo vale para a sua frase-semente, que pode regenerar todas as chaves privadas da carteira. Nunca digite nenhuma das duas em um site nem as compartilhe com ninguém.

Artigos relacionados