La curva elíptica secp256k1 de Bitcoin, campos finitos y el punto generador G
|

La curva que protege tus bitcoins: secp256k1 (Parte 1)

Serie: La Matemática Invisible de Bitcoin · Artículo 2 de 8 (Parte 1 de 2) Por Kiko Tsuki · Nakamotobook.com · Artículo elaborado con asistente de escritura (CoinmindIA). Citas validadas por el autor.

Imagina que quieres enviar dinero a alguien al otro lado del mundo sin que ningún banco, gobierno ni intermediario pueda bloquearlo, revertirlo o incluso saber quién eres. Para que eso sea posible, necesitas resolver un problema muy concreto: ¿cómo demuestra una persona que tiene derecho a gastar unos fondos sin revelar su secreto al mundo? La respuesta, como veremos, empieza en una curva elíptica.

La respuesta que Satoshi Nakamoto eligió en 2008 no fue una contraseña, ni un certificado emitido por una autoridad. Fue una curva matemática. Concretamente, la curva elíptica secp256k1, definida por una ecuación de apenas siete caracteres:

y² = x³ + 7

Esa ecuación, aparentemente simple, es la base criptográfica sobre la que descansan todos los bitcoins que existen. En este artículo —primera parte del segundo capítulo de la serie— vamos a desgranar qué es una curva elíptica, cómo se construye la aritmética que la hace útil para la criptografía, y cuál es el mecanismo que convierte un número secreto en una clave pública que puede compartirse sin miedo.

No necesitas ser matemático para seguir este artículo. Necesitas curiosidad y disposición para aceptar, al menos provisionalmente, que hay operaciones que son fáciles de hacer en una dirección y prácticamente imposibles de deshacer. Todo lo demás se construye sobre esa asimetría.

1. ¿Qué es una curva elíptica?

El término «curva elíptica» puede sonar intimidante, pero no tiene nada que ver con elipses. El nombre proviene de las integrales elípticas del siglo XIX, que históricamente llevaron a los matemáticos a estudiar este tipo de ecuaciones. Lo que nos importa aquí es mucho más concreto.

Una curva elíptica es el conjunto de todos los puntos (x, y) que satisfacen una ecuación de la forma:

y² = x³ + ax + b

donde a y b son constantes que definen la curva específica. Para que la curva sea «no singular» —es decir, para que no tenga puntos problemáticos donde no pueda calcularse correctamente— se exige que su discriminante no sea cero. Sin embargo, esto es un detalle técnico; lo importante es la forma general.

En el caso de Bitcoin, los parámetros son a = 0 y b = 7, lo que da la ecuación característica y² = x³ + 7. Si representáramos esta curva en el plano real, tendría un aspecto parecido a una curva suave y simétrica respecto al eje horizontal. Como veremos a continuación, en criptografía no trabajamos con números reales sino con un conjunto mucho más restringido y poderoso.

Una curva elíptica no es una elipse. Es una herramienta algebraica cuya utilidad para la criptografía reside en una propiedad muy concreta: definir una operación de «suma» entre puntos que sea fácil de calcular, pero muy difícil de invertir.

La simetría que lo hace todo posible

Si observas la curva y² = x³ + 7 en el plano real, notarás que es perfectamente simétrica respecto al eje X. Esto significa que si el punto (x, y) está en la curva, también lo está (x, −y). Esta simetría no es un detalle estético: es la propiedad que permite definir la operación algebraica fundamental sobre la curva.

Esa operación se llama suma de puntos, y funciona de manera geométrica: para sumar dos puntos P y Q sobre la curva, se traza una recta que pase por ambos, se encuentra el tercer punto de intersección de esa recta con la curva, y se refleja ese punto respecto al eje X. El resultado es P + Q. Hay casos especiales —cuando P = Q se usa la tangente, y se define un punto «en el infinito» que actúa como el cero— pero la idea esencial es esa.

Lo que hace que esta suma sea especialmente útil es que cumple todas las propiedades de un grupo algebraico: es asociativa, tiene elemento neutro y cada punto tiene un inverso. Eso convierte a los puntos de la curva en una estructura matemática con la que se puede «calcular» de manera rigurosa.

2. Campos finitos: cuando las matemáticas tienen límites

Hasta aquí hemos descrito la curva en el plano de los números reales. Sin embargo, los ordenadores no trabajan con números reales —que pueden tener infinitas cifras decimales— sino con números enteros de tamaño fijo. Para hacer criptografía práctica, es necesario trasladar la curva elíptica a un entorno matemático discreto y finito.

Ese entorno se llama campo finito, y en Bitcoin es el conjunto de enteros módulo un número primo muy grande p. Módulo, en este contexto, significa que todas las operaciones se realizan dentro del rango [0, p−1]: si un resultado supera p, se le resta p hasta volver al rango. Es exactamente la misma operación que usamos en la vida cotidiana con las horas del reloj: las 14 horas no existen en un reloj analógico; en su lugar, son las 2 (porque 14 mod 12 = 2).

