La curva que protege tus bitcoins: secp256k1 (Parte 2)
Serie: La Matemática Invisible de Bitcoin · Artículo 3 de 8 (Parte 2 de 2) Por Kiko Tsuki · Nakamotobook.com · Artículo elaborado con asistente de escritura (CoinmindIA). Citas validadas por el autor.
En la primera parte de este artículo definimos qué es una curva elíptica, cómo funciona la aritmética de puntos y cuál es el papel del punto generador G en Bitcoin. Si no la has leído aún, te recomendamos empezar por ahí, porque lo que viene a continuación se construye directamente sobre esos cimientos.
Ahora llegamos al núcleo del sistema: el proceso por el que un número secreto se convierte en una identidad matemática verificable. Vamos a entender cómo se genera una clave privada, cómo se deriva la clave pública, y por qué la operación en sentido contrario es matemáticamente imposible en la práctica. También analizaremos una decisión de diseño que distingue a Bitcoin de la mayoría de los sistemas criptográficos institucionales: la elección de secp256k1 en lugar de secp256r1.
5. Tu clave privada: un número entre 1 y 2²⁵⁶
Una clave privada de Bitcoin es, en esencia, un número entero aleatorio elegido en el rango [1, n−1], donde n es el orden del grupo de la curva secp256k1 —ese primo enorme de 256 bits que describimos en la primera parte.
En la práctica, ese número se genera mediante un generador de números aleatorios criptográficamente seguro (CSPRNG). No vale cualquier aleatoriedad: si el proceso de generación tiene sesgos o es predecible, la clave puede estar en riesgo. La entropía —la incertidumbre real del proceso de generación— es tan importante como la curva misma.
Una vez generado, ese número se representa habitualmente como 32 bytes (256 bits) en formato hexadecimal. Ese número, y solo ese número, da acceso a los fondos asociados a la dirección Bitcoin correspondiente. No hay nombre, no hay contraseña, no hay autoridad que pueda resetearla. Si se pierde, los fondos son inaccesibles para siempre. Si se compromete, los fondos pueden ser robados sin remedio. La clave privada es la soberanía hecha número.
El espacio de claves privadas tiene 2²⁵⁶ elementos posibles. Para hacerse una idea de ese tamaño: el número estimado de átomos en el universo observable es del orden de 10⁸⁰, mientras que 2²⁵⁶ es aproximadamente 1,16 × 10⁷⁷. Son números del mismo orden de magnitud. Adivinar tu clave privada por fuerza bruta es tan plausible como seleccionar el átomo correcto del universo al primer intento.
¿Cómo se almacena una clave privada?
Existen varios formatos para representar y almacenar claves privadas. El más común en Bitcoin es el formato WIF (Wallet Import Format), que codifica la clave en Base58Check —un sistema que añade una suma de verificación para detectar errores de transcripción. También existen las frases semilla (seed phrases), definidas en el estándar BIP-39, que codifican la entropía original en 12 o 24 palabras en lenguaje natural para facilitar la copia de seguridad.
Lo importante conceptualmente es que todos estos formatos son simplemente representaciones distintas del mismo número secreto. La curva, el campo finito y la aritmética trabajan siempre sobre el número en bruto.
6. Tu clave pública: el viaje de ida sin vuelta
Una vez que tienes la clave privada k, calcular la clave pública K es conceptualmente directo: basta con multiplicar el punto generador G por k usando la multiplicación escalar que definimos en la primera parte:
K = k · G
El resultado K es un punto en la curva, con coordenadas (Kx, Ky), cada una de 256 bits. En total, la clave pública «no comprimida» ocupa 512 bits más un byte de prefijo (0x04), lo que da 65 bytes. Existe también una versión «comprimida» de 33 bytes que almacena solo la coordenada Kx más un bit de paridad para Ky —posible gracias a la simetría de la curva que describimos en la Parte 1.
La operación K = k·G se puede calcular eficientemente, incluso para k de 256 bits, gracias al algoritmo doble-y-suma. En un ordenador moderno, esta multiplicación escalar tarda microsegundos. Sin embargo, el problema inverso —dado K y G, encontrar k— es el Problema del Logaritmo Discreto en Curvas Elípticas (ECDLP), y no existe ningún algoritmo conocido que lo resuelva en tiempo razonable para los tamaños de clave de secp256k1.
El Problema del Logaritmo Discreto (ECDLP)
El ECDLP es formalmente el siguiente: dado un punto base G, un punto K, y la relación K = k·G, encontrar el entero k. En los números enteros ordinarios, el logaritmo discreto tiene este mismo nombre, y existen algoritmos sub-exponenciales para resolverlo cuando el grupo tiene estructura «suave». La razón por la que las curvas elípticas son más seguras que, por ejemplo, el intercambio de claves Diffie-Hellman clásico en grupos multiplicativos es precisamente que para curvas elípticas no existen esos algoritmos sub-exponenciales eficientes.
El mejor ataque conocido contra el ECDLP en curvas elípticas genéricas es el algoritmo rho de Pollard, con complejidad O(√n). Para secp256k1, con n ≈ 2²⁵⁶, eso significa un orden de 2¹²⁸ operaciones. Con la potencia de cómputo más avanzada actualmente conocida, resolver ese problema requeriría más tiempo que la edad actual del universo.
El ECDLP es la trampa matemática central de Bitcoin: la multiplicación escalar k·G es computable en microsegundos; su inverso requeriría más energía que la contenida en el sol para resolverse. Esa asimetría radical es lo que hace que tu clave privada sea inaccesible para cualquier atacante.
7. De clave pública a dirección Bitcoin
La clave pública K no es directamente la dirección Bitcoin que ves cuando alguien te pide que le envíes fondos. Entre la clave pública y la dirección hay dos pasos adicionales de transformación, ambos basados en funciones hash —que exploraremos en detalle en el próximo artículo de la serie.
El proceso resumido es el siguiente. Primero, se aplica SHA-256 a la clave pública K. Luego, se aplica RIPEMD-160 al resultado. La salida de 160 bits (20 bytes) se llama Public Key Hash (PKH). Finalmente, se añade un byte de versión y una suma de verificación, y el conjunto se codifica en Base58Check para producir la dirección legible. Para las direcciones más modernas (SegWit/Bech32), el proceso de codificación varía, pero la base criptográfica es análoga.
El resultado es esa cadena de caracteres que empieza por 1, 3 o bc1 y que le das a alguien para que te envíe bitcoins. Detrás de esa cadena hay una serie de transformaciones matemáticas que parte de tu número secreto de 256 bits y que nadie en el mundo puede recorrer en sentido inverso:
k → K = k·G → SHA256(K) → RIPEMD160 → Dirección Bitcoin
Esta cadena de funciones unidireccionales tiene además una propiedad muy elegante: aunque la clave pública K queda expuesta cuando realizas una transacción, la dirección Bitcoin —derivada de un hash de K— no revela K directamente. Eso añade una capa extra de seguridad ante posibles avances futuros en el ataque al ECDLP.
8. ¿Por qué secp256k1 y no otra curva?
Cuando Satoshi Nakamoto diseñó Bitcoin, existían varias curvas elípticas estandarizadas disponibles. La alternativa más obvia habría sido secp256r1 (también llamada P-256), que es la curva promovida por el NIST (National Institute of Standards and Technology) de Estados Unidos y ampliamente utilizada en TLS, certificados digitales y otros estándares de seguridad.
La elección de secp256k1 en lugar de secp256r1 no fue accidental. Hay razones técnicas y razones de confianza que la justifican.
Razones técnicas
La curva secp256k1 pertenece a la familia de curvas de Koblitz, que tienen coeficiente a = 0. Esto simplifica las fórmulas de suma de puntos y permite implementaciones más eficientes. En particular, secp256k1 admite un endomorfismo eficiente que puede reducir el coste computacional de la multiplicación escalar hasta en un 33% respecto a curvas genéricas (Bernstein & Lange, 2007). Para un sistema que procesa millones de verificaciones de firma, esa eficiencia no es trivial.
Razones de confianza: el problema de los parámetros «mágicos»
La curva secp256r1 fue definida por el NIST con parámetros cuyo origen nunca fue explicado de manera transparente. En criptografía, los números de origen opaco se llaman nothing-up-my-sleeve numbers cuando se justifican, o números sospechosos cuando no. El NIST nunca explicó de dónde vino la semilla que generó la constante b de su curva.
Esto es relevante porque existen ataques teóricos —llamados backdoors de curva— donde alguien que conoce la semilla podría haber elegido una curva con propiedades débiles de manera indetectable para el público. En 2013, las revelaciones de Edward Snowden mostraron que la NSA había comprometido activamente al menos un estándar criptográfico del NIST (el generador pseudoaleatorio Dual_EC_DRBG). Aunque nunca se ha demostrado que secp256r1 esté comprometida, la sombra de duda es suficiente para un sistema que debe ser confiable por diseño, sin depender de ninguna autoridad.
La curva secp256k1, por contraste, tiene parámetros minimalistas y transparentes: a = 0, b = 7. No hay semilla opaca. No hay número mágico. La curva es lo que parece ser, y cualquiera puede verificarlo.
Satoshi eligió secp256k1 no solo por razones de eficiencia, sino también por razones de confianza. En un sistema cuyo objetivo es eliminar la necesidad de confiar en autoridades, usar una curva con parámetros cuyo origen depende de la buena fe de una agencia gubernamental sería contradictorio con los principios fundacionales de Bitcoin.
9. El par de claves como identidad matemática
Al final de todo este proceso, el par (k, K) donde K = k·G constituye la identidad criptográfica de un usuario de Bitcoin. La clave privada k es el secreto; la clave pública K es la identidad verificable que se puede compartir. La dirección Bitcoin es la forma comprimida y legible de K.
Este esquema permite dos operaciones fundamentales que son la base de todo el sistema de transacciones de Bitcoin. En primer lugar, cualquiera puede enviar fondos a una dirección —públicamente derivable de K— sin conocer k. En segundo lugar, solo el poseedor de k puede firmar una transacción que gaste esos fondos, usando el Algoritmo de Firma Digital de Curva Elíptica (ECDSA), o las más modernas firmas Schnorr introducidas con Taproot.
Sobre las firmas digitales —cómo se crean, cómo se verifican y qué cambió con Taproot— hablaremos en el próximo artículo de la serie. Por ahora, lo esencial es entender que todo el poder de Bitcoin como sistema de transferencia sin intermediarios depende de esta asimetría matemática fundamental: calcular K dado k es trivial; encontrar k dado K es imposible en la práctica.
Lo que aprendimos en este artículo
Hemos recorrido un camino significativo. Empezamos con una ecuación de siete caracteres —y² = x³ + 7— y llegamos a entender por qué esa ecuación, transpuesta a un campo finito de 256 bits, constituye la base de la soberanía financiera digital.
A lo largo de estas dos partes vimos que una curva elíptica define una operación de suma entre puntos con propiedades algebraicas muy concretas. Comprobamos que trasladar esa curva a un campo finito la convierte en una herramienta criptográfica práctica. Entendimos que la multiplicación escalar k·G es computable en microsegundos pero prácticamente irreversible. Y analizamos que la decisión de usar secp256k1 en lugar de las curvas del NIST fue, en parte, una declaración filosófica sobre la importancia de la transparencia en un sistema que no puede depender de ninguna autoridad.
En el próximo artículo de la serie, dejaremos las claves en reposo y veremos lo que ocurre cuando Bitcoin necesita demostrar que alguien tiene derecho a gastar unos fondos: las funciones hash SHA-256 y RIPEMD-160, el encadenamiento de bloques, y el Proof of Work como reloj matemático descentralizado.
Sin la curva secp256k1, no hay clave privada. Sin clave privada, no hay soberanía financiera. La matemática no es el envoltorio de Bitcoin: es su núcleo.
📚 Lecturas recomendadas desde Nakamotobook
Mastering Bitcoin (Andreas M. Antonopoulos) — El libro técnico de referencia sobre Bitcoin. Los capítulos sobre criptografía de curva elíptica y generación de claves son especialmente relevantes para profundizar en lo visto en este artículo. Disponible en Amazon a través de nuestro enlace de afiliado en nakamotobook.com.
Del Bit al Bitcoin — Ofrece una perspectiva histórica y técnica sobre cómo la criptografía moderna llegó a convertirse en el fundamento del dinero digital. Disponible en Amazon a través de nuestro enlace de afiliado en nakamotobook.com.

