HotStuff: de cero a estado del arte
Artículo 42 de 47
89%
completado al llegar aquí
Sistemas distribuidosNota de investigación12 min de lectura
Costes computacionales en BFT: Firmas agregadas BLS vs. Ed25519
Cuánto pesa un QC con firmas individuales frente a una firma BLS agregada o de umbral, y por qué los emparejamientos encarecen la verificación en consenso BFT.
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.
Compara el coste de los certificados de quórum en consenso BFT según cómo se firmen los votos: una lista de firmas individuales, una multifirma o firma de umbral BLS, o una firma agregada sobre mensajes distintos. El eje es siempre el mismo: bytes que viajan frente a trabajo de verificación.
- Firmas en BFT: threshold, agregadas y AggQC (bft-signatures-threshold-aggregate-aggqc)
- Quórums en acción (quorums-en-accion-mayorias-honestas)
Detente cuando puedas estimar cómo crece el tamaño de un QC con el comité en cada esquema, cuántos emparejamientos exige verificarlo y quién paga la verificación de los votos individuales.
Glosario de Notación Matemática y Criptográfica
Cantidad de réplicas maliciosas o con fallas arbitrarias que tolera el sistema.
n = 3f + 1Ruta mental de los costes de firma en BFT
1. Lista de firmas
2f + 1 firmas independientes
2. Firma corta BLS
Un punto de curva
3. Compactar el QC
Umbral, multifirma o agregada
4. Quién paga
Agregador frente a verificadores
Decodificador Didáctico de Conceptos BFT
En palabras simples: Un notario que resume cien firmas en un acta sellada ahorra papel a quien la recibe, pero alguien tuvo que revisar las cien firmas antes de sellar.
Detalle técnico: La agregación reduce los bytes del certificado; el agregador sigue validando votos individuales y la verificación final se paga en emparejamientos.
En Firmas en BFT: threshold, agregadas y AggQC separamos qué significa cada familia de firmas: qué mensaje se firma, con qué claves y qué prueba el objeto resultante. Este artículo toma esa taxonomía como dada y mira otra cara: el coste. Cuántos bytes ocupa un certificado de quórum, cuántas operaciones criptográficas hacen falta para verificarlo y quién paga cada una.
La pregunta práctica suele formularse como "BLS o Ed25519". Es una abreviatura engañosa, porque mezcla dos decisiones: qué primitiva de firma usa cada réplica y cómo se empaqueta un quórum de votos. Las separamos.
Qué se compacta en cada familia de firmas
Regla de lectura de evidencia
- 01Mensajequé se afirma
- 02Firmantequé identidad responde
- 03Compactaciónqué se reduce de tamaño
- 04Verificaciónqué contrato se valida
- 05Semánticaqué significa en el protocolo
BLS base
¿Cómo una firma corta prueba una clave y un mensaje?
- Firma
- m
- Compacta
- una firma σ = sk · H(m)
- Verifica
- pairing(pk, H(m), σ)
Explicar la primitiva: hash-to-curve, clave pública, firma y verificación bilineal.
Threshold signature
¿Un comité firma el mismo mensaje como si fuera una sola clave?
- Firma
- m común
- Compacta
- t parciales → una firma de umbral
- Verifica
- una firma contra la clave pública del comité
QC clásico: muchas réplicas validan la misma propuesta y vista.
Multisignature
¿Muchas claves firman el mismo mensaje con una firma conjunta?
- Firma
- m común + conjunto de claves
- Compacta
- firmas por clave → una firma conjunta
- Verifica
- requiere ligar las claves (defensa rogue-key)
Muchos validadores firmando el mismo dato con necesidad de tamaño compacto.
Aggregate signature
¿Muchas claves firman mensajes posiblemente distintos?
- Firma
- (pkᵢ, mᵢ) por firmante
- Compacta
- firmas heterogéneas → una prueba agregada
- Verifica
- cada par clave/mensaje queda ligado
New-view/AggQC: reportes highQCᵢ distintos pero verificables como colección.
AggQC
¿Qué prueba protocolar transporta el nuevo líder?
- Firma
- Timeoutᵢ(v, highQCᵢ)
- Compacta
- 2f + 1 reportes + selección max-view
- Verifica
- quórum, membresía, firmas, highQC* y extensión segura
Fast-HotStuff: evitar que el líder escoja una punta vieja o conveniente.
El objeto que pagamos: un QC de 2f + 1 votos
En HotStuff, un certificado de quórum (QC) reúne los votos de réplicas sobre la misma propuesta y vista; con eso son votos. [4] Cada propuesta lleva un QC, cada réplica lo verifica y, en cambio de vista, el nuevo líder recibe QCs de muchas réplicas. Por eso su tamaño y su coste de verificación se multiplican por todo el protocolo.
El paper de HotStuff mide la complejidad en autenticadores, es decir, en firmas o firmas parciales que viajan. Su resultado de comunicación lineal supone que un QC puede representarse con un único autenticador gracias a firmas de umbral; con una lista de firmas individuales, cada QC reenviado cuesta autenticadores. [4]
Si llamamos al tamaño de una firma individual, una lista ocupa aproximadamente
más los identificadores de los firmantes. Es aritmética, no una medición: el tamaño crece linealmente con el comité. Y verificarlo cuesta verificaciones independientes.
BLS: la firma corta y el precio de los emparejamientos
Boneh, Lynn y Shacham propusieron un esquema en el que la firma es un único punto de una curva elíptica: se aplica un hash al mensaje para obtener un punto y se multiplica por la clave privada. Su firma mide aproximadamente la mitad que una firma DSA de seguridad comparable. [1]
La contrapartida está en la verificación. Para comprobar una firma BLS hay que evaluar un emparejamiento bilineal, una función que relaciona puntos de dos grupos, y comprobar una igualdad entre dos emparejamientos: uno que involucra la firma y otro que involucra la clave pública y el hash del mensaje. [1] Como referencia general, evaluar un emparejamiento es bastante más costoso que las operaciones de grupo que usa un esquema de curva elíptica convencional.
Como contexto, sin cifras: Ed25519 es un esquema tipo Schnorr sobre una curva de Edwards. No usa emparejamientos y suele verificarse más rápido que BLS, pero no ofrece la agregación algebraica que hace atractivo a BLS. Un QC con Ed25519 vuelve, en esencia, al caso de la lista. Las cifras de rendimiento dependen de la biblioteca, la curva concreta y el hardware, así que conviene medirlas en el propio sistema antes de decidir.
Tres maneras de compactar un QC con BLS
La gracia de BLS es que su estructura algebraica permite combinar firmas. Hay tres variantes relevantes para un QC, y cada una paga distinto.
Firma de umbral. El comité comparte una clave pública y cada réplica posee una parte de la clave privada. Cada voto es una firma parcial sobre el mismo mensaje; con suficientes parciales, cualquiera las combina por interpolación en una firma que verifica contra la clave del comité exactamente como una firma BLS normal. [3] El QC ocupa una sola firma y su verificación cuesta lo mismo que la de una firma BLS. El precio está en otra parte: hace falta repartir la clave del comité y el QC no dice quién firmó.
Multifirma. Cada réplica tiene su propia clave y todas firman el mismo mensaje. Las firmas se combinan en una y las claves públicas de los firmantes también, de modo que la verificación vuelve a ser la de una sola firma más el coste de combinar las claves. [3] El QC debe indicar qué réplicas firmaron, por ejemplo con un mapa de bits, para que el verificador sepa qué claves combinar. Además, cualquier multifirma que combine claves públicas debe defenderse de claves maliciosas construidas a partir de las claves honestas (ataques de clave falsa); una defensa habitual es exigir que cada clave se registre junto con una prueba de que su dueño conoce la clave secreta.
Firma agregada sobre mensajes distintos. Boneh, Gentry, Lynn y Shacham mostraron cómo agregar firmas de usuarios sobre mensajes distintos en una sola firma. [2] El tamaño se compacta, pero la verificación necesita emparejamientos, porque cada par de clave y mensaje debe comprobarse por separado. [2] Es la herramienta natural cuando cada réplica reporta algo distinto, como los highQC en un AggQC, pero no abarata la verificación.
Comparar tamaño y verificación en una sola tabla mental
Comparación
Coste de un QC de 2f + 1 votos según el esquema
Lista de firmas individuales
Cada voto viaja tal cual; vale cualquier esquema de firma.
- Tamaño
- (2f + 1) firmas
- Verificación
- 2f + 1 verificaciones
- Sin configuración del comité
- Identifica a cada firmante
- Crece linealmente con el comité
Umbral o multifirma BLS
Todos firman el mismo mensaje y se combinan en una firma.
- Tamaño
- 1 firma (+ mapa de firmantes en multifirma)
- Verificación
- Como una firma BLS: 2 emparejamientos
- Umbral: requiere repartir la clave del comité
- Multifirma: requiere registrar claves con prueba de conocimiento
Firma agregada BLS
Cada firmante puede firmar un mensaje distinto.
- Tamaño
- 1 firma + los mensajes
- Verificación
- k + 1 emparejamientos
- Útil para reportes heterogéneos
- Compacta bytes, no verificación
La tabla deja ver el trade-off. Pasar de una lista a una firma de umbral o a una multifirma cambia un coste que crece con el comité por uno casi constante, tanto en bytes como en verificación del certificado. [3] Pero cada verificación se paga en emparejamientos, de modo que para comités pequeños una lista de firmas sin emparejamientos puede verificarse en menos tiempo total que una sola firma BLS. Dónde está el punto de cruce depende de las bibliotecas y del hardware; no existe un umbral universal de tamaño de comité.
El coste que no desaparece: verificar votos antes de agregar
Hay una asimetría que las tablas suelen ocultar. Para formar el QC, el líder recibe votos individuales. Si combina una parte inválida, el certificado resultante no verifica, y el líder no sabe cuál falló. Lo prudente es validar cada voto o cada firma parcial antes de combinarlo, y en BLS cada una de esas validaciones vuelve a costar emparejamientos. [1] [3]
Es decir, la compactación desplaza el coste. El agregador sigue haciendo un trabajo proporcional al quórum; quienes ganan son los receptores del QC: las réplicas que validan la propuesta siguiente, los nodos que se sincronizan desde cero o los clientes ligeros que verifican certificados antiguos. En HotStuff eso importa porque cada propuesta carga el QC de la anterior y todas las réplicas lo verifican. [4]
Una táctica habitual es verificar primero el agregado y solo comprobar los votos uno por uno si falla. Funciona bien cuando las réplicas bizantinas son raras, pero una réplica maliciosa puede forzar la ruta cara enviando partes inválidas a propósito. Esto es un razonamiento general de ingeniería, no un resultado de los papers citados.
Cómo decidir sin cifras importadas
La elección depende de tres preguntas. Primera: ¿cuántas veces se verifica cada QC y por quién? Si el certificado se reenvía y se archiva, compactarlo paga. Segunda: ¿los votos son sobre el mismo mensaje? Si lo son, umbral o multifirma dan verificación constante; si no, la agregación ahorra bytes pero no emparejamientos. [2] [3] Tercera: ¿necesitas saber quién votó? El umbral lo oculta; la multifirma y la lista lo conservan.
La decisión criptográfica como decisión de presupuesto
Elegir esquema de firma por reputación lleva a pagar ancho de banda innecesario en comités grandes o emparejamientos innecesarios en comités pequeños.
Una lista de firmas escala mal en bytes; BLS compacta el certificado pero cada verificación usa emparejamientos y el agregador sigue validando votos individuales.
Checklist mental de costes de firma
4 de 4 revisados
Bibliografía académica
- [1]
D. Boneh, B. Lynn, and H. Shacham, "Short Signatures from the Weil Pairing," ASIACRYPT, 2001.
Base de BLS: firma corta basada en emparejamientos bilineales.
- [2]
D. Boneh, C. Gentry, B. Lynn, and H. Shacham, "Aggregate and Verifiably Encrypted Signatures from Bilinear Maps," EUROCRYPT, 2003.
Fuente para aggregate signatures sobre mensajes potencialmente distintos.
- [3]
A. Boldyreva, "Threshold Signatures, Multisignatures and Blind Signatures Based on the Gap-Diffie-Hellman-Group Signature Scheme," PKC, 2003.
Referencia para distinguir threshold signatures y multisignatures en grupos GDH/BLS-like.
- [4]
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.
Siguiente lectura
Para ver cómo un certificado agregado sobre reportes distintos cambia el cambio de vista, sigue con Fast-HotStuff, AggQC y two-chain. Si quieres conectar estos costes con el número de nodos que participan, continúa con Firmas criptográficas y reducción de nodos.
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.
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.
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.