Computación cuántica, las funciones hash y su papel en la seguridad Bitcoin
Computación cuántica, las funciones hash y su papel en la seguridad Bitcoin

¿Está Bitcoin bajo una amenaza cuántica?

Se está escribiendo y debatiendo mucho sobre si Bitcoin se verá afectado por la llegada de los ordenadores cuánticos, pero ¿es real la amenaza?

En este artículo, intentaremos saber si se trata de una preocupación real e inminente o de algo imposible de suceder. Y lo más importante, si fuera real, ¿cómo nos afectaría, dónde nos afectaría y se podría hacer algo al respecto? ¡Vamos a ello!

Primero vamos a ver de manera sencilla las funciones hash y su papel en la seguridad digital.

¿Qué son las funciones hash?

Una función hash es un algoritmo que transforma cualquier dato (como texto, un archivo o un número) en una huella digital única de longitud fija.

Si los datos de entrada cambian, aunque sea mínimamente, el resultado del hash cambia por completo.

Son muy útiles para verificar la integridad y autenticidad de la información, ya que permiten detectar cualquier alteración de los datos originales.

Imagina que tienes un documento, una foto o un conjunto de instrucciones. Una función hash es como una «licuadora» que toma esa información de entrada y la transforma en un código único, convirtiéndola en una especie de huella digital única.

Si el contenido cambia, aunque solo sea un punto o una letra mayúscula convertida en minúscula, provocará que el resultado del hash cambie por completo.

Estas funciones son esenciales en el mundo digital moderno. Se usan para verificar que la información no ha sido alterada y se aplican en todo tipo de contextos: desde sistemas bancarios hasta redes seguras, pasando por aplicaciones de mensajería o almacenamiento cifrado.

¿Cómo se usan en Bitcoin?

Bitcoin utiliza funciones hash como herramientas fundamentales para garantizar la seguridad, la integridad y la descentralización del sistema.

Estas funciones intervienen en varias partes críticas del protocolo:

  • Verificación de transacciones:
    Cuando haces una transacción, esta se agrupa con otras y se organiza en una estructura llamada árbol de Merkle*. Para construir este árbol, se aplican funciones hash que permiten verificar que ninguna transacción ha sido alterada, sin necesidad de revisar todo el bloque.
    • Si una sola transacción cambia, todo el hash del árbol cambia.
  • Prueba de trabajo y creación de bloques:
    Para añadir un nuevo bloque a la cadena, los mineros deben encontrar un valor que, al aplicarle una función hash (SHA-256), produzca un resultado con ciertas características específicas (como comenzar con varios ceros).
    • Esto garantiza que crear un bloque lleva un trabajo computacional real, haciendo que atacar la red sea extremadamente costoso (sin garantía de conseguirlo).
  • Generación de direcciones:
    Hablando de manera muy estricta y técnica, las direcciones de Bitcoin no se derivan directamente de la clave pública, sino que para su «creación», una dirección se somete a varias funciones hash (SHA-256 y luego RIPEMD-160).
    • Esto añade una capa extra de seguridad, y también hace que las direcciones sean más cortas y fáciles de manejar.
  • Protección de claves y semillas:
    En las carteras modernas, las claves privadas se derivan de una semilla o frase mnemotécnica. Para proteger este proceso se usan funciones hash robustas (como HMAC-SHA512 o PBKDF2) que hacen muy difícil que alguien pueda calcular tus claves a partir de tu frase, incluso si conoce el algoritmo.

* Como nota, un árbol de Merkle es una estructura en forma de árbol que permite organizar y verificar eficientemente un conjunto de transacciones en Bitcoin.
Cada transacción se convierte en un hash, y luego se agrupa con otra para formar un nuevo hash conjunto. Este proceso se repite en niveles hasta llegar a un único hash final: la raíz de Merkle, que representa todo el contenido del bloque.

Esta eficiencia permite, por ejemplo, que carteras ligeras (SPV) comprueben transacciones sin descargar toda la cadena de bloques.

A continuación, una descripción de las funciones hash más relevantes en Bitcoin, junto con algunos de sus usos fuera del ecosistema:

 

Función HashUso en BitcoinTambién usada en:
SHA-256Minado (prueba de trabajo), creación de direccionesHTTPS, tarjetas bancarias, firmas digitales
RIPEMD-160Generación de direcciones (combinada con SHA-256)Algunas implementaciones de PGP
HMAC-SHA512Derivación de claves en carteras HD (BIP-32)Seguridad de contraseñas
PBKDF2Fortalecimiento de frases semilla (BIP-39)Gestores de contraseñas, cifrado de archivos
HASH160Generación de direcciones P2PKHUso específico de Bitcoin (SHA-256 + RIPEMD-160)

