Uma chave pública é a metade «partilhável» de um par de chaves. É derivada matematicamente de uma chave privada e permite a qualquer pessoa verificar que uma assinatura foi feita pela chave privada correspondente, sem revelar essa chave.
Como é feita
O Bitcoin usa criptografia de curva elíptica numa curva chamada secp256k1. A chave privada, um número, é multiplicada por um ponto de partida fixo na curva. O resultado é outro ponto: a chave pública. Multiplicar para a frente é rápido. Trabalhar para trás, da chave pública para a privada, considera-se inviável com os computadores de hoje. Essa propriedade unidirecional é aquilo em que tudo assenta.
Chave pública vs. endereço
Um endereço não é o mesmo que uma chave pública. A maioria dos formatos de endereço é um hash da chave pública, escrito num formato com verificação de erros embutida, como Base58Check, Bech32 ou Bech32m. Os endereços são mais curtos e apanham gralhas. Endereços Taproot mais novos, ativados em novembro de 2021, contêm uma chave pública (ajustada) diretamente em vez do seu hash.
O que faz numa transação
Quando gasta um UTXO, a sua transação inclui a sua chave pública (ou ela já é conhecida) e uma assinatura digital. Cada nó verifica que a assinatura é válida para essa chave pública e que a chave pública corresponde às moedas que estão a ser gastas. Se assim for, o gasto fica autorizado.
Chaves públicas alargadas
As carteiras usam muitas vezes um «xpub», uma chave pública alargada que pode gerar todos os endereços de receção de uma carteira. Serve para carteiras watch-only, que veem saldos mas não podem gastar. Trate um xpub como informação privada mesmo assim: revela todo o seu histórico de transações.
A nota quântica
Um grande computador quântico futuro poderia, em teoria, derivar chaves privadas a partir de chaves públicas. Essa é uma razão pela qual se desencoraja a reutilização de endereços, e pela qual investigadores estudam assinaturas resistentes ao quântico para o Bitcoin.