Glosario

Función hash criptográfica

Moderate

Las funciones hash criptográficas producen un valor hash de tamaño fijo a partir de una entrada de transacción de tamaño variable.

¿Qué es una función hash criptográfica?

Una función hash criptográfica es un algoritmo, es decir, una secuencia repetible de acciones específicas, que se puede usar para transformar una cadena de datos arbitraria de una longitud variable en una de una longitud y formato fijos, llamada hash.

Uno de los ejemplos más simples de una función hash es sumar los dígitos en un número hasta que quede uno con una salida de un solo dígito. Si la entrada es 49, por ejemplo, entonces agregar 4 y 9 produce 13, cuyos dígitos 1 y 3 se resumen nuevamente para dar la salida de 4. Independientemente de la longitud del número de entrada, la salida siempre será de un solo dígito.

Sin embargo, ese no es un buen algoritmo porque, para realizar bien sus funciones, una función hash necesita poseer varias características:

  • Debería ser fácil calcular una salida para cualquier entrada dada, pero casi imposible revertir el proceso y calcular la entrada de una salida conocida;
  • Determinismo: alimentar una entrada específica en el algoritmo siempre debe producir el mismo resultado;
  • Resistencia a colisiones: es muy poco probable que dos entradas diferentes produzcan la misma salida;
  • Efecto de avalancha: cambiar incluso un solo bit de datos en la entrada debería dar como resultado una salida tremendamente diferente.

Las funciones hash se aplican en muchos casos de uso, por ejemplo, como sumas de comprobación para verificar la integridad de los archivos informáticos tras su transmisión de almacenamiento prolongado, o en funciones de aleatorización.

También son un componente clave en la minería de activos de prueba de trabajo o criptomonedas, como Bitcoin (BTC), que usa la función hash SHA-256. Para agregar un nuevo bloque a la cadena de bloques y reclamar su recompensa por el Bitcoin recién extraído, los mineros primero necesitan producir un valor hash que esté por debajo de cierto umbral, llamado el objetivo.

El hecho de que los hashes sean pseudoaleatorios y de que sea imposible predecir el resultado de cualquier entrada antes de pasarla por la función hash garantiza que los mineros no puedan imprimir nuevos Bitcoins de la nada y necesiten demostrar el trabajo que han realizado.