Pular para o conteúdo
buybitcoinsmart

Glossário / Endereços e chaves

Chave privada

O que é uma chave privada?
Uma chave privada é o número secreto de 256 bits que autoriza o gasto de uma saída de bitcoin; qualquer pessoa que a descubra pode mover os bitcoins, e ninguém pode reemitir essa chave.

A propriedade de bitcoin é a posse das chaves, não um registro no livro contábil de alguém. Uma chave é um número aleatório abaixo de aproximadamente 1,16 vezes 10 elevado a 77, e é por isso que adivinhar uma não é ameaça alguma, mas gerá-la mal é. As carteiras modernas nunca mostram as chaves: elas derivam cada uma de uma frase de recuperação de 12 ou 24 palavras, e é essa frase que você protege.

Como funciona

Uma chave privada tem 32 bytes, normalmente escritos como 64 caracteres hexadecimais, escolhidos ao acaso no intervalo de 1 até pouco abaixo da ordem da curva secp256k1. Essa ordem é 115.792.089.237.316.195.423.570.985.008.687.907.852.837.564.279.074.904.382.605.163.141.518.161.494.337, um número de 78 dígitos. Praticamente qualquer valor de 32 bytes é uma chave válida, e é isso que torna a geração tão simples e o roubo por força bruta tão inviável.

Assinar é a única coisa que a chave faz. Para gastar uma saída, sua carteira produz com a chave uma assinatura sobre a transação, e cada nó verifica essa assinatura contra a chave pública que a saída exige. A assinatura prova que a chave existe sem expô-la, então um gasto confirmado publica uma assinatura e nunca o segredo por trás dela. O Bitcoin usou apenas ECDSA até o Taproot; as assinaturas Schnorr, especificadas no BIP-340, cumprem a mesma função nos gastos Taproot.

A aleatoriedade é onde está a verdadeira vulnerabilidade. O espaço de chaves não pode ser vasculhado, mas um software ruim pode reduzi-lo. Em agosto de 2013, o projeto Bitcoin publicou um aviso de segurança sobre uma falha no gerador de números aleatórios do Android que tornava previsíveis as chaves dos celulares afetados, e bitcoins foram roubados como resultado direto. As carteiras cerebrais, em que a chave vinha de uma frase inventada por uma pessoa, foram esvaziadas de forma sistemática assim que os atacantes começaram a pré-calcular dicionários. As duas falhas são de entropia, não de criptografia quebrada.

Por que isso importa quando você compra bitcoin

Comprar em uma corretora não dá a você uma chave. Dá a você um saldo no banco de dados da corretora, lastreado em bitcoins que a corretora guarda sob chaves controladas por sua própria equipe. É um arranjo perfeitamente normal enquanto você negocia, e ruim para a poupança. A Mt. Gox congelou saques e entrou em processo de falência em fevereiro de 2014, e seus credores esperaram até julho de 2024 para que os primeiros reembolsos chegassem.

O saque é o momento em que a custódia de fato passa para você. Sua carteira deriva uma chave da sua frase de recuperação, fornece o endereço correspondente e, assim que a transação da corretora é confirmada, nenhuma empresa fica entre você e os bitcoins. A partir daí, os modos de falha são seus: um backup perdido, uma frase de recuperação fotografada, um site de phishing que pede que você “valide” sua carteira.

Três hábitos cobrem a maior parte do risco. Gere as chaves em um dispositivo feito para isso, para que o segredo seja criado e usado dentro de um hardware que nunca o exporta. Faça o backup da frase de recuperação em algo que resista à água e ao fogo, e nunca como uma foto ou uma nota na nuvem. E trate qualquer pedido de uma chave ou de uma frase de recuperação como um ataque, sem exceção, porque nenhuma corretora, fornecedor de carteiras ou agente de suporte precisa de uma.

Onde a chave está em cada etapa de uma primeira compra

Acompanhe uma única compra do início ao fim e a chave privada percorre uma sequência bem específica. Você envia dinheiro para uma corretora e compra: ainda não existe chave alguma para você, apenas uma linha no livro contábil. Você cola um endereço de saque: sua carteira gerou esse endereço a partir de uma chave derivada da sua frase de recuperação, e a chave nunca saiu do dispositivo. A corretora difunde uma transação que bloqueia bitcoins no seu endereço: a chave ainda não fez nada. Meses depois você decide gastar, e só então a chave produz sua primeira assinatura, que a rede verifica e registra para sempre.

Duas coisas decorrem dessa sequência. Uma chave pode controlar bitcoins por anos antes de ser usada pela primeira vez, então uma carteira que “não fez nada” não está ociosa nem expirada. E a transferência de propriedade aconteceu no saque, não na compra, e é por isso que a etapa do saque é a que merece ser conferida duas vezes.

Chave privada vs frase de recuperação

Uma chave privada controla um conjunto de bitcoins; uma frase de recuperação gera uma carteira inteira cheia de chaves. A frase é uma codificação legível por humanos da entropia por trás de uma hierarquia BIP-32: 12 palavras carregam 128 bits, 24 palavras carregam 256 bits, e a partir dessa raiz a carteira deriva bilhões de chaves ao longo de um caminho de derivação. Restaurar a frase reconstrói cada uma delas. Restaurar uma única chave reconstrói uma única chave, e os bitcoins que a carteira tivesse em outros lugares continuam faltando.

Chave privada vs Wallet Import Format

Uma chave privada é um número e o Wallet Import Format é uma forma de escrevê-lo. O WIF envolve os mesmos 32 bytes em um byte de rede, um indicador de compressão opcional e uma soma de verificação, e então codifica o conjunto em Base58. Nada muda no segredo subjacente, então uma string WIF merece exatamente a mesma proteção que o número bruto: quem a ler pode gastar os bitcoins imediatamente.

Não confundir com

Perguntas frequentes

Alguém poderia adivinhar minha chave privada?

Não por meio de busca. Existem cerca de 1,16 vezes 10 elevado a 77 chaves possíveis, então a força bruta está fora do alcance de qualquer computador que possa vir a ser construído. As chaves são roubadas porque foram geradas com aleatoriedade fraca ou copiadas de um dispositivo, nunca porque alguém as encontrou por sorte.

Minha corretora guarda minhas chaves privadas?

Sim, a menos que você tenha sacado. O saldo em uma corretora é um crédito contra bitcoins que a corretora controla com as próprias chaves, e é por isso que uma falência ou um bloqueio na corretora afeta seus bitcoins. Sacar para uma carteira que você controla é o que transfere as chaves para você.

O que acontece se eu perder minha chave privada?

Os bitcoins permanecem visíveis na blockchain para sempre e se tornam permanentemente impossíveis de gastar. Não há reinicialização, nem serviço de recuperação, nem autoridade que possa reatribuí-los, e é por isso que o backup da sua frase de recuperação é a coisa mais importante que você possui.

Eu deveria digitar minha chave privada em um site?

Não, em circunstância alguma. Carteiras, corretoras e equipes de suporte legítimas nunca precisam dela, e todo site que pede uma está roubando bitcoins. Importe ou varra uma chave apenas dentro de um software de carteira em execução em um dispositivo que você controla.

Leia a seguir

Termos relacionados

Mais em Endereços e chaves

Ler esta página em inglês