Blockchain · mecanismos de consenso

Acuerdo sin nadie al mando.

Una blockchain es un libro de cuentas compartido del que miles de desconocidos guardan copias idénticas, sin banco ni árbitro. Dos ideas la hacen funcionar: hashes que delatan cualquier manipulación y una regla de consenso que decide qué página se añade a continuación.

Demo 1 · SHA-256 en vivo

Edita cualquier bloque y mira cómo se rompe la cadena

El hash de cada bloque es una huella de su contenido y del hash del bloque anterior. Cambia un carácter del bloque 2 y su huella cambia, así que el bloque 3 ya no apunta a él, y así hasta el final de la cadena. Volver a minar significa encontrar un nuevo nonce cuyo hash empiece con suficientes ceros: ese trabajo es la prueba de trabajo.

Demo 2 · seguridad de la prueba de trabajo

¿Puede un atacante reescribir la historia?

Para revertir un pago, un atacante debe construir en secreto una cadena más larga que la de la red honesta. Cada confirmación es un bloque que tiene que recuperar. El white paper de Satoshi Nakamoto de 2008 calculó las probabilidades.

Probabilidad de que el atacante llegue a alcanzarla
¿Por qué seis confirmaciones?Con el 10 % del poder de minado, la probabilidad de un atacante frente a 6 confirmaciones es de alrededor del 0,02 %. Con el 50 % o más, el atacante siempre acaba ganando: es el «ataque del 51 %». Cadenas de prueba de trabajo más pequeñas, con poco poder de minado, como Ethereum Classic en 2020, han sufrido ataques reales.
Demo 3 · tolerancia a fallos

Los generales bizantinos

Los generales que rodean una ciudad deben atacar todos juntos o esperar todos, pero algunos pueden ser traidores que envían mensajes contradictorios. Lamport, Shostak y Pease (1982) demostraron que el acuerdo requiere que más de dos tercios de los generales sean leales. Las cadenas de prueba de participación como Ethereum y las cadenas BFT como Cosmos se basan en este resultado.

El protocolo tolera hasta

Modelo: los generales leales votan ATACAR. Los traidores dicen ATACAR a la mitad de los demás y RETIRADA a la otra mitad. Un general se compromete cuando oye un quórum (2f+1 votos iguales, donde f es el número de traidores que el protocolo puede tolerar). Este es el núcleo de PBFT (Castro y Liskov, 1999) y Tendermint.

Guía de campo

Cómo deciden las redes quién escribe el siguiente bloque

Todos los mecanismos responden a la misma pregunta: ¿qué hace costoso hacer trampa? La electricidad, el dinero en juego, la reputación o simplemente suficientes votos honestos.

MecanismoCoste de hacer trampaFinalidadConsumo de energíaQuién puede participar
Prueba de trabajoHardware + electricidadProbabilística (cuanto más profundo, más seguro)Muy altoCualquiera con hardware
Prueba de participaciónLas monedas en staking pueden recortarseFinal tras ~2 épocas en EthereumBajoCualquiera con participación
PoS delegadaPerder votos y recompensasRápidaBajoProductores elegidos
Prueba de autoridadReputación públicaRápidaBajoValidadores aprobados
BFT (PBFT, Tendermint)Hace falta más de ⅓ de los votos para romperlaInstantánea, una vez confirmadaBajoUn conjunto conocido de validadores
Raft / PaxosSupone que no hay mentirosos, solo caídasInstantáneaBajoServidores de confianza
Ideas clave

El vocabulario del acuerdo distribuido