Muy importante de saber, ya que muchas veces se puede llegar a mal interpretar:

  • SHA-256 NO fue desarrollado por la NSA exclusivamente. La NSA participó en el diseño de SHA-256 como parte del conjunto SHA-2, pero fue estandarizado y publicado por el NIST. Es importante aclarar esto, ya que mucha gente suele pensar que la NSA lo desarrolló y también dejó una puerta trasera, pero no es así. Es importante aclarar que el algoritmo se publicó abiertamente y ha sido auditado públicamente durante años.
  • Otros, como RIPEMD-160 o HMAC, tienen historia en la criptografía de código abierto.


Bitcoin simplemente los aplica para garantizar su seguridad. Y eso significa que si un día estos algoritmos se rompen, no solo Bitcoin estaría en riesgo.

 Las funciones hash usadas en Bitcoin no fueron inventadas por Satoshi Nakamoto. Son algoritmos criptográficos bien establecidos, auditados públicamente y utilizados en muchos otros sistemas.

 

¿Y qué hay de ECDSA?

 

Además de las funciones hash, Bitcoin también utiliza un sistema de firma digital llamado ECDSA (Elliptic Curve Digital Signature Algorithm).

ECDSA es el mecanismo que permite a un usuario demostrar que es el propietario de una clave privada, sin necesidad de revelarla. Es lo que hace posible firmar transacciones de forma segura.

 

Este componente es, de hecho, el punto más vulnerable frente a la computación cuántica, y no solo en Bitcoin, sino en todos los sistemas que lo utilizan.

 

Si un ordenador cuántico suficientemente avanzado pudiera ejecutar el algoritmo de Shor*, sería capaz de calcular una clave privada a partir de la clave pública asociada a una dirección concreta (la que se revela al firmar una transacción).
Esto no afecta a la clave maestra ni a todas las posibles direcciones del usuario, pero sí permite comprometer esa clave privada específica y, por tanto, gastar los fondos de esa dirección si aún no han sido movidos.

 

Eso permitiría a un atacante gastar los fondos de una dirección de Bitcoin después de ver una transacción firmada.

Por ejemplo: si una persona realiza una transacción, su clave pública queda expuesta. Un atacante con un ordenador cuántico podría usarla para descubrir su clave privada y robar los fondos antes de que la transacción se confirme.

 

* ¿Qué es el algoritmo de Shor?
Es un algoritmo desarrollado por el matemático Peter Shor en 1994, que permite a los ordenadores cuánticos resolver ciertos problemas matemáticos (como la factorización o el logaritmo discreto) mucho más rápido que los ordenadores clásicos.
Esto rompe la seguridad de muchos sistemas de cifrado actuales, como RSA o ECDSA, que dependen justamente de que esos problemas sean difíciles de resolver.

 

 

Entonces, ¿Está Bitcoin en peligro?

No de momento. Es importante entender la realidad actual.

 

Los ordenadores cuánticos representan una amenaza hipotética, pero no inmediata.

Supondrían un cambio de paradigma en la seguridad digital, pero hay que poner las cosas en contexto:

  • Actualmente no existe ningún ordenador cuántico capaz de romper SHA-256 o ECDSA a escala real.

  • Incluso si existiera uno, SHA-256 seguiría siendo resistente: un ataque cuántico (Grover*) reduciría su seguridad de 256 a 128 bits, lo que aún es considerado seguro para los estándares actuales.

  • En cambio, ECDSA sí sería vulnerable al algoritmo de Shor, como mencionamos.

  • El riesgo no es exclusivo de Bitcoin: gobiernos, bancos, empresas tecnológicas y plataformas de comunicación también dependen de los mismos algoritmos.

  • La comunidad científica ya trabaja en algoritmos resistentes a la computación cuántica (criptografía post-cuántica).

  • Y sí, Bitcoin puede adaptarse. Aunque no sea sencillo, requiere consenso entre todos los participantes de la red de Bitcoin: nodos, mineros y usuarios, si que es posible actualizar sus componentes criptográficos en caso de necesidad.


* ¿Qué es el algoritmo de Grover?
Es un algoritmo cuántico que permite acelerar la búsqueda de una solución dentro de un conjunto muy grande de posibilidades.
En el caso de funciones hash como SHA-256, Grover podría reducir el tiempo necesario para encontrar una colisión o una preimagen: pasar de necesitar 2²⁵⁶ intentos a «solo» √(2²⁵⁶), es decir, 2¹²⁸.
Esto representa una mejora importante, pero no rompe la seguridad de la función, ya que 2¹²⁸ sigue siendo un número extremadamente grande.
Por eso, SHA-256 se considera aún seguro frente a ataques cuánticos, al menos mientras no existan ordenadores cuánticos lo suficientemente potentes.

¡Bitcoin no está solo!

