¿Qué es un hash?
Respuesta correcta
Respuesta A: Una huella digital de unos datos.
Explicación breve
Bitcoin utiliza, entre otras funciones, SHA-256. Un pequeño cambio en los datos produce un hash completamente distinto. Por eso sirve como una huella digital para comprobar datos.
Explicación detallada
SHA-256 significa «Secure Hash Algorithm» con un resultado de 256 bits. Esos 256 bits equivalen a 32 bytes; en la representación hexadecimal habitual se muestran como 64 caracteres. Los mismos datos producen el mismo hash, mientras que incluso un cambio pequeño suele generar un resultado completamente distinto. En la práctica, no debería ser posible reconstruir los datos originales a partir del hash.
Un hash no es cifrado ni una copia comprimida. No existe una clave secreta con la que «descifrar» SHA-256. Bitcoin utiliza doble SHA-256 en puntos importantes: aplica SHA-256 a los datos y después vuelve a aplicarlo al resultado. Así se generan, entre otras cosas, identificadores clásicos de transacciones, hashes de cabeceras de bloques y conexiones del árbol de Merkle.
En la minería se busca un hash de cabecera de bloque inferior al objetivo actual. El hash del bloque anterior incluido en la siguiente cabecera hace visibles los cambios posteriores. SHA-256 es fundamental, pero no es la única construcción hash de Bitcoin; según la finalidad, se utilizan otros métodos y combinaciones.
Ejemplo o aplicación cotidiana
Cambiar un solo número de una transacción produce, tras aplicar doble SHA-256, un identificador distinto. Una referencia guardada al identificador anterior ya no coincide.
Error frecuente
A menudo se equipara SHA-256 con cifrado, compresión o la única función hash de Bitcoin. SHA-256 no es cifrado ni compresión, y tampoco es la única función hash utilizada en Bitcoin.
Fuentes utilizadas
NIST FIPS 180-4 - Secure Hash Standard
Esta fuente está dirigida principalmente a desarrolladores. Por eso, la información relevante puede ser más difícil de encontrar.
Consultar fuente originalBitcoin Developer Reference - Block Chain and Transactions
Esta fuente está dirigida principalmente a desarrolladores. Por eso, la información relevante puede ser más difícil de encontrar.
Consultar fuente original

