SHA-256
¿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