Criptografía de clave pública en Bitcoin
¿Qué es la criptografía asimétrica?
Imagina un candado especial: cualquiera puede cerrarlo (usando tu clave pública), pero solo tú puedes abrirlo (con tu clave privada). La criptografía asimétrica funciona así. Se basa en un par de claves matemáticamente relacionadas: una clave privada, que mantienes en secreto, y una clave pública, que puedes compartir libremente. Lo que una clave firma, la otra puede verificar, sin que sea necesario revelar el secreto.
Bitcoin usa este principio para resolver un problema fundamental: ¿cómo demostrar que tienes derecho a gastar ciertos bitcoin sin depender de un banco, un servidor ni una contraseña guardada en ningún sistema central? La respuesta es la firma digital: firmas con tu clave privada y cualquier nodo de la red puede verificarlo con tu clave pública.
La curva elíptica secp256k1
Bitcoin genera sus claves usando una curva elíptica específica llamada secp256k1. Una curva elíptica es una estructura matemática con una propiedad fundamental: es fácil multiplicar un punto de la curva por un número (clave privada × punto generador = clave pública), pero es computacionalmente inviable hacer la operación inversa. Esto se conoce como el problema del logaritmo discreto en curvas elípticas.
La seguridad no es absoluta en sentido matemático, sino computacional: revertir la operación requeriría más tiempo que la edad del universo, incluso con todos los ordenadores del planeta. Los ordenadores cuánticos podrían cambiar este panorama en el futuro, pero las estimaciones sitúan ese riesgo a décadas de distancia, y existen propuestas de criptografía post-cuántica en desarrollo.
Satoshi eligió secp256k1 porque, a diferencia de otras curvas populares en su momento, tiene parámetros no aleatorios, lo que reduce la sospecha de posibles puertas traseras.
La cadena de derivación: privada → pública → dirección
El proceso es siempre unidireccional, como tres eslabones de una cadena que solo puede recorrerse en un sentido:
- Clave privada: un número aleatorio de 256 bits. Tu secreto absoluto, habitualmente representado como parte de tu seed phrase.
- Clave pública: se obtiene multiplicando la clave privada por el punto generador de secp256k1. Es un punto en la curva que puede compartirse sin riesgo.
- Dirección Bitcoin: se deriva aplicando funciones hash (SHA-256 y RIPEMD-160) a la clave pública. Es lo que compartes para recibir bitcoin.
Cada eslabón es irreversible: de la dirección no se puede obtener la clave pública, y de la clave pública no se puede obtener la clave privada. Conocer tu dirección no le sirve de nada a un atacante para acceder a tus fondos.
Cómo funciona en la práctica
Cuando envías bitcoin, tu billetera usa tu clave privada para crear una firma digital sobre la transacción. Cualquier nodo de la red puede verificar esa firma usando tu clave pública, sin conocer la clave privada en ningún momento. Si la firma es válida, la transacción se acepta; si no, se rechaza. Sin intermediario, sin excepción. Esta asimetría —fácil verificar, imposible falsificar— es lo que hace funcionar a Bitcoin sin autoridad central.
«Tus claves, tus bitcoin»
La criptografía de clave pública es la base técnica de la autocustodia. Mientras tú controles tu clave privada, nadie puede mover tus bitcoin: ni un gobierno, ni un banco, ni un hacker (salvo que obtenga la clave). Pero la responsabilidad es total: si pierdes la clave, no hay botón de «olvidé mi contraseña». Por eso proteger tu seed phrase es la tarea más importante en Bitcoin.
Errores habituales
- Confundir clave pública con dirección Bitcoin (la dirección se deriva de la clave pública mediante hashing; no son lo mismo)
- Creer que la clave privada se comparte al firmar una transacción (solo se comparte la firma y la clave pública)
- Pensar que «imposible de revertir» significa matemáticamente imposible (es inviabilidad computacional, no absoluta)
- Asumir que los ordenadores cuánticos ya rompieron la criptografía de Bitcoin (la amenaza es real pero lejana, y existen contramedidas en desarrollo)
Conceptos relacionados
Fuentes primarias
- Whitepaper de Bitcoin, Sección 2
- SEC 2: Recommended Elliptic Curve Domain Parameters (Certicom)
- Mastering Bitcoin, A. Antonopoulos, Cap. 4