
Funciones hash: la maquinaria silenciosa bajo todo lo cripto
Si desmontas una cadena de bloques hasta sus piezas esenciales, encuentras dos tipos de criptografía haciendo casi todo el trabajo. Las firmas digitales deciden quién puede gastar. Las funciones hash mantienen unido todo lo demás: bloques, direcciones, minería, identificadores de transacción e incluso la forma en que una cartera decodifica lo que estás a punto de firmar.
Las funciones hash rara vez se explican, porque rara vez se notan. Merecen diez minutos, porque una vez que las entiendes, una sorprendente parte de lo cripto deja de parecer magia.
Qué hace una función hash
Una función hash toma cualquier entrada —una palabra, un archivo, un bloque entero de transacciones— y produce una huella de tamaño fijo. SHA-256, la que usa Bitcoin, produce siempre 256 bits, que suelen escribirse como 64 caracteres hexadecimales, tanto si le das una letra como un gigabyte.
Tres propiedades la hacen útil:
Determinista. La misma entrada da siempre la misma salida. Cualquiera, en cualquier lugar, puede recalcularla y comprobarla.
Unidireccional. Dada una huella, no hay forma práctica de volver hacia atrás hasta la entrada. El único camino es probar entradas hasta que una coincida, y con un buen hash eso es inútil.
Resistente a colisiones. Es inviable encontrar dos entradas distintas con la misma huella. Cambia un solo carácter y la salida cambia por completo y de forma impredecible.
Eso es todo lo que es un hash: una huella corta, verificable e infalsificable de algo más grande.
Dónde te encuentras con hashes sin darte cuenta
Identificadores de transacción. Un txid es simplemente el hash de una transacción. Por eso es único, y por eso es lo que pegas en un explorador de bloques: identifica exactamente una transacción, y nadie puede producir otra distinta con el mismo identificador.
La propia cadena. Cada bloque contiene el hash del bloque anterior. Cambia cualquier cosa en un bloque antiguo y su hash cambia, lo que rompe el enlace con todos los bloques posteriores. Esa cadena de huellas es lo que hace que la historia delate cualquier manipulación.
La minería. La prueba de trabajo es una lotería de hashes: los mineros calculan el hash de las cabeceras de bloque una y otra vez, variando un número cada vez, hasta dar con un resultado por debajo de un objetivo. Como los hashes son impredecibles, no hay atajos, solo más intentos, y por eso la prueba de trabajo cuesta energía real y ese coste compra seguridad.
Las direcciones. La mayoría de las direcciones son hashes de algo. Una dirección clásica de Bitcoin es un hash de una clave pública. Las direcciones de Bitcoin de SSP son P2WSH: un hash SHA-256 del script testigo que describe la regla de gasto 2 de 2. Lo que va a la cadena antes de que gastes es esa huella, no las claves.
Hashes dentro de la cartera
El hash no es solo un concepto a nivel de cadena. Aparece en el software con el que firmas.
Cuando SSP Key decodifica una transacción de Ethereum antes de que la apruebes, identifica qué hace la llamada mediante selectores de función: los primeros cuatro bytes del hash Keccak-256 de la firma de la función. transfer(address,uint256) da un valor que empieza por a9059cbb; approve(address,uint256), uno que empieza por 095ea7b3. Cuando el decodificador ve esos cuatro bytes al inicio de una transacción, sabe qué función se llama y puede mostrarte en lenguaje llano que estás enviando tokens o concediendo una aprobación.
Es una bonita ilustración de para qué sirven los hashes: una huella compacta e inequívoca de algo más largo. Y también un recordatorio de sus límites, porque cuatro bytes son tan pocos que dos funciones distintas pueden compartir selector. Esa es una de las razones por las que el decodificador falla de forma cerrada a propósito: todo lo inesperado vuelve a los datos en bruto en lugar de a una conjetura segura de sí misma.
Lo que los hashes no pueden hacer
No ocultan entradas pequeñas. Un hash es unidireccional, pero si la entrada procede de un conjunto pequeño de posibilidades, un atacante puede calcular el hash de todas y comparar. Por eso un PIN o una contraseña corta con hash protegen muy poco, y por eso las frases semilla son palabras largas y aleatorias en lugar de algo memorable.
No demuestran nada sobre el significado. Un hash demuestra que dos cosas son idénticas. No dice nada sobre si alguna de ellas es honesta. Un hash perfectamente verificado de una transacción maliciosa sigue siendo una transacción maliciosa.
No son cifrado. No puedes «descifrar» un hash para recuperar el original. Si algo afirma revertir un hash, está adivinando.
Por qué te importa
Rara vez calcularás un hash a mano. Pero entenderlos explica varias cosas que de otro modo parecen reglas que memorizar:
Por qué un txid prueba que un pago existe. Por qué no puedes editar una transacción confirmada. Por qué la minería consume energía. Por qué una dirección sin gastar revela una huella y no tus claves. Por qué una semilla larga y aleatoria es segura y una corta e ingeniosa no.
Las funciones hash son la parte de lo cripto que simplemente funciona, en silencio, miles de millones de veces al día. Saber qué garantizan —y qué no— es una de las formas más baratas de entender el sistema al que confías tu dinero.


