HotStuff: de cero a estado del arte
Artículo 47 de 47
100%
completado al llegar aquí
Sistemas distribuidosNota de investigación13 min de lectura
BFT en Computación en el Borde (Edge/IoT): Consenso con conectividad intermitente
Qué cuesta el consenso bizantino en dispositivos IoT y qué propone EBRC: comité elegido por reputación y VRF, votación en dos fases y una evaluación limitada.
Ruta HotStuff: 0/47
Prerequisitos recomendados
Si alguno de estos conceptos todavía está medio nebuloso, empieza por aquí. Te ahorra tropiezos y un par de cejas fruncidas.
Analiza por qué el patrón de mensajes de un consenso BFT choca con los límites de cómputo, energía y ancho de banda de los dispositivos IoT, y examina una propuesta concreta, EBRC, que reduce el comité con reputación y sorteo VRF.
- Consenso BFT desde cero (bft-consensus-from-zero)
- PBFT en tres pasos (pbft-1999-tres-pasos-confirmacion)
Detente cuando puedas explicar de dónde sale el costo cuadrático de PBFT, qué cambia al elegir un comité por reputación, qué midieron los autores de EBRC y qué preguntas deja abiertas su evaluación.
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: del costo de mensajes al comité por reputación
El costo
Mensajes por decisión
La reputación
Historial por nodo
El sorteo
VRF sobre candidatos
Los límites
Lo que no se probó
Decodificador Didáctico de Conceptos BFT
En palabras simples: En lugar de que todo el barrio vote cada decisión, se sortea un consejo entre los vecinos con buen historial, y el consejo vota con las reglas de siempre.
Detalle técnico: Un subconjunto de m nodos ejecuta el protocolo BFT; el costo por decisión depende de m y no del total de nodos N.
En palabras simples: Un historial crediticio: resume el pasado, pero no garantiza cómo se comportará alguien mañana.
Detalle técnico: Puntuación por nodo calculada a partir de su comportamiento registrado; filtra quién puede ser elegido, no cambia el umbral de fallas del comité.
Los capítulos anteriores daban por hecho servidores con buena CPU, memoria y enlaces estables. Un despliegue de Internet de las Cosas rompe esos tres supuestos a la vez: los dispositivos tienen poco almacenamiento, poca energía y poca capacidad de cómputo, y los enlaces son estrechos. Yuan y coautores lo plantean como el punto de partida de su trabajo y señalan al algoritmo de consenso como una de las causas del problema. [1]
Este capítulo no promete una arquitectura de referencia para el borde. Hace algo más modesto y más útil: explica qué parte del consenso BFT es cara, y luego lee con cuidado una propuesta publicada, EBRC, separando lo que propone, lo que mide y lo que queda sin demostrar.
Por qué el consenso BFT pesa en un dispositivo limitado
PBFT tolera réplicas bizantinas con réplicas, y su caso normal tiene tres fases: el líder difunde un pre-prepare, y en las fases prepare y commit cada réplica envía su mensaje a todas las demás. [2] Esas dos fases todos-contra-todos son la fuente del costo: por cada decisión circulan del orden de mensajes, y cada réplica tiene que recibir y autenticar del orden de mensajes por fase.
En un centro de datos ese costo se paga con ancho de banda. En un nodo IoT se paga también con radio encendida y ciclos de CPU dedicados a verificar autenticadores. Los autores de EBRC enumeran cuatro problemas de PBFT para este contexto: no evalúa la fiabilidad de los nodos, no castiga a los maliciosos, funciona bien en redes pequeñas y fijas, y genera mucho tráfico por su comunicación . [1]
HotStuff ataca el mismo costo por otra vía. En lugar de que todos hablen con todos, las réplicas envían su voto al líder, que agrega votos en un único certificado (QC) con una firma umbral y lo difunde en la fase siguiente; así cada fase tiene comunicación lineal en . [3] Con , ese QC equivale a votos.
Hay dos caminos, entonces, para abaratar el consenso. Uno cambia el patrón de comunicación manteniendo a todas las réplicas, como hace HotStuff. El otro reduce cuántas réplicas votan, que es la apuesta de EBRC. No son excluyentes, pero tienen consecuencias distintas para la seguridad, como veremos al final.
La propuesta EBRC: reputación, sorteo y comité
EBRC (Efficient Byzantine Reputation-based Consensus) se compone de cinco piezas: evaluación de reputación, evaluación de la tasa de crecimiento de esa reputación, elección aleatoria con VRF, el protocolo de consenso propiamente dicho y un protocolo de entrada y salida dinámica de nodos. [1] La figura las recorre en orden.
De la tabla de comportamiento al comité en EBRC
Fuentes:
[1]Cómo leer esta figura
Cuatro columnas. En la primera hay ocho nodos, uno de ellos en rojo por mal historial, y una tabla de comportamiento con depósito, consensos no completados, mensajes erróneos reportados, actividad y latencia, y volumen procesado. En la segunda, la reputación R_i en el intervalo de cero a uno se calcula como suma ponderada de los cinco factores, junto con su tasa de crecimiento; un nodo nuevo empieza en 0,5 y los valores se recalculan y acuerdan al final de cada época. En la tercera, el derecho a ser elegido depende del ranking de reputación y de su crecimiento, y un sorteo VRF con semilla derivada del hash del bloque previo se compara con un umbral omega. En la cuarta, los mejores forman los nodos de consenso, el siguiente tramo queda como candidatos que sustituyen a un caído, y el comité decide con prepare y commit y 2f + 1 confirmaciones, sobre el comité y no sobre los N nodos.
Cada nodo tiene una reputación , que empieza en para los recién llegados, y para aspirar al comité debe pagar un depósito que se reduce si se comporta mal. [1] La reputación combina cinco factores registrados en una tabla de comportamiento que mantiene toda la red: la proporción de depósito, la tasa de consensos no completados, la tasa de mensajes erróneos reportados por otros nodos, un índice de actividad basado en desconexiones y latencia, y un factor de volumen de transacciones inspirado en el índice h. [1]
Los pesos que proponen son 0,3 para las tasas de consensos incompletos y de mensajes erróneos, 0,2 para la actividad y 0,1 para el depósito y el volumen. [1] Ojo con un detalle de lectura: la fórmula, tal como aparece impresa, suma esas tasas con signo positivo, y el texto no explica cómo se invierten para que más fallas impliquen menos reputación. Quien quiera reimplementar EBRC tendrá que resolver esa ambigüedad por su cuenta.
La red funciona por épocas de 20 rondas, con un bloque por ronda, y al final de cada época el líder vigente propone la actualización de reputaciones, que los nodos acuerdan con el mismo protocolo de consenso. [1] Luego viene la elección. Solo los nodos bien clasificados por reputación y por crecimiento tienen derecho a ser elegidos, y entre ellos un sorteo con función aleatoria verificable (VRF), alimentado por una semilla derivada del hash del bloque anterior, decide quién entra al conjunto de consenso. [1] Según el texto, la mitad superior por reputación forma los nodos de consenso y el tramo entre el 50 % y el 85 % queda como candidatos de reemplazo. [1]
Cómo decide el comité y cómo se renueva
Dentro del comité, EBRC conserva la aritmética de PBFT. El líder de cada vista se elige como , donde es la altura del bloque y la vista, de modo que el líder rota con cada bloque. [1] El protocolo tiene dos fases, prepare y commit: el líder difunde la propuesta, cada nodo la verifica y envía su confirmación, y se alcanza consenso cuando los nodos reúnen confirmaciones idénticas; si no, se inicia el cambio de vista y el nodo sospechoso queda anotado en la tabla de comportamiento. [1]
El quórum de sobre es el mismo que usa PBFT para garantizar que dos certificados se crucen en una réplica correcta. [2] Lo que cambia es el universo sobre el que se cuenta: ya no es el total de dispositivos, sino el tamaño del comité.
El protocolo de entrada y salida dinámica cubre el caso que más preocupa en el borde: nodos que se van. Si tras una salida el comité sigue teniendo al menos miembros, basta un intercambio de confirmación; si queda por debajo, el líder ofrece el puesto al candidato con mejor reputación, que solicita la entrada y es confirmado por el comité. [1]
Sobre la complejidad, el paper da dos versiones que conviene leer juntas. Su tabla comparativa atribuye a EBRC una complejidad con , es decir, cuadrática en el tamaño del comité; la lista de conclusiones afirma que, en una red estable, la complejidad se reduce de a . [1] La lectura más prudente es la primera: el ahorro viene de votar entre menos nodos, no de cambiar el patrón de mensajes como hace HotStuff. [3]
Qué evaluaron los autores y qué no
El prototipo se construyó sobre Hyperledger Sawtooth, comparando EBRC con el PBFT original. Los experimentos corrieron en servidores de un clúster con CPU Intel Core i7 de dos núcleos a 2,2 GHz y 16 GB de memoria, usados para simular dispositivos IoT, con un comité inicial de 4 nodos y un máximo de 40. [1]
Con esa configuración, los autores reportan menor latencia de transacción y mayor throughput que PBFT al crecer el número de nodos, y conservan la ventaja en throughput y en número de mensajes cuando nodos son maliciosos. [1] En el experimento de elección, con 20 nodos de reputación inicial idéntica y 1000 repeticiones, cada nodo fue elegido entre 48 y 51 veces; al subir la tasa de error de algunos nodos, estos fueron elegidos bastante menos, y el texto habla de dos a cuatro veces menos según el caso. [1] La entrada y salida dinámica, con 25 nodos, añadió en promedio 1 ms cuando solo hubo salida y 28 ms cuando hubo salida y entrada. [1]
Estas son afirmaciones de un único artículo de revista, y conviene leerlas con sus límites:
- No hay dispositivos reales. Los nodos son servidores que simulan dispositivos, de modo que la evaluación no mide energía, radio ni memoria restringida, que eran la motivación del trabajo. [1]
- El adversario es pasivo. En el experimento con nodos maliciosos, estos reciben mensajes pero no responden ni reenvían; no se prueban equivocaciones, mensajes contradictorios ni manipulación de la propia reputación. [1]
- La escala es pequeña. Hasta 40 nodos, lejos de los despliegues masivos que el artículo usa como motivación.
- Hay inconsistencias de presentación. Además de las dos complejidades citadas, la figura de throughput etiqueta su eje en milisegundos.
Nada de esto invalida la idea, pero sí define su estatus: es una propuesta con una evaluación preliminar, no un resultado establecido.
Lo que la reputación no resuelve
La seguridad de un protocolo tipo PBFT no depende de la historia de los nodos, sino de que, en el conjunto que vota, a lo sumo de sean bizantinos. [2] Un comité pequeño hace más barato cada voto, pero también hace más barato capturar el umbral: un adversario necesita colocar menos nodos para superar un tercio de un comité de diez que un tercio de toda la red.
La reputación filtra a quien se ha portado mal, pero un nodo puede construir buena reputación con paciencia y cambiar de comportamiento cuando entra al comité. EBRC mitiga ese riesgo con depósito, sorteo verificable y rotación por épocas, y el análisis del paper es empírico, no una prueba formal de que el comité respete el umbral. [1] Para un sistema donde la safety importa, esa es la pregunta que habría que responder antes de desplegar.
El otro camino, mantener a todas las réplicas y abaratar el patrón de mensajes, conserva el umbral sobre la red completa. HotStuff muestra que se puede lograr comunicación lineal por fase, aunque a cambio de firmas umbral cuyo costo criptográfico también pesa en hardware limitado. [3] Elegir entre ambos depende de qué es más escaso en el despliegue concreto: mensajes, cómputo o confianza en el proceso de selección.
Checklist: leer una propuesta BFT para IoT
4 de 4 revisados
Bibliografía académica
- [1]
X. Yuan, F. Luo, M. Z. Haider, Z. Chen, and Y. Li, "Efficient Byzantine Consensus Mechanism Based on Reputation in IoT Blockchain," Wireless Communications and Mobile Computing, 2021.
Propuesta EBRC: reputación, elección VRF, consenso en dos fases y su evaluación sobre Sawtooth.
- [2]
M. Castro and B. Liskov, "Practical Byzantine Fault Tolerance," OSDI, 1999.
Fases todos-contra-todos y quórums de 2f + 1 sobre 3f + 1 réplicas.
- [3]
M. Yin, D. Malkhi, M. K. Reiter, G. G. Gueta, and I. Abraham, "HotStuff: BFT Consensus in the Lens of Blockchain," PODC, 2019.
Votos agregados por el líder en un QC con firma umbral y comunicación lineal por fase.
Siguiente lectura
Para ver cómo un conjunto de réplicas puede cambiar sus propias reglas mediante consenso, continúa con Gobernanza on-chain y votos BFT. Si quieres repasar el patrón de mensajes que EBRC intenta abaratar, vuelve a PBFT en tres pasos.
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
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.
Ruta práctica: activos digitales en la operación
Nueve módulos, de menor a mayor dependencia, para decidir cómo usar custodia, wallets, llaves, firmas multifirma y MPC, AML/KYT y stablecoins con Fireblocks, BitGo, Kaleido, Circle y Tether.
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.
BFT y Agentes de IA: Coordinar decisiones de modelos LLM sin punto de falla
Qué significa tratar a un agente LLM que falla o miente como réplica bizantina: votos, quórums, verificación y lo que afirman dos preprints de 2025.
Gobernanza On-Chain y Votos BFT: Actualizar parámetros por consenso
Cómo cambiar parámetros de un protocolo con transacciones ordenadas por el propio consenso BFT: activación determinista, código en el estado y límites reales.
Consenso BFT desde cero: réplicas, quórums y fallas bizantinas
Primer paso de la serie HotStuff: qué problema resuelve BFT, por qué aparece n >= 3f + 1 y cómo separar safety de liveness sin drama matemático.
Uno, dos y tres chains: la taxonomía de commit antes de HotStuff
Guía para entender commits de una, dos y tres cadenas, y cómo esa taxonomía prepara QC, highQC, multipipeline y Fast-HotStuff.