05/06/2024
Al sumergirnos en el universo técnico de Bitcoin, una de las preguntas más fundamentales y recurrentes es sobre el tamaño de sus componentes criptográficos. En concreto, saber cuánto mide una clave pública de Bitcoin no es solo una cuestión de curiosidad, sino un pilar para entender la eficiencia, seguridad y evolución de la red. La respuesta no es única, ya que existen dos formatos: el antiguo y el moderno. Una clave pública de Bitcoin puede medir 65 bytes en su formato no comprimido o 33 bytes en su formato comprimido, siendo este último el estándar actual por sus significativas ventajas en ahorro de espacio y costes de transacción.

Pero, ¿por qué existen dos tamaños? ¿Qué implica esta diferencia más allá de los bytes? Este artículo profundiza en la anatomía de las claves públicas de Bitcoin, su relación con las claves privadas y las direcciones, y cómo su formato impacta directamente en funciones avanzadas como la firma de mensajes, un mecanismo esencial para probar la propiedad de fondos sin necesidad de realizar una transacción.
Entendiendo la Criptografía de Clave Pública y Privada
Antes de medir los bytes, es crucial comprender el dúo dinámico que protege cada satoshi en la red: la clave privada y la clave pública. Este sistema, conocido como criptografía de curva elíptica (ECDSA en el caso de Bitcoin), es la base de la propiedad digital en la blockchain.
- Clave Privada: Es el verdadero tesoro. Se trata de un número secreto de 256 bits (32 bytes), generado de forma aleatoria. Quien posea la clave privada tiene control absoluto sobre los fondos asociados a ella. Es el equivalente a la contraseña maestra de tu caja fuerte digital y nunca, bajo ninguna circunstancia, debe ser compartida.
- Clave Pública: Se deriva matemáticamente de la clave privada a través de un proceso unidireccional. Esto significa que es fácil calcular la clave pública a partir de la privada, pero es computacionalmente imposible hacer el proceso inverso. La clave pública se puede compartir sin riesgo y sirve para dos propósitos principales: recibir fondos (ya que a partir de ella se genera la dirección de Bitcoin) y verificar firmas digitales hechas con la clave privada correspondiente.
El Tamaño Importa: Claves Comprimidas vs. No Comprimidas
Ahora que entendemos su función, volvamos a la pregunta central sobre su tamaño. La diferencia entre 65 y 33 bytes radica en cómo se representa la información de la clave pública, que no es más que un punto (con coordenadas x, y) en una curva elíptica.
Claves Públicas No Comprimidas (Legacy)
El formato original, hoy considerado obsoleto, almacenaba la información completa del punto en la curva. Su estructura es la siguiente:
- Prefijo (1 byte): Un byte constante, `0x04`, que indica que es una clave no comprimida.
- Coordenada X (32 bytes): El valor de la coordenada X del punto.
- Coordenada Y (32 bytes): El valor de la coordenada Y del punto.
Sumando todo, obtenemos un total de 1 + 32 + 32 = 65 bytes. Durante los primeros años de Bitcoin, este era el único formato disponible.
Claves Públicas Comprimidas (Modernas)
Los desarrolladores se dieron cuenta de que, debido a la naturaleza matemática de la curva elíptica, la coordenada Y podía ser calculada si se conocía la coordenada X. Solo había dos posibles valores para Y (uno par y otro impar). Por lo tanto, en lugar de almacenar la coordenada Y completa, se podía simplemente indicar cuál de las dos opciones era la correcta.
La estructura de una clave comprimida es mucho más eficiente:
- Prefijo (1 byte): Un byte que indica la paridad de la coordenada Y. `0x02` si Y es par, y `0x03` si Y es impar.
- Coordenada X (32 bytes): El valor de la coordenada X del punto.
El resultado es una clave de 1 + 32 = 33 bytes, casi la mitad del tamaño original. Esta reducción tiene un impacto directo en el peso de las transacciones, lo que se traduce en comisiones más bajas y una blockchain menos congestionada.
Tabla Comparativa de Claves Públicas
| Característica | Clave No Comprimida | Clave Comprimida |
|---|---|---|
| Tamaño Total | 65 bytes | 33 bytes |
| Estructura | Prefijo (0x04) + X (32b) + Y (32b) | Prefijo (0x02/0x03) + X (32b) |
| Uso Actual | Legacy (obsoleto) | Estándar moderno |
| Ventaja Principal | Compatibilidad con software muy antiguo | Menor tamaño, comisiones más bajas |
Más Allá de las Transacciones: La Firma de Mensajes
El poder de una clave privada no se limita a autorizar transacciones. También puede usarse para crear una firma digital de cualquier mensaje de texto. Esta es una herramienta criptográfica increíblemente útil para probar la propiedad de una dirección de Bitcoin sin mover fondos. Sus aplicaciones son variadas: demostrar solvencia para un préstamo, participar en airdrops, realizar auditorías o simplemente verificar la identidad en un servicio digital.
Sin embargo, con la evolución de Bitcoin y la aparición de nuevos tipos de direcciones (Legacy P2PKH, SegWit P2SH, Native SegWit Bech32), surgió un problema: ¿cómo puede un software de verificación saber qué tipo de dirección está asociada a una firma? La Propuesta de Mejora de Bitcoin BIP-137 fue creada para estandarizar este proceso.
La Anatomía de una Firma de Bitcoin
Una firma digital en Bitcoin, según este estándar, tiene una longitud fija de 65 bytes y se compone de tres partes:
- Header (1 byte): Un byte de cabecera que contiene información crucial.
- Valor R (32 bytes): Uno de los componentes numéricos de la firma ECDSA.
- Valor S (32 bytes): El segundo componente numérico de la firma ECDSA.
El byte de cabecera es la clave de todo el sistema. No solo ayuda en la recuperación de la clave pública a partir de la firma, sino que también codifica el tipo de dirección y si la clave pública utilizada era comprimida o no. Esto resuelve la ambigüedad.
Los rangos de valores del byte de cabecera son los siguientes:
- 27-30: Indica una firma de una dirección Legacy P2PKH que usa una clave pública no comprimida.
- 31-34: Indica una firma de una dirección Legacy P2PKH que usa una clave pública comprimida.
- 35-38: Indica una firma de una dirección SegWit envuelta en P2SH.
- 39-42: Indica una firma de una dirección Native SegWit (Bech32).
Gracias a este ingenioso sistema, un validador puede leer el primer byte de la firma, restar una constante específica para obtener el `recId` (un valor necesario para la recuperación criptográfica) y saber exactamente cómo procesar la firma y contra qué tipo de dirección verificarla. Esto asegura la interoperabilidad entre diferentes monederos y servicios.
Preguntas Frecuentes (FAQ)
¿Cuánto mide una clave pública de Bitcoin?
Una clave pública de Bitcoin mide 33 bytes si es comprimida (el estándar actual) o 65 bytes si es no comprimida (formato antiguo). La versión comprimida es más eficiente y económica.
¿Mi clave pública es lo mismo que mi dirección de Bitcoin?
No. Tu dirección de Bitcoin (la que empieza por '1', '3' o 'bc1') se deriva de tu clave pública a través de una serie de funciones de hash (como SHA-256 y RIPEMD-160). Compartes tu dirección para recibir fondos, no tu clave pública directamente, aunque esta última también es segura de compartir.
¿Por qué se usan claves comprimidas hoy en día?
Se utilizan principalmente para ahorrar espacio en la blockchain de Bitcoin. Al reducir el tamaño de los datos en cada transacción, se pueden incluir más transacciones en cada bloque, lo que ayuda a la escalabilidad de la red y reduce las comisiones para los usuarios.
¿Puedo firmar un mensaje con mi dirección de Bitcoin?
Técnicamente, firmas el mensaje con la clave privada asociada a esa dirección. La firma resultante, junto con el mensaje y tu clave pública, permite a cualquiera verificar que el dueño de esa dirección específica fue quien creó la firma.
¿Es seguro compartir mi clave pública?
Sí, es completamente seguro. El diseño de la criptografía de curva elíptica asegura que es imposible calcular tu clave privada a partir de tu clave pública. La seguridad de tus fondos depende exclusivamente de mantener tu clave privada en secreto.
Conclusión
La longitud de una clave pública de Bitcoin, ya sea de 33 o 65 bytes, es mucho más que un simple dato técnico. Es un reflejo de la evolución de Bitcoin hacia una mayor eficiencia y escalabilidad. La transición de claves no comprimidas a comprimidas ha sido un paso crucial para optimizar el espacio en la blockchain y reducir las comisiones. Además, la estandarización de formatos de firma, como se detalla en BIP-137, demuestra cómo la comunidad de Bitcoin trabaja continuamente para crear un ecosistema robusto e interoperable, permitiendo usos que van mucho más allá de las simples transacciones monetarias y consolidando el papel de la criptografía como una herramienta fundamental para la prueba de propiedad en la era digital.
Si quieres conocer otros artículos parecidos a Clave Pública de Bitcoin: ¿Cuánto Mide y Por Qué? puedes visitar la categoría Tecnología.
