Una función hash criptográfica es un algoritmo deterministaque asigna una entrada de longitud arbitraria (una cadena de bytes) a una salida de longitud fija llamada resumen (valor hash). El determinismo significa que entradas idénticas producen resúmenes idénticos. En los protocolos blockchain, los valores de resumen se tratan como compromisos: cambiar cualquier byte relevante para el protocolo cambia el resumen.
La seguridad criptográfica se expresa en términos computacionales. Los objetivos típicos son: • Resistencia previa a la imagen: dado y, no es factible encontrar x tal que. • Resistencia a la segunda preimagen: dado x, no es factible encontrarcon. • Resistencia a la colisión: no es posible encontrar ninguna resistenciatal que. Aquí, "inviable" significa que ningún algoritmo práctico conocido puede realizar la tarea dentro de límites realistas de recursos.
1) Enlace de cadena: los encabezados de los bloques incluyen un campo con el hash del encabezado anterior. Si algún byte del encabezado cambia, el nuevo hash ya no coincide, por lo que la manipulación se detecta mediante un nuevo cálculo. 2) Compromiso de transacción: muchas transacciones se resumen en una única raíz de Merkle incluida en el encabezado. Una prueba de Merkle permite a un cliente ligero verificar que una transacción está incluida en el conjunto confirmado por esa raíz, sin descargar el bloque completo.