


Introducción de la serie
¡Bienvenidos a una nueva serie: Zero to Zero Knowledge!
En esta serie aprenderemos los fundamentos de una amplia gama de tecnologías que forman parte de nuestros protocolos de preservación de la privacidad.
Hoy comenzamos con las Funciones hash, una pieza clave de la criptografía utilizada en las blockchains. Más adelante en esta serie cubriremos algunos temas que dependen de sus propiedades.
Las funciones hash toman una entrada de cualquier longitud y producen una salida de longitud fija.

¡Vamos a entenderlo de forma práctica usando esta herramienta!
Introduce cualquier texto arbitrario para producir una salida de longitud fija. Observa cómo varía la salida según el diferente algoritmo de hash.
Pruébalo: https://cryptii.com/pipes/hash-function
Las funciones hash criptográficas deben tener estas 3 propiedades:
Existen varias clases de funciones hash. Algunos ejemplos:
Una introducción a BLAKE2: https://www.blake2.net
Las comprobaciones de integridad de datos son un ejemplo de "Hash de integridad". Se utilizan para generar sumas de verificación en archivos de datos y proporcionar al usuario una garantía de corrección.

Un árbol hash o árbol de Merkle está compuesto por ramas y nodos hoja que están etiquetados con el hash criptográfico de un bloque de datos.

Los árboles de Merkle son un ejemplo de un esquema de compromiso criptográfico. La raíz del árbol se considera un compromiso y se demuestra que los nodos hoja forman parte del compromiso original.
Verifican los datos almacenados o transferidos en redes P2P, garantizando que los datos recibidos de los pares no hayan sido alterados.
En los pools blindados de Zcash Sapling y Orchard, el Árbol de compromiso de notas se utiliza para verificar que las transacciones sean válidas según el consenso mientras oculta perfectamente el remitente, el destinatario y las cantidades consumidas.
SHA256 es un ejemplo de "Hash de firma" utilizado para hacer cumplir la inmutabilidad de cada bloque en la cadena de Bitcoin. Los mineros utilizan el hash del bloque anterior + un hash de todas las transacciones del bloque actual (hashMerkleRoot) + marca de tiempo + valor aleatorio / dificultad de la red para los nuevos bloques.

Equihash es el algoritmo hash utilizado en la minería de Zcash. También lo utilizan redes como Komodo y Horizen.
Equihash: prueba de trabajo asimétrica basada en el problema generalizado del cumpleaños (Biryukov y Khovratovich): https://eprint.iacr.org/2015/946
Para desarrollar una mayor comprensión de los diferentes tipos de funciones hash y sus usos asociados, este es un recurso excelente:
https://en.wikipedia.org/wiki/Hash_function
Hilo de ZecHub (@ZecHub)
Hilo original en X: https://x.com/ZecHub/status/1621240109663227906
Esta página fue compilada a partir del hilo original de Zero to Zero Knowledge para la wiki de ZecHub.