Curso 1: Fundamentos de Blockchain y Bitcoin | Módulo 6 de 12

Consenso Nakamoto y Seguridad

La regla de la cadena más larga y la defensa contra ataques

Consenso Longest chain 51% attack
Piensa en un pueblo donde todos gritan la misma historia: Si alguien miente, los demás lo ignoran porque la versión más larga (con más voces) es la verdad. En Bitcoin, la cadena con más trabajo acumulado es la válida. Para reescribir la historia necesitarías más poder que el resto del pueblo.

¿Qué aprenderás?

Intuición: consenso

El problema del "consenso bizantino" es el desafío de lograr que múltiples participantes lleguen a un acuerdo cuando algunos pueden ser maliciosos. Nakamoto lo resolvió combinando PoW con incentivos económicos: es más rentable ser honesto que atacar.

No hay una "votación" explícita. El consenso emerge naturalmente cuando los nodos adoptan la cadena con más trabajo acumulado.

Paso a paso: consenso

1. Un nuevo bloque llega a la red. 2. Cada nodo verifica que todas las transacciones sean válidas. 3. Verifica que el hash cumpla la dificultad. 4. Verifica que el hash del bloque anterior coincida con el último bloque conocido. 5. Si todo es correcto, añade el bloque a su copia local. 6. Si dos bloques válidos llegan al mismo tiempo (fork), los nodos eligen el que tenga más trabajo acumulado.

Ejemplo: fork accidental

Dos mineros encuentran un bloque válido simultáneamente. La red se divide: la mitad ve el bloque A primero, la mitad ve el B. Ambos son válidos. Los nodos siguen minando sobre su versión. Cuando el próximo bloque se encuentra sobre A (por ejemplo), todos los nodos que estaban en B cambian a A porque tiene más trabajo. El fork se resuelve automáticamente.

Errores comunes

"La cadena más larga es la válida": No es por número de bloques, sino por "trabajo acumulado total". Una cadena de 100 bloques con dificultad alta puede tener más trabajo que una de 101 bloques con dificultad baja.

"Un ataque del 51% puede robar bitcoins": No puede robar de direcciones que no controla, ni crear bitcoins de la nada. Solo puede: gastar dos veces sus propios bitcoins (doble gasto) e impedir confirmaciones de transacciones de otros.

Seguridad económica

Para ejecutar un ataque del 51% en Bitcoin necesitarías adquirir más de 200 EH/s de hash rate. Esto costaría aproximadamente $8-10 mil millones en hardware ASIC, más electricidad continua. Y aún así, solo podrías reescribir ~6 bloques (1 hora) antes de que la dificultad se ajuste.

Este costo prohibitivo es la base de la seguridad de Bitcoin: la mejor estrategia económica es minar honestamente.

CAP Theorem en blockchains

El Teorema CAP dice que un sistema distribuido solo puede garantizar dos de tres: Consistencia, Disponibilidad y Tolerancia a Particiones. Bitcoin prioriza consistencia eventual y tolerancia a particiones sobre consistencia inmediata.

Por eso las transacciones no son finales instantáneamente. Cada bloque adicional aumenta la seguridad de que la transacción no será revertida. 6 confirmaciones (~1 hora) es el estándar para considerar una transacción segura.

Ejemplo paso a paso: Fork y resolución

1
Estado normal

La blockchain tiene 10 bloques: #0 (génesis) hasta #9. Todos los nodos están de acuerdo. El último bloque es #9 con hash 0x0000...a3f8.

2
Dos mineros, dos bloques

El minero A encuentra un bloque válido #10A y lo transmite. Simultáneamente, el minero B encuentra #10B. Ambos son válidos y referencian a #9. Algunos nodos ven A primero, otros ven B primero.

3
Trabajo dividido

Los nodos que recibieron A primero, comienzan a minar sobre #10A. Los que recibieron B primero, minan sobre #10B. Temporalmente hay dos versiones de Bitcoin (fork).

4
Resolución del fork

El minero C encuentra un bloque #11 válido sobre #10A. Ahora la cadena A tiene más trabajo acumulado (11 bloques) que la B (10 bloques). Los nodos en B cambian a A automáticamente.

5
Bloque huérfano

#10B se convierte en un "bloque huérfano". Las transacciones que estaban solo en #10B vuelven al mempool para ser incluidas en un futuro bloque. El minero B pierde su recompensa, pero no hay daño permanente.

Simulador de Ataque 51%

Ajusta el porcentaje de hash power del atacante y simula un intento de reescribir la historia.

Cadena honesta: 0 bloques
Cadena atacante: 0 bloques
Resultado: ---
Cadena honesta (verde) vs atacante (rojo)

Si el atacante tiene ≥ 51% de hash power, eventualmente puede superar la cadena honesta. Con menos del 50%, la probabilidad de éxito es muy baja.

Comprueba lo aprendido

Resumen del módulo

Simula ataques, entiende el consenso y responde el quiz para ganar tu insignia.