En secp256k1, ese número primo p es:

p = 2²⁵⁶ − 2³² − 2⁹ − 2⁸ − 2⁷ − 2⁶ − 2⁴ − 1

Escrito en decimal, ese número tiene 78 cifras. Es un número astronómicamente grande, elegido de manera especial para que las operaciones sean eficientes en hardware. Dentro de ese campo finito, la curva y² = x³ + 7 (mod p) deja de ser una curva continua y se convierte en una nube de puntos discretos —literalmente, un conjunto finito de coordenadas enteras que satisfacen la ecuación. Pero la aritmética de suma de puntos sigue funcionando exactamente igual.

Trabajar en un campo finito es lo que convierte la curva elíptica en una herramienta criptográfica. La continuidad desaparece, los números se vuelven finitos y manejables, y la dificultad matemática de invertir ciertas operaciones se conserva intacta.

¿Por qué un número primo y no cualquier número?

Los campos finitos solo funcionan correctamente cuando el módulo es un número primo. Esto se debe a propiedades algebraicas profundas: en un campo con módulo primo, cada elemento no nulo tiene un inverso multiplicativo bien definido. Eso garantiza que las divisiones —fundamentales en la aritmética de curvas elípticas— siempre produzcan un resultado único dentro del campo.

Si el módulo fuera un número compuesto, habría elementos sin inverso, la aritmética se volvería inconsistente y la curva perdería las propiedades que la hacen útil para la criptografía. El primo p de secp256k1 no es arbitrario: fue elegido cuidadosamente para que las operaciones sean calculables en tiempo razonable por un ordenador y, al mismo tiempo, irreversibles en la práctica.

3. La suma de puntos: la operación que lo construye todo

Sobre la curva elíptica en campo finito, la operación de suma de puntos se puede definir con precisión algebraica. Dados dos puntos P = (x₁, y₁) y Q = (x₂, y₂) en la curva, su suma R = P + Q = (x₃, y₃) se calcula mediante las siguientes fórmulas:

λ = (y₂ − y₁) · (x₂ − x₁)⁻¹ (mod p)
x₃ = λ² − x₁ − x₂ (mod p)
y₃ = λ · (x₁ − x₃) − y₁ (mod p)

No es necesario memorizar estas fórmulas. Lo importante es entender qué representan: una receta determinista que, dados dos puntos, produce siempre el mismo tercer punto. No hay aleatoriedad, no hay ambigüedad. Es una operación matemática perfectamente definida.

El caso especial donde P = Q —es decir, cuando queremos «sumar un punto consigo mismo»— se resuelve usando la tangente a la curva en ese punto, con una fórmula análoga pero ligeramente diferente. Este caso se llama duplicación de punto (point doubling).

Multiplicación escalar: el mecanismo central

A partir de la suma de puntos, se puede definir la operación más importante de toda la criptografía de curva elíptica: la multiplicación escalar. Dado un punto P en la curva y un número entero k, la multiplicación escalar k·P se define simplemente como P sumado consigo mismo k veces:

k·P = P + P + P + … + P (k veces)

Calcular k·P para un k grande no requiere hacer k sumas una a una. Existe un algoritmo llamado «doble y suma» (double-and-add) que permite calcular k·P en un tiempo proporcional al logaritmo de k —es decir, de manera muy eficiente, incluso cuando k tiene 256 bits.

Esto es fundamental: calcular k·P dado k y P es computacionalmente barato. Sin embargo, el problema inverso —dado P y k·P, encontrar k— es lo que se conoce como el Problema del Logaritmo Discreto en Curvas Elípticas (ECDLP), y es computacionalmente inabordable para los tamaños de clave usados en Bitcoin. De esta asimetría depende toda la seguridad del sistema.

La multiplicación escalar es una trampa de un solo sentido: multiplicar es trivial; invertir es prácticamente imposible. Ahí reside el genio criptográfico de la curva elíptica.

4. El punto generador G: el origen de todo

Dentro del conjunto de puntos de la curva secp256k1, existe un punto especial llamado punto generador, denotado G. Este punto está definido explícitamente en la especificación de secp256k1 (SECG, 2010) y es el mismo para todos los usuarios de Bitcoin en el mundo. Sus coordenadas, expresadas en hexadecimal, son valores de 32 bytes cada una y están disponibles públicamente en el estándar.

El punto G es el «uno» de la multiplicación escalar: todas las claves de Bitcoin se generan multiplicando G por algún número secreto. El orden del grupo generado por G —es decir, el número total de puntos distintos que se pueden obtener multiplicando G por todos los enteros posibles— se llama n, y en secp256k1 es también un primo enorme de 256 bits.

