Curso 1: Fundamentos de Blockchain y Bitcoin | Módulo 3 de 12
Criptografía para Blockchain
Hash, Merkle y firmas digitales: los pilares de la seguridad blockchain
SHA-256 Merkle Tree ECDSA
Piensa en un sello de cera medieval: Cuando un mensajero entregaba un pergamino, el sello de cera garantizaba que nadie lo había abierto antes. El hash es ese sello digital: cualquier cambio en el mensaje rompe el sello y todos lo detectan.
¿Qué aprenderás?
Cómo funcionan las funciones hash y por qué son irreversibles
Qué son los árboles Merkle y cómo permiten verificar eficientemente
Cómo las firmas digitales ECDSA demuestran propiedad sin revelar secretos
La diferencia entre clave pública y clave privada en criptografía asimétrica
Intuición: hash
Un hash es como una batidora: pongas lo que pongas dentro (una naranja, un texto, una película), siempre obtienes un "batido" del mismo tamaño, pero es imposible volver a la fruta original. Además, si cambias un solo ingrediente, el resultado es completamente diferente.
SHA-256 produce siempre 64 caracteres hexadecimales (256 bits), sin importar si el input es "Hola" o la Enciclopedia Británica completa.
Paso a paso: hash
1. Tomas cualquier dato (texto, archivo, transacción). 2. Aplicas la función SHA-256. 3. Obtienes un string de 64 caracteres. 4. Cambias una coma del original. 5. El hash nuevo es radicalmente diferente al anterior (efecto avalancha). 6. No importa cuánto intentes, no puedes reconstruir el original desde el hash.
Ejemplo concreto: Merkle
Imagina que un bloque tiene 500 transacciones. Verificar cada una requeriría enorme ancho de banda. El árbol Merkle las agrupa por pares y las hashea hasta una sola raíz. Con solo guardar la raíz en el bloque, puedes demostrar que una transacción existe sin descargar las 500.
Es como tener un árbol genealógico: no necesitas conocer a todos tus primos lejanos para saber que tu abuelo es quien es.
Errores comunes
"Los hash son encriptación": No. La encriptación es bidireccional (se puede descifrar con la clave correcta). El hash es unidireccional: no existe "deshash".
"Si dos entradas dan el mismo hash, hay un problema": Se llama "colisión". En SHA-256 es tan improbable (1 en 2^256) que en la práctica es imposible.
"Mi clave pública es mi dirección": No exactamente. Las direcciones Bitcoin son un hash de la clave pública, añadiendo una capa extra de seguridad.
Firmas digitales
ECDSA (Elliptic Curve Digital Signature Algorithm) permite que Alice firme un mensaje con su clave privada y cualquiera pueda verificar la firma usando su clave pública. Es como un sello personal único que solo Alice puede crear, pero todos pueden verificar.
Matemáticamente, se basa en la dificultad de resolver el logaritmo discreto en curvas elípticas. Es prácticamente imposible derivar la clave privada desde la pública.
Importancia en blockchain
Sin criptografía, blockchain sería solo una base de datos compartida. Los hash garantizan inmutabilidad (encadenamiento de bloques). Los árboles Merkle permiten nodos ligeros (SPV). Las firmas digitales prueban propiedad de UTXOs.
Estos tres pilares criptográficos son lo que hace a blockchain un sistema de "confianza minimizada" donde las matemáticas reemplazan a los intermediarios.
Ejemplo paso a paso: Verificar una transacción con Merkle
1
Obtener la transacción
Alice quiere verificar que su transacción T está incluida en el bloque #800,000. Tiene el Merkle Root del bloque: 0x3a9f...c81d.
2
Calcular el hash de T
Alice aplica SHA-256 a su transacción: hash(T) = 0x8b2e...f71a. Este será el punto de partida en el árbol.
3
Obtener el hash hermano
Alice pide a un nodo completo el hash de la transacción hermana de T (T') en el árbol: hash(T') = 0x4c1d...a93f. Combina ambos: hash(hash(T) + hash(T')).
4
Subir por el árbol
Repite el proceso: para cada nivel del árbol, obtiene el hash hermano y combina. Cada paso reduce el número de nodos a la mitad. En un bloque de 1000 transacciones, solo necesita ~10 hashes.
5
Comparar con la raíz
El hash final obtenido debe ser exactamente igual al Merkle Root del bloque. Si coincide, la transacción está verificada sin necesidad de descargar las otras 999 transacciones.
Hash SHA-256 en vivo
Escribe cualquier texto y observa cómo cambia su huella digital (hash).
---
Árbol Merkle
Cuatro transacciones se hashean por pares hasta llegar a una raíz única (Merkle Root).
Firma Digital ECDSA
En blockchain tienes una clave privada (secreta) y una clave pública (compartible). La privada firma, la pública verifica.
Clave privada:
0x3a7b...f91c
Clave pública:
0x8d2e...5c4a
Tu clave privada firma transacciones; cualquiera con tu clave pública puede verificar que la firma es tuya sin conocer tu secreto.
Comprueba lo aprendido
Resumen del módulo
Las funciones hash (SHA-256) son unidireccionales: producen una huella única a partir de cualquier dato
Los árboles Merkle permiten verificar transacciones sin descargar todo el bloque
ECDSA usa un par de claves: privada (firmar) y pública (verificar)
La criptografía es la base de la seguridad, inmutabilidad y propiedad en blockchain
Los hash encadenan bloques, los Merkle trees comprueban datos, las firmas demuestran titularidad
Explora las herramientas criptográficas y responde el quiz para ganar tu insignia.
INSIGNIA: CIPTOGRAFO EN ENTRENAMIENTO
Dominas hash, Merkle y firmas. ¡La base de la seguridad blockchain!