Referencias
Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. Recuperado de https://bitcoin.org/bitcoin.pdf
Standards for Efficient Cryptography Group. (2010). SEC 2: Recommended Elliptic Curve Domain Parameters (Version 2.0). Certicom Research. Recuperado de https://www.secg.org/sec2-v2.pdf
Hankerson, D., Menezes, A., & Vanstone, S. (2004). Guide to Elliptic Curve Cryptography. Springer. https://doi.org/10.1007/b97644
Bernstein, D. J., & Lange, T. (2007). Faster addition and doubling on elliptic curves. En Advances in Cryptology – ASIACRYPT 2007. Springer. https://doi.org/10.1007/978-3-540-76900-2_3
Wuille, P. (2021). Schnorr Signatures for secp256k1. Bitcoin Improvement Proposal BIP-340. https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
Bitcoin Wiki. (2023). Secp256k1. Recuperado de https://en.bitcoin.it/wiki/Secp256k1
Antonopoulos, A. M. (2017). Mastering Bitcoin: Programming the Open Blockchain (2.ª ed.). O’Reilly Media.
Preguntas frecuentes
¿Qué es una clave privada de Bitcoin? → Una clave privada de Bitcoin es un número entero aleatorio de 256 bits generado mediante un proceso criptográficamente seguro. Ese número, único para cada usuario, da acceso exclusivo a los fondos asociados a la dirección Bitcoin correspondiente. No existe ninguna autoridad que pueda resetearla: si se pierde, los fondos son inaccesibles para siempre.
¿Cómo se calcula la clave pública de Bitcoin a partir de la clave privada? → La clave pública K se obtiene multiplicando el punto generador G de la curva secp256k1 por la clave privada k: K = k·G. Esta multiplicación escalar se realiza mediante el algoritmo doble-y-suma y tarda microsegundos. Sin embargo, el proceso inverso —encontrar k dado K— es el ECDLP, un problema computacionalmente inabordable con los medios actuales.
¿Qué es el Problema del Logaritmo Discreto en Curvas Elípticas (ECDLP)? → El ECDLP es el problema de encontrar el entero k dado un punto base G y el punto K = k·G. Para secp256k1, el mejor algoritmo conocido (rho de Pollard) requiere aproximadamente 2¹²⁸ operaciones, lo que con la potencia de cómputo más avanzada tardaría más tiempo que la edad actual del universo. Esta irreversibilidad es el fundamento de la seguridad de Bitcoin.
¿Por qué eligió Satoshi Nakamoto secp256k1 en lugar de secp256r1? → Satoshi eligió secp256k1 por dos razones principales. Técnicamente, su coeficiente a = 0 permite implementaciones más eficientes gracias a un endomorfismo que reduce el coste de la multiplicación escalar. Filosóficamente, los parámetros de secp256r1 (promovida por el NIST) tienen un origen opaco nunca explicado, generando dudas sobre posibles backdoors. En 2013, las revelaciones Snowden confirmaron que la NSA había comprometido al menos un estándar del NIST. secp256k1 tiene parámetros minimalistas (a=0, b=7) y totalmente transparentes.
¿Cómo se genera una dirección Bitcoin a partir de la clave pública? → La dirección Bitcoin se genera aplicando dos funciones hash en cadena a la clave pública K: primero SHA-256 y luego RIPEMD-160, produciendo un hash de 160 bits. A ese hash se añade un byte de versión y una suma de verificación, y el conjunto se codifica en Base58Check. El proceso completo es: k → K=k·G → SHA256(K) → RIPEMD160 → Dirección Bitcoin.
Este artículo ha sido elaborado con asistencia de inteligencia artificial (CoinmindIA) bajo la supervisión editorial de Nakamotobook. Las citas y referencias han sido validadas por el autor antes de la publicación.
Kiko Tsuki es escritor de ciencia ficción y editor de una revista digital centrada en Bitcoin y la cultura libertaria. En sus textos explora cómo la tecnología descentralizada transforma la vida cotidiana y la relación de las personas con el poder. Cree en una futura Holocracia.








