GLOSARIO · BLOCKCHAIN & WEB3
Hash
Función criptográfica que transforma datos de cualquier tamaño en una cadena fija de caracteres, única para cada entrada.
Revisado el
¿Qué es un hash?
Un hash es el resultado de aplicar una función hash criptográfica a unos datos: una cadena de longitud fija (256 bits en SHA-256) que funciona como huella digital de esos datos. La misma entrada da siempre el mismo hash; cualquier cambio en la entrada da, con una probabilidad muy alta, un hash distinto; y a partir del hash no se puede reconstruir la entrada. Por eso se usa para comprobar que algo no ha cambiado, encadenar los bloques de una blockchain e identificar transacciones.
¿Qué es un hash y cómo funciona?
Una función hash trabaja sobre cadenas de bits y devuelve una salida de longitud fija (glosario del NIST, FIPS 186-5). Las funciones del estándar FIPS 180-4 del NIST se llaman seguras porque es computacionalmente inviable encontrar un mensaje que corresponda a un hash dado y encontrar dos mensajes distintos con el mismo hash (una colisión). El mismo estándar añade que cualquier cambio en un mensaje dará, con una probabilidad muy alta, un hash distinto.
Ejemplo con SHA-256. El hash de «abc» es ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Basta cambiar la última letra, «abd», para obtener a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9: no se parecen en nada. Los dos tienen 64 caracteres hexadecimales, es decir, 256 bits.
¿Qué es SHA-256?
SHA-256 es una de las funciones hash que define el estándar FIPS 180-4 del NIST (agosto de 2015), junto con SHA-1, SHA-224, SHA-384, SHA-512, SHA-512/224 y SHA-512/256; el NIST agrupa todas salvo SHA-1 en la familia SHA-2. SHA-256 admite mensajes de menos de 264 bits, los procesa en bloques de 512 bits con palabras de 32 bits y devuelve un resumen de 256 bits. Es la función que usa Bitcoin.
Tipos de hash: MD5, SHA-1, SHA-256 y Keccak-256
| Algoritmo | Tamaño del hash | Dónde se define | Situación y uso |
|---|---|---|---|
| MD5 | 128 bits | RFC 1321 (abril de 1992) | No es aceptable donde se necesita resistencia a colisiones, como en las firmas digitales (RFC 6151, marzo de 2011) |
| SHA-1 | 160 bits | FIPS 180-4 (NIST) | Se han usado ataques de colisión contra él; el NIST anunció el 15 de diciembre de 2022 que debe abandonarse antes del 31 de diciembre de 2030 |
| SHA-256 | 256 bits | FIPS 180-4 (NIST) | Familia SHA-2, recomendada por el NIST. Bitcoin la aplica dos veces (SHA-256 doble) a las cabeceras de bloque y a las transacciones |
| SHA3-256 | 256 bits | FIPS 202 (NIST, agosto de 2015) | Familia SHA-3, recomendada por el NIST; se basa en Keccak, ganador del concurso SHA-3 |
| Keccak-256 | 256 bits | Propuesta Keccak al concurso SHA-3 (Bertoni y otros) | Función hash de Ethereum (KEC en el Yellow Paper). No da el mismo resultado que SHA3-256, porque FIPS 202 añade al mensaje un sufijo de dos bits (01) antes de aplicar Keccak |
Hash frente a cifrado
| Hash | Cifrado | |
|---|---|---|
| ¿Usa clave? | No | Sí: transforma el texto en claro en texto cifrado con un algoritmo y una clave |
| ¿Es reversible? | No: es de un solo sentido | Sí: con la clave adecuada se descifra |
| Longitud del resultado | Fija | Depende del tamaño de los datos |
| Para qué sirve | Comprobar la integridad e identificar datos | Mantener los datos en secreto |
Las definiciones de cifrado son las del glosario del NIST (SP 800-57 y SP 800-12). La firma digital se apoya en el hash: se calcula el hash del mensaje y ese hash se firma con una clave privada, de modo que cualquier cambio en el mensaje hace fallar la verificación (FIPS 180-4).
SHA-256 en Bitcoin
La cabecera de cada bloque de Bitcoin ocupa 80 bytes e incluye el hash SHA-256 doble de la cabecera anterior, que es lo que encadena los bloques, y la raíz de un árbol de Merkle construido con los identificadores de todas sus transacciones. Para que el bloque sea válido, el hash de su cabecera tiene que ser igual o inferior a un umbral (target). Los mineros cambian el nonce de la cabecera hasta encontrar un hash que lo cumpla: esa es la prueba de trabajo.
¿Qué es el hash de una transacción (txid)?
Es el identificador de una transacción. En Bitcoin, el TXID es el SHA-256 doble de la transacción serializada (documentación de desarrolladores de Bitcoin). En Ethereum, cada transacción también tiene un hash que la identifica, y es el código que se busca en un explorador de bloques para saber si se ha confirmado. Ethereum usa Keccak-256 también para las direcciones: una dirección son los 160 bits finales del hash Keccak-256 de la clave pública (Yellow Paper).
Usos del hash fuera de la cadena
Guardar en una blockchain el hash de un documento permite demostrar después que el documento existía en esa fecha y que no ha cambiado, sin publicar su contenido: basta recalcular el hash y compararlo. Es la base de los sistemas de trazabilidad y de certificación de documentos.
Fuentes oficiales: NIST FIPS 180-4, Secure Hash Standard (en inglés); NIST FIPS 202, estándar SHA-3 (en inglés); NIST: retirada de SHA-1, 15-12-2022 (en inglés); RFC 1321, MD5; RFC 6151, seguridad de MD5; glosario del NIST: cifrado; Bitcoin: referencia de la cadena de bloques (en inglés); Ethereum Yellow Paper (en inglés).
Marco verificado a 15 de octubre de 2026. En Unknown Gravity usamos hashes en smart contracts, registros de trazabilidad y certificación de documentos, y revisamos su uso en las auditorías de smart contracts. Hablemos.
Para profundizar: Qué es blockchain y cómo funciona: tipos, ejemplos reales y límites
Explicado fácil
Un hash es como la huella digital de unos datos: un código de longitud fija que cambia por completo si cambias aunque sea una letra. No sirve para recuperar los datos, sino para comprobar que nadie los ha tocado. En blockchain se usa para encadenar los bloques e identificar cada transacción.
Hash: puntos clave
- Resume unos datos en una cadena de longitud fija (256 bits en SHA-256)
- Es de un solo sentido: del hash no se puede recuperar la entrada
- SHA-256 lo define el NIST en FIPS 180-4; Bitcoin lo aplica dos veces
- Ethereum usa Keccak-256, que no da el mismo resultado que SHA3-256
- MD5 no resiste colisiones (RFC 6151) y el NIST retira SHA-1 antes de 2031
Hash: ventajas
- Integridad: cualquier cambio en los datos da otro hash
- Tamaño fijo: el hash de un documento entero ocupa 64 caracteres hexadecimales con SHA-256
- Prueba sin revelar: publicar el hash de un documento no publica su contenido
Hash: desventajas
- No cifra: no oculta los datos; para eso hace falta cifrado
- Algoritmos que caducan: MD5 y SHA-1 ya no sirven donde importan las colisiones
- Entradas adivinables: si los datos son cortos o previsibles, se pueden encontrar probando candidatos
CONCEPTOS RELACIONADOS
SIGUE APRENDIENDO
SERVICIOS RELACIONADOS