Una clave pública es la mitad «compartible» de un par de claves. Se deriva matemáticamente de una clave privada y permite a cualquiera verificar que una firma la hizo la clave privada correspondiente, sin revelar esa clave.
Cómo se hace
Bitcoin usa criptografía de curva elíptica en una curva llamada secp256k1. La clave privada, un número, se multiplica por un punto de partida fijo de la curva. El resultado es otro punto: la clave pública. Multiplicar hacia delante es rápido. Trabajar hacia atrás, de clave pública a clave privada, se considera inviable con los ordenadores de hoy. Esa propiedad unidireccional es en lo que se apoya todo.
Clave pública frente a dirección
Una dirección no es lo mismo que una clave pública. La mayoría de formatos de dirección son un hash de la clave pública, escrito en un formato con comprobación de errores integrada, como Base58Check, Bech32 o Bech32m. Las direcciones son más cortas y detectan erratas. Las direcciones Taproot más nuevas, activadas en noviembre de 2021, contienen una clave pública (ajustada) directamente en lugar de su hash.
Qué hace en una transacción
Cuando gastas un UTXO, tu transacción incluye tu clave pública (o ya se conoce) y una firma digital. Cada nodo comprueba que la firma es válida para esa clave pública y que la clave pública coincide con las monedas que se gastan. Si es así, el gasto queda autorizado.
Claves públicas extendidas
Las billeteras suelen usar un «xpub», una clave pública extendida que puede generar todas las direcciones de recepción de una billetera. Sirve para billeteras de solo lectura, que ven saldos pero no pueden gastar. Trata un xpub como información privada de todos modos: revela todo tu historial de transacciones.
La nota cuántica
Un gran ordenador cuántico futuro podría, en teoría, derivar claves privadas a partir de claves públicas. Esa es una razón por la que se desaconseja reutilizar direcciones, y por la que los investigadores estudian firmas resistentes a lo cuántico para Bitcoin.