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

En 1 Minuto

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.

Prerrequisitos
  • Firmas en BFT: threshold, agregadas y AggQC (bft-signatures-threshold-aggregate-aggqc)
  • Quórums en acción (quorums-en-accion-mayorias-honestas)
Cuándo Detenerte

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 Rápido de Notación

Glosario de Notación Matemática y Criptográfica

f— Número máximo de fallas bizantinas

Cantidad de réplicas maliciosas o con fallas arbitrarias que tolera el sistema.

Ejemplo: n = 3f + 1
Haz clic en un símbolo para desplegar su definición formal y su aplicación en el protocolo.
Mapa conceptual

Ruta mental de los costes de firma en BFT

  1. 1. Lista de firmas

    2f + 1 firmas independientes

  2. 2. Firma corta BLS

    Un punto de curva

  3. 3. Compactar el QC

    Umbral, multifirma o agregada

  4. 4. Quién paga

    Agregador frente a verificadores

Del voto individual al certificado compacto, separando tamaño y verificación.
Explicación Didáctica

Decodificador Didáctico de Conceptos BFT

Compactar no es abaratar

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.

Traducción de lenguaje formal a analogías intuitivas del mundo real.

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.

Criptografía aplicada

Qué se compacta en cada familia de firmas

Regla de lectura de evidencia

  1. 01Mensajequé se afirma
  2. 02Firmantequé identidad responde
  3. 03Compactaciónqué se reduce de tamaño
  4. 04Verificaciónqué contrato se valida
  5. 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 tamaño y el coste de verificación dependen de si los firmantes comparten mensaje y de si sus claves son independientes o partes de una clave común.

El objeto que pagamos: un QC de 2f + 1 votos

En HotStuff, un certificado de quórum (QC) reúne los votos de n−fn - f réplicas sobre la misma propuesta y vista; con n=3f+1n = 3f + 1 eso son 2f+12f + 1 votos. 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 2f+12f + 1 autenticadores.

Si llamamos ss al tamaño de una firma individual, una lista ocupa aproximadamente

∣QClista∣≈(2f+1)⋅s|QC_{\text{lista}}| \approx (2f + 1)\cdot s

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 2f+12f + 1 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.

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. 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. 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. El QC debe indicar qué réplicas firmaron, por ejemplo con un mapa de nn 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 kk firmas de kk usuarios sobre kk mensajes distintos en una sola firma. El tamaño se compacta, pero la verificación necesita k+1k + 1 emparejamientos, porque cada par de clave y mensaje debe comprobarse por separado. 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

Estimaciones estructurales derivadas de la definición de cada esquema; no son mediciones de rendimiento.

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. 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 2f+12f + 1 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.

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.

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. Tercera: ¿necesitas saber quién votó? El umbral lo oculta; la multifirma y la lista lo conservan.

Impacto de Negocio & Finanzas

La decisión criptográfica como decisión de presupuesto

Problema Comercial / Operacional

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.

Solución del Paper (Insight Técnico)

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.

Impacto para el Producto / Negocio: Medir con la biblioteca y el hardware propios el tamaño del QC, el tiempo de verificación por receptor y el trabajo del líder antes de fijar el esquema.
Lista2f + 1 firmastamaño y verificación lineales
Umbral / multifirma1 firmaverificación de una firma BLS
Agregada1 firma + mensajesk + 1 emparejamientos
AgregadorValida cada votoel coste se desplaza, no desaparece
Costes criptográficos

Checklist mental de costes de firma

4 de 4 revisados

Preguntas para revisar un diseño de QC.
Referencias

Bibliografía académica

Formato IEEENumerado para ingeniería, sistemas y protocolos.
  1. [1]

    D. Boneh, B. Lynn, and H. Shacham, "Short Signatures from the Weil Pairing," ASIACRYPT, 2001.

    PaperID: BLS-SHORT-SIG-2001Abrir fuente (abre en otra pestaña)

    Base de BLS: firma corta basada en emparejamientos bilineales.

  2. [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. [3]

    A. Boldyreva, "Threshold Signatures, Multisignatures and Blind Signatures Based on the Gap-Diffie-Hellman-Group Signature Scheme," PKC, 2003.

    PaperID: BOLDYREVA-THRESHOLD-2003Abrir fuente (abre en otra pestaña)

    Referencia para distinguir threshold signatures y multisignatures en grupos GDH/BLS-like.

  4. [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.

Fuentes primarias, papers seminales y especificaciones técnicas citadas en esta investigación.

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.

Sigue leyendo

Ideas conectadas con este artículo

Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.

Los comentarios se cargan al final de la lectura para no meter peso antes de tiempo.