Ese número n tiene 256 bits. Significa que hay n posibles claves privadas distintas, y cada una genera una clave pública diferente. El tamaño de ese espacio es tan astronómico que la probabilidad de que dos personas generen la misma clave privada por casualidad es prácticamente cero.

¿Por qué G es el mismo para todos?

Que todos los usuarios de Bitcoin compartan el mismo punto generador G es una decisión de diseño deliberada. G es un parámetro público del estándar secp256k1, definido en la especificación SECG (Standards for Efficient Cryptography Group). No tiene nada de secreto, y su conocimiento no representa ninguna ventaja para un atacante.

Lo que permanece secreto es el número k por el que cada usuario multiplica G. La clave pública K = k·G es, como veremos en la segunda parte de este artículo, el resultado que se comparte con el mundo. La imposibilidad de deducir k a partir de K y G es exactamente el problema ECDLP que garantiza la seguridad del sistema.

Continuará en la Parte 2

Si aún no lo has leído, repasa el primer artículo de la serie para entender el problema del doble gasto que Bitcoin resuelve con matemáticas. En la segunda parte de este artículo exploraremos el corazón del sistema: cómo se genera una clave privada, qué hace que sea segura, y cómo se transforma en una clave pública y en una dirección Bitcoin. También analizaremos por qué Satoshi eligió secp256k1 en lugar de otras curvas estandarizadas, y qué implicaciones tiene esa elección para la seguridad y la soberanía de los usuarios.

El viaje acaba de empezar. La curva está definida, la aritmética está sobre la mesa. Ahora toca ver cómo esa maquinaria genera la identidad matemática de cada bitcoiner en el mundo.

📚 Lecturas recomendadas desde Nakamotobook

Si quieres profundizar en los conceptos matemáticos presentados en esta primera parte, te recomendamos:

Del Bit al Bitcoin — Recorre la historia técnica de Bitcoin desde sus fundamentos computacionales, con secciones dedicadas a la criptografía asimétrica y los campos finitos. Disponible en Amazon a través de nuestro enlace de afiliado en nakamotobook.com.

Mi Primer Bitcoin — Introducción honesta a Bitcoin, sus principios y su filosofía. Ideal como complemento de lectura antes de adentrarse en los detalles técnicos. Disponible en Amazon a través de nuestro enlace de afiliado en nakamotobook.com.

Cierre del artículo sobre la curva elíptica secp256k1: continúa en la Parte 2

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

Preguntas frecuentes

¿Qué es la curva elíptica secp256k1 que usa Bitcoin? → secp256k1 es la curva elíptica definida por la ecuación y²=x³+7 sobre un campo finito de 256 bits. Bitcoin la usa para generar pares de claves criptográficas: la clave privada (un número secreto de 256 bits) y la clave pública (un punto en la curva). Fue elegida por Satoshi Nakamoto por su eficiencia y por la transparencia de sus parámetros, frente a curvas de origen opaco como las del NIST.

¿Qué es un campo finito y para qué sirve en Bitcoin? → Un campo finito es un conjunto de números enteros dentro de un rango definido por un número primo p. En Bitcoin, p es un número de 256 bits (aproximadamente 2²⁵⁶). Todas las operaciones de la curva elíptica se realizan módulo p, lo que convierte la curva continua en una nube discreta de puntos manejable por ordenadores y con propiedades criptográficas muy sólidas.

¿Qué es el punto generador G en Bitcoin? → El punto generador G es un punto fijo de la curva secp256k1, definido en el estándar SECG y público para todos los usuarios de Bitcoin. Es el origen de la multiplicación escalar: cada clave pública se obtiene multiplicando G por la clave privada k (K = k·G). El conocimiento de G no representa ninguna ventaja para un atacante, ya que lo que permanece secreto es siempre k.

¿Qué es la suma de puntos en una curva elíptica? → La suma de puntos es la operación algebraica fundamental sobre una curva elíptica. Dados dos puntos P y Q en la curva, su suma P+Q se obtiene trazando la recta que los une, encontrando el tercer punto de intersección con la curva y reflejándolo respecto al eje X. Esta operación es la base de la multiplicación escalar k·G que genera las claves públicas de Bitcoin.

¿Por qué la curva elíptica es útil para la criptografía de Bitcoin? → La curva elíptica define una operación (multiplicación escalar) que es fácil de calcular en un sentido y prácticamente imposible de invertir. Calcular K = k·G dado k tarda microsegundos. Encontrar k dado K y G es el Problema del Logaritmo Discreto en Curvas Elípticas (ECDLP), que requeriría más tiempo que la edad del universo con la tecnología actual. Esta asimetría es la base de la seguridad criptográfica de 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.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
ResponsableNakamotobook +info...
FinalidadManage and moderate your comments. +info...
LegitimaciónConsentimiento del interesado. +info...
DestinatariosAutomattic Inc., EEUU para filtrar el spam. +info...
DerechosAcceder, rectificar y cancelar los datos, así como otros derechos. +info...
Información adicionalPuedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.