Cryptology Academy · Lección

Cadenas de hash y vinculación de bloques

Construya una blockchain mínima con punteros hash para comprender la inmutabilidad.

Lección 1 de 413 pasos

Cadenas de hash y vinculación de bloques es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué es una cadena de hashes?

Una cadena de hashes enlaza bloques de datos de modo que cada bloque contiene el hash del bloque anterior. Modificar cualquier bloque cambia su hash, lo que invalida todos los bloques posteriores. Esto crea un registro de solo adición que permite detectar alteraciones.

Estructura de un bloque

Cada bloque contiene: (1) carga útil de datos (transacciones), (2) hash del bloque anterior (puntero al bloque previo), (3) marca de tiempo, (4) nonce (para PoW), (5) raíz de Merkle de las transacciones. El primer bloque (génesis) tiene previous_hash = "0"*64.

Blockchain mínima en Python

import hashlib, json class Block: def __init__(self, data, prev_hash): self.data = data self.prev_hash = prev_hash self.hash = hashlib.sha256( json.dumps({'data':data,'prev':prev_hash}).encode() ).hexdigest()

Por qué los punteros hash garantizan la integridad

Si un atacante modifica los datos del bloque 3, cambia el hash del bloque 3. El bloque 4 hace referencia al hash antiguo del bloque 3, por lo que la cadena se rompe en el bloque 4. El atacante debe volver a calcular los hashes de los bloques 3, 4, 5, ... hasta llegar al último bloque. Con PoW, esto resulta inviable desde el punto de vista computacional.

Inmutabilidad frente a detección de alteraciones

Las cadenas de hashes permiten detectar alteraciones, pero no proporcionan inmutabilidad por sí solas. Sin mecanismos adicionales (PoW, firmas digitales y distribución), un atacante que controle la cadena puede reescribirla. El consenso distribuido es lo que hace que una blockchain sea resistente a las alteraciones en la práctica.

Regla de la cadena más larga

Regla de la cadena más larga de Bitcoin: la cadena válida con la mayor cantidad acumulada de prueba de trabajo es la canónica. Si un atacante bifurca la cadena, los mineros honestos extienden la cadena honesta más rápido (supuesto del 51 %). La bifurcación del atacante es más corta y se descarta.

Encabezado frente a bloque completo

Los clientes SPV (Simple Payment Verification) de Bitcoin descargan solo encabezados de bloque de 80 bytes (que contienen el hash anterior, la raíz de Merkle, el nonce, la marca de tiempo y bits). Los nodos completos almacenan todas las transacciones. Los clientes SPV verifican una transacción mediante una prueba de Merkle frente a la raíz de Merkle del encabezado.

Bloque génesis

El bloque génesis de Bitcoin (bloque 0, 3 de enero de 2009) tiene prev_hash = 0x000...0. Satoshi incorporó el titular "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" en la transacción coinbase como prueba de la marca de tiempo.

Cadena de custodia

Las cadenas de hashes son anteriores a blockchain. Usos: listas de revocación de certificados (enlazadas mediante hashes), integridad de registros (hash de la entrada de registro anterior) y cadena de confianza de DNSSEC. El concepto se generaliza a cualquier estructura de solo adición en la que cada entrada confirma todas las entradas anteriores.

Puntos de control

Para acelerar la sincronización inicial, Bitcoin Core incorpora puntos de control: hashes de bloques conocidos como válidos a determinadas alturas. Un cliente que inicia la sincronización puede omitir la verificación de PoW de los bloques anteriores al punto de control y confiar en el hash incorporado. La contrapartida es una menor minimización de la confianza.

Direccionamiento basado en contenido

Git utiliza el mismo principio: cada commit se identifica mediante el SHA-1/SHA-256 de su contenido + el hash del commit principal. Al extraer un commit específico mediante su hash se obtiene exactamente ese estado. Todo el historial de Git es un árbol de objetos enlazados mediante hashes.

Comprobación rápida

¿Por qué un atacante debe volver a calcular todos los hashes de los bloques posteriores después de modificar un bloque?

Resumen

Las cadenas de hashes enlazan bloques mediante punteros criptográficos. Una modificación se propaga a todos los bloques posteriores. Combinadas con PoW y el consenso distribuido, hacen que una blockchain sea inmutable en la práctica. Siguiente tema: árboles de Merkle para garantizar la integridad eficiente de las transacciones.

Gratis para empezar

Aprende Cryptology Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
67
Lecciones
261

Preguntas frecuentes

¿La lección «Cadenas de hash y vinculación de bloques» es gratis?

Sí — el texto completo de «Cadenas de hash y vinculación de bloques» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Cadenas de hash y vinculación de bloques»?

Construya una blockchain mínima con punteros hash para comprender la inmutabilidad. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Cadenas de hash y vinculación de bloques»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Cadenas de hash y vinculación de bloques
  2. Árboles de Merkle: integridad de transacciones a escala
  3. Proof of Work: minería y ajuste de dificultad
  4. Bitcoin Script y verificación de firmas UTXO
← Volver a Cryptology Academy