Inicio Arquitectura técnica SHA-256

SHA-256

SHA-256 (Secure Hash Algorithm 256-bit) es la función hash criptográfica que Bitcoin usa para la prueba de trabajo, la derivación de direcciones y la construcción de árboles de Merkle. Es el motor matemático sobre el que se construye la seguridad del protocolo.

¿Qué es una función hash?

Una función hash toma cualquier cantidad de datos y produce una salida de longitud fija. SHA-256 produce siempre 256 bits (32 bytes, o 64 caracteres hexadecimales). Es determinista (la misma entrada siempre produce la misma salida), irreversible (no se puede obtener la entrada a partir de la salida) y resistente a colisiones (es casi imposible encontrar dos entradas que produzcan la misma salida).

SHA-256 en Bitcoin

Minería: los mineros aplican SHA-256 dos veces (SHA-256d) a la cabecera del bloque, variando el nonce, hasta encontrar un hash menor que el objetivo de dificultad. Los ASICs son chips diseñados exclusivamente para calcular SHA-256 a velocidades de terahashes por segundo.

Direcciones: para derivar una dirección Bitcoin a partir de una clave pública se aplican SHA-256 y RIPEMD-160 sucesivamente.

Árboles de Merkle: las transacciones se hashean con SHA-256 para construir el árbol de Merkle de cada bloque.

¿Por qué importa?

SHA-256 fue diseñado por la NSA y publicado por el NIST en 2001. Lleva más de dos décadas de escrutinio criptográfico sin vulnerabilidades conocidas. Si SHA-256 se rompiera, la seguridad de Bitcoin se vería comprometida — pero también la de gran parte de la infraestructura digital mundial (TLS, certificados, firmas digitales).

Errores habituales

  • Confundir SHA-256 con cifrado (SHA-256 es una función hash, no un algoritmo de cifrado; no se puede "descifrar")
  • Creer que la NSA tiene una "puerta trasera" en SHA-256 (el algoritmo es público y ha sido analizado exhaustivamente por criptógrafos independientes)

Conceptos relacionados

Fuentes primarias

  • FIPS 180-4 (NIST)
  • Mastering Bitcoin, A. Antonopoulos