Inicio Arquitectura técnica Hash

Hash

Una función hash es un algoritmo matemático que convierte cualquier dato de entrada en una cadena de caracteres de longitud fija. En Bitcoin, las funciones hash (especialmente SHA-256) son el pegamento criptográfico que une bloques, verifica datos y hace funcionar la prueba de trabajo.

Propiedades clave

Determinista: la misma entrada siempre produce la misma salida.

Irreversible: es computacionalmente imposible recuperar la entrada a partir de la salida.

Efecto avalancha: un cambio mínimo en la entrada produce un hash completamente diferente.

Resistencia a colisiones: es prácticamente imposible encontrar dos entradas distintas que produzcan el mismo hash.

Uso en Bitcoin

Bitcoin usa SHA-256 extensivamente. Cada bloque contiene el hash del bloque anterior, creando la cadena. Las direcciones Bitcoin se derivan de hashes de claves públicas. La prueba de trabajo consiste literalmente en encontrar un hash con ciertas propiedades.

¿Por qué importa?

Sin funciones hash, no habría blockchain, ni prueba de trabajo, ni direcciones seguras. Son el ingrediente criptográfico más fundamental de Bitcoin.

Errores habituales

  • Confundir "hash" con "cifrado" (un hash no se puede descifrar, no es reversible)
  • Creer que SHA-256 ha sido "roto" (no hay ninguna evidencia de ello)
  • Pensar que las funciones hash son exclusivas de Bitcoin (se usan en toda la informática)

Conceptos relacionados

Fuentes primarias

  • FIPS 180-4 (SHA-256)
  • Whitepaper de Bitcoin