Bitcoin no está solo ante estos riesgos.

Las funciones hash son pilares de la seguridad digital global.
Satoshi no inventó estos algoritmos, sino que tomó herramientas ya conocidas y las combinó con una genialidad única.

Y si en el futuro llega un desafío mayor, como la computación cuántica, Bitcoin podrá adaptarse, como ya ha hecho frente a otros retos tecnológicos.

El verdadero peligro no es la computación cuántica, sino dejar de aprender.

¿Qué se está haciendo en Bitcoin frente al riesgo cuántico?

Aunque el peligro de la computación cuántica aún es teórico, la comunidad de desarrolladores de Bitcoin ya discute formas de prepararse para ello.

Las propuestas actuales se centran en mejorar la forma en que se gestionan las claves públicas y en incorporar criptografía post-cuántica.

Algunas de las ideas que considero más destacadas al momento son (nota: no soy experto en criptografía, por lo que es posible que mi visión no sea del todo completa):

  • Evitar exponer claves públicas antes de tiempo

Hoy en día, al hacer una transacción, se revela la clave pública asociada a la dirección. Esto no es un problema con ordenadores clásicos, pero sí lo sería con cuánticos.

    • Una propuesta es usar direcciones que no revelen la clave pública hasta que sea estrictamente necesario, como las basadas en Pay-to-Taproot (P2TR). Esto ya se implementó en 2021 con la actualización de Bitcoin para introducir direcciones Taproot.
  • Cambiar el sistema de firmas digitales

Bitcoin actualmente usa ECDSA, que como ya hemos comentado es vulnerable al algoritmo de Shor. Una alternativa que se esta comentando entre los desarrolladores es el reemplazarlo por esquemas de firmas resistentes a ataques cuánticos, como podrían ser:

    • XMSS, LMS, o SPHINCS+, basados en funciones hash. Las firmas digitales XMSS, LMS y SPHINCS+ son métodos de firma digital diseñados para ser resistentes a los ataques de computadoras cuánticas.
    • Dilithium o Falcon, basados en retículas (lattices), propuestos también por el NIST.

Estos esquemas son más seguros frente a ordenadores cuánticos, aunque suelen ser más pesados (tamaño de claves y firmas) y requieren ajustes técnicos importantes.

  • Diseñar una transición suave

Actualizar el sistema de firmas no es tan fácil como cambiar un parámetro. Bitcoin depende del consenso de la red, por lo que cualquier cambio debe ser compatible con versiones anteriores, voluntario y cuidadosamente probado.
Se estudian mecanismos como soft forks, bifurcaciones opcionales o direcciones nuevas que los usuarios puedan adoptar gradualmente.

Importante: Aún no hay una solución definitiva adoptada por el consenso de la red, pero el debate está activo y el código de Bitcoin está diseñado para poder evolucionar.
La clave será anticiparse y actuar antes de que exista una amenaza real.

 


Algunas referencias


Si te interesa investigar más sobre este tema, aquí tienes algunos enlaces, y te recomiendo que estés atento a las publicaciones que se realizan en la lista de desarrolladores de Bitcoin. Aunque no es fácil de seguir, ayuda a estar al día de lo que se debate y de lo que se propone.

XMSS (eXtended Merkle Signature Scheme)

  • Descripción: XMSS es una extensión del esquema de firma de Merkle que utiliza árboles de Merkle para generar múltiples firmas a partir de una sola clave privada.
  • Ventajas: XMSS ofrece un alto nivel de seguridad y puede generar un gran número de firmas antes de que la clave se agote.
  • Desventajas: Requiere almacenamiento adicional para mantener el estado del árbol de Merkle.

LMS (Leighton-Micali Signature Scheme)

  • Descripción: LMS es un esquema de firma de Merkle original que utiliza funciones hash para crear firmas.
  • Ventajas: Es relativamente simple y eficiente en términos de recursos.
  • Desventajas: Puede generar un número limitado de firmas antes de que la clave se agote.

SPHINCS+ (SPHINCS with Message Hashing and Efficient Signing)

  • Descripción: SPHINCS+ es una versión mejorada del esquema de firma SPHINCS (SPHINCS Plus), que combina múltiples instancias de LMS con técnicas de hashing para mejorar la eficiencia y seguridad.
  • Ventajas: Ofrece un equilibrio entre seguridad y rendimiento, y puede generar un gran número de firmas.
  • Desventajas: Puede ser más complejo de implementar que otros métodos.

Bitcoin Optech, una newsletter especializada en Bitcoin donde se realizan análisis de bastante calidad sobre la tecnología usada, sus desarrollos y todo lo que sucede entorno a Bitcoin.

5/5

✨ Sigue aprendiendo. Si te ha gustado este artículo, compártelo. ✨