BFT frontier: notas de campo
Artículo 8 de 9
89%
completado al llegar aquí
Sistemas distribuidosNota de investigación15 min de lectura
Vectores de ataque en BFT modernos: Equivocation, Sybil, Long-Range y Censura
Equivocación, Sybil, ataques de largo alcance y censura en BFT y proof of stake: qué rompe cada uno y cómo lo contienen quórums, firmas, stake y checkpoints.
Prerequisitos recomendados
Si alguno de estos conceptos todavía está medio nebuloso, empieza por aquí. Te ahorra tropiezos y un par de cejas fruncidas.
Recorre cuatro vectores de ataque contra consensos BFT y proof of stake: equivocación, Sybil, ataques de largo alcance y censura. Para cada uno verás qué supuesto del modelo ataca y qué mecanismo documentado lo contiene.
- Consenso BFT desde cero (bft-consensus-from-zero)
- Quórums en acción (quorums-en-accion-mayorias-honestas)
Detente cuando puedas explicar por qué la intersección de quórums expone a quien equivoca, por qué el umbral f no significa nada sin control de identidades y por qué los checkpoints no bastan solos contra el largo alcance.
Glosario de Notación Matemática y Criptográfica
Número de vista o ronda actual. Cada vista tiene un único líder designado.
view = 42Ruta mental de los vectores de ataque
Equivocación
Dos mensajes firmados en conflicto
Sybil
Identidades baratas
Largo alcance
Reescritura del pasado
Censura
Retener transacciones
Decodificador Didáctico de Conceptos BFT
En palabras simples: Una asamblea que decide por mayoría de asistentes, sin pedir documento en la puerta. Una sola persona con muchos disfraces puede llenar media sala.
Detalle técnico: Una entidad presenta múltiples identidades y controla una fracción del sistema mayor que la que le correspondería, anulando la redundancia en la que se apoya la tolerancia a fallas.
En palabras simples: Un exsocio que ya vendió su parte conserva el sello de la empresa y lo usa para firmar actas antiguas con una historia distinta.
Detalle técnico: En proof of stake, validadores que ya retiraron su depósito no arriesgan nada al firmar una bifurcación desde un punto muy antiguo de la cadena.
Un protocolo BFT no promete resistir a cualquier adversario. Promete resistir a uno que controla como mucho de participantes, que no falsifica firmas y que, tarde o temprano, deja que la red entregue mensajes. [1] Cada ataque de este artículo empuja contra uno de esos supuestos: la equivocación pone a prueba la regla de votación, el ataque Sybil el conteo de , el largo alcance la idea de que una clave retirada ya no importa, y la censura el progreso.
La estructura es la misma en las cuatro secciones: qué hace el atacante, qué supuesto toca y qué mecanismo documentado lo contiene. Sin cifras de marketing: donde la literatura dice que una defensa es parcial, lo decimos.
Equivocación: dos firmas incompatibles para el mismo lugar
Equivocar es enviar mensajes contradictorios para el mismo punto del protocolo: un líder que propone el bloque A a una parte de la red y el B a otra, o un votante que firma ambos. Es el comportamiento bizantino por excelencia, y es exactamente lo que la intersección de quórums neutraliza.
En HotStuff, una réplica correcta vota a lo sumo una vez por fase en cada vista , y un QC agrega votos. Dos QCs del mismo tipo y la misma vista para bloques en conflicto necesitarían que sus quórums compartieran una réplica correcta que votó dos veces, lo que el protocolo prohíbe; de ahí que no puedan coexistir. [1] El líder bizantino puede enviar A a unos y B a otros, pero a lo sumo una de las dos propuestas reúne un QC. La aritmética del cruce está desarrollada en Quórums en acción.
Eso protege safety, pero no castiga a nadie. Aquí entra la segunda mitad de la defensa: los votos son mensajes firmados, y dos firmas del mismo autor sobre mensajes incompatibles son una prueba que cualquiera puede verificar. Casper FFG convierte esa observación en reglas explícitas. Sus dos "mandamientos" prohíben a un validador publicar dos votos distintos con la misma altura de destino, y votar dentro del intervalo de otro voto propio. [2]
Si un validador viola cualquiera de las dos condiciones, la evidencia puede incluirse en la cadena como transacción; en el diseño del paper, el validador pierde todo su depósito y quien envía la prueba recibe una pequeña recompensa. [2] El resultado formal es la accountable safety: dos checkpoints en conflicto solo pueden finalizarse si validadores con al menos un tercio del depósito violan una condición de slashing. [2]
Accountable safety (Casper FFG)
La lectura práctica: la intersección de quórums garantiza que la equivocación de hasta participantes no rompa safety, y las firmas garantizan que, si safety se rompe, haya culpables identificables con evidencia criptográfica. Son dos propiedades distintas y conviene no fundirlas. Una salvedad de calendario: la evidencia tiene que llegar a la cadena para que haya sanción, y un proponente corrupto puede retrasarla. El propio paper reconoce que un mecanismo de propuesta corrupto puede impedir la finalidad. [2]
Sybil: por qué el umbral f necesita identidades caras
Toda la sección anterior supone algo que nunca escribimos: que cuenta entidades independientes. Si crear una identidad es gratis, un único adversario puede fabricar las que necesite y superar cualquier umbral. Douceur bautizó este problema como ataque Sybil: en sistemas que se defienden con redundancia, una entidad defectuosa que presenta varias identidades puede controlar una fracción sustancial del sistema y anular esa redundancia. [3]
Su resultado es tajante. Una forma de evitarlo es que una agencia de confianza certifique las identidades; sin una autoridad lógicamente centralizada, los ataques Sybil son siempre posibles salvo bajo supuestos extremos y poco realistas de paridad de recursos y coordinación entre entidades. [3]
Eso explica las dos formas que adopta el BFT en la práctica. En la variante permisionada, el conjunto de réplicas está fijado y cada una tiene una clave pública conocida; HotStuff parte de un conjunto fijo de réplicas autenticadas. [1] Esa es, en términos de Douceur, la autoridad que certifica identidades.
En la variante abierta, la identidad deja de ser la unidad de voto. El survey de Deirmentzoglou et al. lo resume así: en proof of stake, la elección de validadores y el poder de voto se ponderan por stake, de modo que un atacante tiene el mismo peso si concentra su stake en una identidad o lo reparte entre muchas. [4] Casper FFG mide sus supermayorías por depósito, no por número de validadores, por la misma razón. [2] El umbral deja de ser "un tercio de los nodos" y pasa a ser "un tercio del stake".
Comparación
Vectores de ataque y sus contenciones documentadas
Equivocación
Firmar dos votos o propuestas incompatibles para el mismo lugar del protocolo.
Sybil
Multiplicar identidades para superar el umbral de fallas.
Largo alcance
Firmar una historia alternativa antigua con claves de validadores retirados.
Censura
Omitir transacciones concretas o dejar de producir bloques.
Largo alcance: reescribir el pasado con claves retiradas
El stake resuelve Sybil hoy, pero introduce un problema temporal. Las claves que firmaron el pasado siguen existiendo cuando su stake ya no está en juego. Casper FFG lo describe como long range revision: una coalición que hace mucho tiempo tuvo más de dos tercios de los depósitos y ya los retiró puede usar esa supermayoría histórica para finalizar checkpoints en conflicto sin miedo al slashing, porque ya no queda dinero que quitarle. [2]
El survey de Deirmentzoglou et al. generaliza el ataque: el adversario bifurca la cadena desde un punto antiguo, incluso desde el bloque génesis, y lo consigue si su rama termina superando a la principal. [4] La raíz está en lo que el survey llama costless simulation o nothing at stake: producir bloques en proof of stake no cuesta trabajo computacional, así que fabricar una rama alternativa no tiene coste para el atacante. [4]
El survey distingue tres variantes. [4]
- Simple: en implementaciones que no verifican marcas de tiempo, el atacante forja timestamps para producir bloques por adelantado.
- Corrupción posterior: el atacante roba o compra las claves de validadores retirados, que ya no tienen incentivos para protegerlas, y firma con ellas bloques antiguos de su rama.
- Stake bleeding: el atacante deja de producir bloques en la cadena principal para frenarla mientras, en su rama privada, acumula recompensas y stake hasta dominarla.
El problema que hace peligrosos estos ataques tiene nombre: weak subjectivity. Un nodo nuevo, o uno que vuelve tras mucho tiempo desconectado, ve varias ramas válidas y no tiene forma de saber cuál es la principal; los nodos que siguen la cadena en tiempo real no pueden ser engañados así. [4]
Un ataque de largo alcance reescribe la historia desde un bloque antiguo
Fuentes:
[4]Cómo leer esta figura
Arriba, la cadena canónica de B0 a B5. Desde B1 sale una historia alternativa en rojo, de B2 prima a B5 prima. Una nota indica que la historia alternativa está firmada con claves de validadores que ya retiraron su depósito; otra nota indica la mitigación: partir de un checkpoint reciente de confianza, la subjetividad débil.
Mitigaciones contra el largo alcance y sus límites
La respuesta de Casper FFG combina dos piezas: una regla de elección de bifurcación que nunca revierte un bloque finalizado, y la expectativa de que cada cliente se conecte y obtenga una vista completa de la cadena con cierta frecuencia, del orden de una vez cada uno o dos meses. Una rama que finaliza bloques más antiguos que eso se ignora, porque todos los clientes ya vieron un bloque finalizado a esa altura. [2] El retraso de retiro de los depósitos es lo que da margen: mientras el depósito sigue bloqueado, una equivocación aún puede castigarse. [2]
El survey cataloga un abanico más amplio. [4]
- Checkpoints móviles: solo los últimos bloques pueden reorganizarse, lo que degrada un ataque de largo alcance a uno de corto alcance.
- Firmas con claves que evolucionan (key-evolving signatures): la clave privada cambia en cada época y no se puede recuperar la anterior, de modo que una clave filtrada no sirve para volver a firmar mensajes viejos. Es la respuesta directa a la corrupción posterior.
- Transacciones conscientes del contexto: incluir el hash de un bloque previo en cada transacción impide copiarla a otra rama.
- Regla de plenitud: comparar la densidad de bloques de las ramas, porque la del atacante empieza escasa.
- Finalidad económica: el slashing hace que los validadores tengan algo que perder, aunque no elimina el ataque.
La conclusión del survey es la parte que conviene recordar: ninguna de estas contramedidas protege por completo contra todas las variantes, y hace falta combinarlas. [4] Como razonamiento propio: en un BFT permisionado con conjunto fijo no hay retiro de stake, pero en cuanto el conjunto se reconfigura vuelve a importar qué pasa con las claves de quienes salen; el tema de la reconfiguración está en reorganización dinámica de validadores.
Censura y negación de liveness
Los tres ataques anteriores apuntan a safety. La censura apunta a otra cosa: quien produce bloques decide qué transacciones entran y puede omitir algunas a propósito. El survey señala que un solo validador censurando puede retrasar transacciones, y que el riesgo crece con el número de validadores que se suman. [4] Entre las respuestas que recoge están los requisitos de liveness que garantizan el procesamiento eventual de las transacciones y la penalización de nodos que no crean bloques en el orden definido por el protocolo. [4]
Su forma extrema es la negación de liveness: validadores que simplemente dejan de producir bloques para detener la cadena. Para ese caso el survey remite al requisito de liveness de Casper FFG, que drena lentamente el stake de los inactivos. [4] En el paper original, ese inactivity leak se presenta como defensa contra la caída simultánea de más de un tercio de los validadores, y se reconoce su efecto secundario: puede permitir que se finalicen dos checkpoints en conflicto sin que nadie sea sancionado. [2]
En la familia HotStuff, la defensa estructural es la rotación de líder: el pacemaker reemplaza a un líder que no hace progreso, y después de GST un líder correcto termina proponiendo. [1] Eso garantiza que la cadena avance, no que un líder concreto incluya una transacción concreta. Separar la difusión de datos del ordenamiento, como hace Narwhal, es una línea de diseño relacionada que conviene estudiar aparte.
Qué compra cada defensa
Un consenso BFT es tan fuerte como sus supuestos: votos únicos, identidades contadas correctamente, claves pasadas sin valor y progreso eventual.
Las defensas no son intercambiables: la intersección de quórums protege safety, las firmas dan responsabilidad, el stake o la autoridad de identidades fija el umbral, y los checkpoints acotan el pasado reescribible.
Checklist mental de vectores de ataque BFT
5 de 5 revisados
Siguiente lectura
Para repasar la aritmética del cruce de quórums que sostiene la defensa contra la equivocación, vuelve a Quórums en acción. Si te interesa cómo se buscan sistemáticamente estos fallos en implementaciones reales, continúa con Twins y la detección de errores de estado.
Bibliografía académica
- [1]
M. Yin, D. Malkhi, M. K. Reiter, G. G. Gueta, and I. Abraham, "HotStuff: BFT Consensus in the Lens of Blockchain," PODC, 2019.
Fuente central para QC, highQC, Chained HotStuff, view-change lineal y three-chain commit.
- [2]
V. Buterin and V. Griffith, "Casper the Friendly Finality Gadget," arXiv:1710.09437, 2017.
Gadget de finalidad sobre checkpoints: votos de enlace, dos condiciones de slashing, accountable safety y plausible liveness.
- [3]
J. R. Douceur, "The Sybil Attack," IPTPS, LNCS 2429, pp. 251-260, 2002.
Definición del ataque Sybil: sin una autoridad que certifique identidades, una entidad puede presentarse como muchas.
- [4]
E. Deirmentzoglou, G. Papakyriakopoulos, and C. Patsakis, "A Survey on Long-Range Attacks for Proof of Stake Protocols," IEEE Access, vol. 7, pp. 28712-28725, 2019.
Panorama de ataques de largo alcance en proof of stake y de sus mitigaciones (checkpoints, subjetividad débil).
Rutas vecinas
Si este tema te abrió hambre, sigue por aquí.
Series y labs que comparten área o dependen de esta ruta. Pocas opciones, para no convertir la curiosidad en menú infinito.
Series relacionadas
HotStuff: de cero a estado del arte
Ruta progresiva para entender consenso BFT moderno: quórums, sincronía parcial, locks, taxonomía one/two/three-chain, QC/highQC, multipipeline, view-change, responsiveness, AggQC, Fast-HotStuff, sync y frontera DAG-BFT.
Ethereum: de historia a labs
Serie progresiva para entender Ethereum desde el whitepaper, forks y The Merge hasta EVM, Solidity, proof-of-stake, rollups, account abstraction, DeFi, observabilidad y laboratorios reproducibles.
Substrate: del runtime al consenso propio
Serie de 20 capítulos, de neófito a experto, sobre Substrate (Polkadot SDK): runtime en Wasm, FRAME, extrinsics, estado, pesos, actualizaciones sin fork, Aura, BABE, GRANDPA, sincronización, parachains, XCM, Sassafras, BEEFY y cómo conectar un consenso BFT propio a un nodo.
Labs para convertir lectura en práctica
Prueba de trabajo y reajuste de dificultad
Laboratorio determinista para medir el costo de la prueba de trabajo y ver cómo el reajuste por altura de bloque estabiliza el tiempo entre bloques.
Consensus benchmark
Banco reproducible para comparar consenso BFT y documentar los trade-offs de HotStuff-2.
Ethereum local: Anvil, wallet y primera transacción
Laboratorio base para levantar una red local, crear cuentas, firmar transacciones y observar receipts sin gastar ETH real.
RPC y Cast: leer Ethereum con lupa
Ejercicios con JSON-RPC y Cast para consultar bloques, nonces, gas, receipts, logs y errores reproducibles.
Sigue leyendo
Ideas conectadas con este artículo
Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.
Ethereum: mapa de lectura antes de tocar Solidity
Ruta completa para aprender Ethereum desde historia y arquitectura hasta EVM, proof-of-stake, L2, seguridad, DeFi y labs reproducibles.
Antes de Ethereum: Bitcoin, scripts y la máquina mundial
Historia inicial de Ethereum: qué problema vio el whitepaper, por qué los contratos generales importaban y qué cambió frente a Bitcoin.
Frontier, Homestead y The DAO: la red aprendió con golpes
De mainnet inicial a The DAO: primeros forks, tensiones sociales y por qué la historia de Ethereum no es solo técnica.
Metropolis a Istanbul: Ethereum madura antes del Merge
Lectura histórica de Byzantium, Constantinople e Istanbul como preparación técnica para una red más segura y escalable.