Uma chave pública é a contraparte criptográfica de uma chave privada. Juntas, elas permitem que você prove a propriedade de criptomoedas sem revelar o segredo que as controla.
Resumo
- Uma chave pública é um número grande derivado matematicamente de uma chave privada usando multiplicação de curva elíptica, uma função unidirecional que é rápida de calcular em uma direção, mas praticamente impossível de reverter.
- Bitcoin e Ethereum usam a curva elíptica secp256k1, que produz chaves privadas de 256 bits e chaves públicas não comprimidas de 512 bits (ou chaves públicas comprimidas de 257 bits).
- Um endereço de carteira não é o mesmo que uma chave pública; o endereço é uma versão mais curta e com hash da chave pública, projetada para ser mais fácil de compartilhar e mais resistente a certos ataques teóricos.
- A chave privada assina transações, a chave pública verifica essas assinaturas e o endereço recebe fundos. Perder a chave privada significa perda permanente de acesso; compartilhar a chave pública ou o endereço não representa risco para a segurança dos fundos.
- A vulnerabilidade de firmware da Coldcard de julho de 2026, que expôs geração fraca de chaves privadas afetando US$ 116 milhões em bitcoin, ressalta por que a geração e o armazenamento adequados de chaves continuam sendo os aspectos mais críticos da autocustódia.
A criptografia de chave pública é a base de toda transação de criptomoeda, mas a maioria dos usuários nunca interage diretamente com sua chave pública. Eles veem endereços de carteira, escaneiam códigos QR e confirmam transferências sem entender a camada matemática que torna possível a propriedade sem confiança.
Essa camada é importante porque entendê-la muda a forma como você pensa sobre segurança. Uma chave pública não é uma senha. Não é um segredo. É um número que você pode compartilhar com qualquer pessoa, e do qual ninguém pode derivar a chave privada que controla seus fundos. Essa assimetria, fácil de ir em uma direção, mas impossível de voltar, é o que permite que estranhos na internet enviem dinheiro uns aos outros sem confiar em um banco, um governo ou uns nos outros.
Como funcionam os pares de chaves
Toda carteira de criptomoeda é construída sobre um par de chaves: uma chave privada e uma chave pública. A chave privada é um número gerado aleatoriamente, normalmente com 256 bits de comprimento, o que significa que é um de aproximadamente 10 elevado a 77 valores possíveis. Para contextualizar, o número estimado de átomos no universo observável é em torno de 10 elevado a 80. O espaço de chaves é grande o suficiente para que adivinhar uma chave privada específica por força bruta não seja uma preocupação prática com a tecnologia atual ou previsível.
A chave pública é derivada da chave privada por meio da multiplicação de curva elíptica. Bitcoin e Ethereum usam uma curva específica chamada secp256k1. A chave privada é multiplicada por um ponto fixo nesta curva chamado ponto gerador, e o resultado é outro ponto na curva. Esse resultado é a chave pública.
A propriedade crítica é que essa multiplicação é uma função unidirecional. Dada uma chave privada, calcular a chave pública leva uma fração de segundo. Dada apenas a chave pública, calcular a chave privada requer resolver o problema do logaritmo discreto da curva elíptica, que não tem solução eficiente conhecida. Essa assimetria é toda a base da segurança das criptomoedas.
Chave pública versus endereço de carteira
Um equívoco comum é que um endereço de carteira e uma chave pública são a mesma coisa. Eles não são. O endereço é derivado da chave pública por meio de uma ou mais rodadas de hash, um processo que encurta a saída e adiciona uma camada extra de segurança.
No Bitcoin, o processo funciona da seguinte forma. A chave pública não comprimida de 512 bits (ou a chave pública comprimida de 257 bits) é submetida a SHA-256 e depois a RIPEMD-160, produzindo um hash de 160 bits. Um byte de versão é prefixado, um checksum é anexado e o resultado é codificado no formato Base58Check. A saída final é o endereço Bitcoin familiar que começa com 1, 3 ou bc1.
No Ethereum, o processo é mais simples. A chave pública de 512 bits é submetida a Keccak-256 (uma variante do SHA-3), e os últimos 20 bytes (160 bits) do hash se tornam o endereço. Um prefixo "0x" e um checksum opcional EIP-55 são adicionados para produzir o endereço Ethereum familiar.
A razão para aplicar hash na chave pública para gerar um endereço é em parte prática (strings mais curtas são mais fáceis de compartilhar) e em parte defensiva. Se computadores quânticos algum dia forem capazes de quebrar a criptografia de curva elíptica, eles precisariam da chave pública, não do endereço, para derivar a chave privada. Endereços que nunca foram usados para enviar uma transação nunca tiveram sua chave pública exposta na blockchain, adicionando uma camada teórica de resistência quântica.
Como assinaturas digitais provam propriedade
Quando você envia criptomoeda, você não está movendo moedas de um lugar para outro. Você está criando uma mensagem que diz "Eu autorizo a transferência de X quantidade do meu endereço para este destinatário" e assinando essa mensagem com sua chave privada. A assinatura prova que a pessoa que criou a mensagem controla a chave privada associada ao endereço de envio, sem revelar a chave privada em si.
O processo de verificação usa a chave pública. Qualquer pessoa que execute um nó na rede pode pegar a mensagem da transação, a assinatura digital e a chave pública do remetente, e executar uma verificação matemática que confirma que a assinatura foi produzida pela chave privada correspondente. Se a verificação passar, a transação é válida. Se falhar, a transação é rejeitada.
É por isso que perder uma chave privada é catastrófico. Sem chave privada, não há capacidade de produzir assinaturas válidas, o que significa não poder autorizar transações a partir desse endereço. Os fundos permanecem na blockchain, visíveis para todos, mas permanentemente inacessíveis. Não existe mecanismo de "esqueci minha senha" porque não há autoridade central que mantenha um backup.
A cadeia de geração de chaves
Em carteiras modernas, chaves privadas individuais não são geradas independentemente. Em vez disso, uma única semente mestra produz todas as chaves na carteira através de um processo determinístico definido por BIP-32 (carteiras hierárquicas determinísticas) e BIP-39 (frases-semente mnemônicas frases-semente).
O processo começa com entropia, uma fonte de aleatoriedade. O software ou dispositivo de hardware da carteira gera um número aleatório, tipicamente de 128 ou 256 bits. Essa entropia é codificada como uma frase mnemônica de 12 ou 24 palavras retiradas de uma lista padronizada de 2.048 palavras. A frase mnemônica, combinada com uma frase secreta opcional, é processada por uma função de derivação de chave (PBKDF2) para produzir uma semente mestra de 512 bits.
A partir da semente mestra, uma árvore hierárquica de pares de chaves é derivada. Cada ramo da árvore pode gerar bilhões de chaves privadas únicas e suas chaves públicas e endereços correspondentes. É por isso que uma única frase-semente pode recuperar uma carteira inteira com todos os seus endereços: a semente regenera deterministicamente cada par de chaves na hierarquia.
A implicação de segurança é que a frase-semente é a raiz de todas as chaves. Qualquer pessoa que obtenha a frase-semente pode regenerar cada chave privada, cada chave pública e cada endereço que a carteira já usou ou usará. Proteger a frase-semente é equivalente a proteger todos os pares de chaves na carteira simultaneamente.
Chaves públicas comprimidas versus não comprimidas
O software inicial do Bitcoin usava chaves públicas não comprimidas, que incluem ambas as coordenadas x e y do ponto na curva elíptica. Uma chave pública não comprimida tem 65 bytes: um prefixo de 1 byte (0x04) seguido por 32 bytes para a coordenada x e 32 bytes para a coordenada y.
Como a equação da curva elíptica significa que para qualquer coordenada x dada existem apenas dois valores possíveis de y (um par, um ímpar), é suficiente armazenar apenas a coordenada x e um único bit indicando se y é par ou ímpar. Isso produz uma chave pública comprimida de 33 bytes: um prefixo de 1 byte (0x02 para y par, 0x03 para y ímpar) seguido por 32 bytes para a coordenada x.
Chaves comprimidas economizam espaço em transações, o que reduz taxas. Desde 2012, a maioria dos softwares Bitcoin usa chaves públicas comprimidas por padrão. Ethereum usa chaves públicas não comprimidas internamente, mas remove o byte de prefixo na derivação de endereço, usando apenas os valores x e y de 64 bytes.
A distinção importa para compatibilidade. Uma chave pública comprimida e uma não comprimida derivadas da mesma chave privada produzem endereços diferentes no Bitcoin. Importar uma chave privada para uma carteira que usa um formato de compressão diferente do da carteira original gerará um endereço diferente, o que pode causar confusão se fundos foram enviados para o endereço do outro formato.
Falhas reais de segurança de chaves
A teoria por trás da criptografia de chave pública é sólida, mas falhas de implementação causaram perdas significativas.
Em julho de 2026, pesquisadores descobriram que a carteira de hardware Coldcard estava gerando chaves privadas fracas por cinco anos. Uma flag de compilação no firmware instruía o dispositivo a ignorar seu chip dedicado de aleatoriedade de hardware, resultando em entropia previsível. Um atacante fez engenharia reversa da fraqueza e começou a drenar carteiras em 30 de julho, esvaziando aproximadamente US$ 116 milhões em bitcoin antes que a vulnerabilidade fosse divulgada publicamente.
A lição é que a segurança de um par de chaves depende inteiramente da qualidade da aleatoriedade usada para gerar a chave privada. Uma chave de 256 bits teoricamente inquebrável não vale nada se o gerador de números aleatórios for falho, tendencioso ou previsível. É por isso que carteiras de hardware respeitáveis usam geradores de números verdadeiramente aleatórios dedicados e permitem que os usuários adicionem sua própria entropia (como lançamentos de dados) como uma salvaguarda adicional.
Outros incidentes históricos incluem a vulnerabilidade SecureRandom do Android em 2013, que fez com que várias carteiras Bitcoin gerassem números aleatórios duplicados, permitindo que atacantes calculassem chaves privadas a partir de assinaturas de transações. O gerador de endereços de vaidade Profanity foi explorado em setembro de 2022, quando pesquisadores descobriram que sua geração de chaves usava uma semente de 32 bits, reduzindo o espaço de chaves efetivo de 2 elevado a 256 para 2 elevado a 32, aproximadamente 4 bilhões de possibilidades que poderiam ser forçadas por força bruta em minutos.
Chaves públicas e contratos inteligentes
Em plataformas de contratos inteligentes como Ethereum, a criptografia de chave pública serve a um propósito duplo. Ela protege contas de propriedade externa (EOAs), as carteiras de usuário padrão controladas por chaves privadas, e autentica mensagens assinadas por essas contas quando elas interagem com contratos inteligentes.
Quando um usuário chama uma função em um contrato inteligente, a transação inclui a assinatura digital produzida pela chave privada do usuário. A Máquina Virtual Ethereum verifica essa assinatura contra a chave pública do remetente antes de executar a função. É assim que um contrato inteligente sabe que a pessoa que chama "transferir 100 USDC para o endereço X" é realmente o proprietário dos tokens que estão sendo transferidos.
Carteiras de contrato inteligente (carteiras de abstração de conta introduzidas pelo ERC-4337) podem modificar esse modelo. Em vez de depender apenas de uma única chave privada, uma carteira de contrato inteligente pode exigir múltiplas assinaturas, autenticação biométrica, recuperação social ou limites de gastos impostos por código. A chave pública permanece parte do sistema, mas as regras que governam o que constitui uma autorização válida tornam-se programáveis.
Gestão de chaves custodial versus autocustódia
Em uma exchange centralizada, a exchange detém as chaves privadas e os usuários acessam seus fundos por meio de autenticação tradicional (nome de usuário, senha, códigos de dois fatores). O usuário nunca vê uma chave pública ou privada. A exchange assina transações em nome do usuário.
Na autocustódia, o usuário detém a chave privada (ou a frase-semente que a gera) e é o único responsável por sua segurança. A chave pública e o endereço são derivados localmente, e nenhum terceiro tem acesso à capacidade de assinatura.
A troca é clara. Soluções custodiais são convenientes, mas introduzem risco de contraparte: se a exchange for hackeada, insolvente ou congelar saques, os fundos do usuário estão em risco. A autocustódia elimina o risco de contraparte, mas introduz risco operacional: se o usuário perder a frase-semente, armazená-la incorretamente ou for vítima de phishing, os fundos desaparecem permanentemente.
Configurações de múltiplas assinaturas dividem a diferença ao distribuir a gestão de chaves entre várias partes ou dispositivos. Um multisig 2-de-3 exige que quaisquer duas das três chaves privadas assinem uma transação, então perder uma chave não resulta em perda permanente e comprometer uma chave não dá ao atacante o controle.
O que este artigo não cobre
Este artigo não cobre esquemas de criptografia pós-quântica, como assinaturas baseadas em reticulados, que estão sendo pesquisados como substitutos para a criptografia de curva elíptica no caso de computadores quânticos em larga escala se tornarem viáveis. Não cobre a matemática das curvas elípticas além do nível conceitual. Não cobre guias específicos de configuração de carteiras, pois esses variam por produto e mudam com frequência.
Verificações práticas para proteger suas chaves
Nunca compartilhe sua chave privada ou frase-semente. Nenhum serviço legítimo, agente de suporte ou airdrop pedirá essas informações. Qualquer solicitação dessas credenciais é um golpe, sem exceção.
Verifique o formato do endereço antes de enviar. Malware de área de transferência pode substituir um endereço copiado pelo endereço de um atacante. Sempre confirme visualmente os primeiros e últimos caracteres de um endereço após colá-lo.
Use hardware wallets for significant holdings. Hardware wallets generate and store private keys on a dedicated chip that never exposes them to the internet-connected device. Research the manufacturer’s track record with entropy generation before purchasing.
Add your own entropy when possible. Some hardware wallets allow users to supplement the device’s random number generator with manually entered randomness such as coin flips or dice rolls. This mitigates the risk of a flawed hardware random number generator.
Keep seed phrase backups in multiple secure locations. A single copy stored in one location is vulnerable to fire, flood, or theft. Metal seed phrase backups resist environmental damage better than paper.
What is a public key in cryptocurrency?
A public key is a large number derived from a private key using elliptic curve multiplication. It serves as the cryptographic identity that verifies transaction signatures without revealing the private key. Anyone can see a public key, and sharing it does not compromise fund security.
Is a public key the same as a wallet address?
No. A wallet address is derived from the public key through one or more rounds of cryptographic hashing. The address is shorter and easier to share. In Bitcoin, the same private key can produce different addresses depending on whether compressed or uncompressed public keys are used.
Can someone steal my crypto if they know my public key?
No. The public key is designed to be shared. Deriving the private key from the public key requires solving the elliptic curve discrete logarithm problem, which has no known efficient solution with current computing technology.
What happens if I lose my private key?
The funds associated with that key become permanently inaccessible. There is no recovery mechanism because cryptocurrency networks have no central authority that stores backups. This is why seed phrase backups are critical for self-custody wallets.
What is the difference between a public key and a private key?
The private key is a randomly generated secret number used to sign transactions. The public key is derived from the private key and is used to verify signatures. The private key must remain secret; the public key can be shared freely.
How does a seed phrase relate to public and private keys?
A seed phrase (12 or 24 words) encodes the master entropy from which all private keys in a wallet are deterministically derived. Each private key produces a corresponding public key and address. Protecting the seed phrase protects every key pair the wallet will ever generate.
What elliptic curve do Bitcoin and Ethereum use?
Both Bitcoin and Ethereum use the secp256k1 elliptic curve. It produces 256-bit private keys and 512-bit uncompressed public keys (or 257-bit compressed public keys). The curve was chosen for its efficiency and well-understood security properties.
Could quantum computers break public key cryptography?
Theoretically, a sufficiently powerful quantum computer running Shor’s algorithm could derive a private key from a public key. However, no such quantum computer exists as of 2026. Addresses that have never been used to send transactions have not exposed their public key on-chain, adding a layer of protection. Post-quantum signature schemes are being researched as future replacements.






