← Últimos artículos
💻 computer science

Hermes: Low Tail-Latency Via Prefix Consensus

Hermes es un protocolo BFT de líder rotativo de dos rondas para n=5f+1n=5f+1 procesos que elimina las paradas de latencia de cola causadas por líderes lentos o caídos al utilizar el consenso de prefijo para finalizar el prefijo común más pesado de cualquier conjunto de nfn-f votos, asegurando así el progreso incluso cuando las vistas expiran.

Autores originales: Alejandro Ranchal-Pedrosa, Dakai Kang, Neil Giridharan, Dahlia Malkhi, Mohammad Sadoghi, Ben Marsh

Publicado 2026-07-29
📖 7 min de lectura🧠 Análisis profundo

Autores originales: Alejandro Ranchal-Pedrosa, Dakai Kang, Neil Giridharan, Dahlia Malkhi, Mohammad Sadoghi, Ben Marsh

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina a un grupo de amigos tratando de decidir qué película ver, pero están esparcidos por todo el mundo, algunos tienen un internet inestable y algunos amigos traviesos intentan sabotear la decisión enviando enlaces falsos o fingiendo estar desconectados. Este es el mundo del consenso de Tolerancia a Fallas Bizantinas (BFT). En la informática, así es como una red de computadoras llega a un acuerdo sobre una única verdad —como el orden de las transacciones en una cadena de bloques— sin confiar en un único jefe central. El objetivo es alcanzar un acuerdo rápidamente (baja latencia) incluso cuando algunas computadoras fallan o actúan de forma maliciosa.

Durante años, estos sistemas han dependido de un "líder" para proponer el siguiente paso. Si el líder es rápido y honesto, todos acuerdan rápidamente. Pero si el líder es lento o falla, todo el grupo tiene que esperar a que un temporizador se agote, darse por vencido con ese líder y elegir uno nuevo. Esto crea un intercambio doloroso: establece el temporizador largo y esperas una eternidad por un líder roto; establece el temporizador corto y pierdes tiempo abandonando líderes que solo estaban un poco lentos. Este "dilema del tiempo de espera" es el cuello de botella que ralentiza la cola del sistema, haciendo que las solicitudes más lentas tarden una eternidad en terminarse.

Este artículo presenta Hermes, un nuevo protocolo diseñado para resolver este dolor de cabeza específico. En lugar de rendirse cuando un líder es lento, Hermes permite que el grupo termine el trabajo en el que pueden ponerse de acuerdo, incluso si el líder falla. Convierte un tiempo de espera desperdiciado en una decisión productiva, asegurando que, pase lo que pase, el sistema siga avanzando sin perder el progreso que ya ha realizado.

El Problema: La "Trampa del Tiempo de Espera"

Imagina una carrera de relevos donde el capitán del equipo (el líder) debe entregar el testigo al siguiente corredor. Si el capitán es rápido, la carrera transcurre sin problemas. Pero si el capitán tropieza o suelta el testigo, todo el equipo tiene que detenerse y esperar a que un árbitro toque el silbato (el tiempo de espera) antes de poder elegir un nuevo capitán y comenzar de nuevo.

En los sistemas tradicionales, este silbato es una apuesta. Si el árbitro lo toca demasiado pronto, podrían detener a un capitán que solo iba un poco lento pero que habría llegado. Si esperan demasiado, el equipo se queda inactivo durante siglos mientras un capitán averiado intenta recuperarse. De cualquier manera, el tiempo pasado esperando es "tiempo muerto": no se hace ningún progreso y la carrera se detiene. Este es el problema de la "latencia de cola": los peores escenarios arrastran a todo el sistema.

La Solución: Hermes y el "Terreno Común"

Hermes cambia las reglas del juego. En lugar de tratar a un líder lento como un fallo total, Hermes trata el acuerdo parcial del grupo como una victoria.

Así es como funciona con una analogía creativa: Imagina que el equipo está intentando construir una torre larga con bloques.

  • La vieja forma: El líder coloca un bloque. Todos esperan. Si el líder se detiene, el equipo espera al tiempo de espera, luego tira toda la torre y comienza a construir una nueva con un nuevo líder.
  • La forma de Hermes: El líder comienza a colocar bloques, pero todos también comienzan a colocar sus propios bloques simultáneamente. Si el líder es rápido, el equipo construye la torre del líder perfectamente. Si el líder se queda trabado, el equipo no tira la torre. En su lugar, miran todos los bloques que todos colocaron, encuentran la sección más larga en la que todos están de acuerdo sobre el orden de los bloques, y declaran que esa sección está "terminada".

Esta es la innovación central: Consenso de Prefijo. En los viejos tiempos, si dos personas votaban por torres ligeramente diferentes, sus votos se consideraban un desacuerdo y se descartaban. Hermes dice: "¡Espera, están de acuerdo en el 90% inferior de la torre! Aseguremos eso y sigamos adelante".

Cómo funciona Hermes: La Danza de Dos Rondas

Hermes opera en "vistas" (rondas), cada una con un líder designado. Utiliza una hábil danza de dos pasos:

  1. Ronda 1 (La Propuesta): Todos transmiten su propia idea de cómo debería verse la siguiente parte de la torre. La idea del líder es solo una de muchas.
  2. Ronda 2 (La Votación):
    • Si el líder es rápido: Todos ven la propuesta del líder, están de acuerdo y votan por ella. La torre crece por el bloque completo del líder en solo dos retrasos de mensajes (2δ).
    • Si el líder es lento o falla: El temporizador se agota. En lugar de votar para "cancelar" la ronda, todos votan por el mejor acuerdo posible que puedan encontrar entre las propuestas que recibieron. Buscan el "Prefijo Común más Pesado" (HCP, por sus siglas en inglés)—la secuencia más larga de bloques en la que todos están de acuerdo, incluso si sus propuestas divergieron al final.

Esto significa que, incluso si el líder falla, el grupo no pierde la vista. Finalizan la parte común de la torre e inmediatamente comienzan la siguiente ronda. El "tiempo de espera", que antes era un callejón sin salida, ahora produce un resultado.

La Magia de los "Prefijos" y los "Saltos"

Para que esto funcione con múltiples carriles de datos (como una autopista con muchos carriles de tráfico), Hermes utiliza una codificación especial llamada tipcuts relativos al padre (parent-relative delta tipcuts).

Piensa en ello como un libro de "Elige tu propia aventura" donde cada página hace referencia a la anterior. Si un carril de tráfico pierde un coche (un bloque), Hermes no dice "error". Marca explícitamente ese lugar como "saltado" y pasa al siguiente coche. Esto permite que el sistema compare diferentes propuestas incluso si les faltan piezas distintas. Es como comparar dos historias: incluso si una historia salta un párrafo y la otra lo incluye, aún pueden estar de acuerdo en el principio y el final, y el sistema asegura ese acuerdo.

Los Resultados: Velocidad y Seguridad

El artículo demuestra matemáticamente que Hermes es seguro (ninguna dos personas honestas estarán nunca en desacuerdo sobre la parte finalizada) y vivo (el sistema siempre seguirá avanzando).

  • El Caso Bueno: Si el líder es honesto y rápido, Hermes es tan rápido como los mejores sistemas existentes, finalizando en (dos retrasos de mensajes).
  • El Caso Malo: Si el líder es lento o falla, Hermes finaliza el acuerdo común en 2∆ + δ (donde ∆ es el tiempo de espera y δ es el retraso de la red). Crucialmente, esto es más rápido que la forma antigua de esperar un cambio de vista completo, porque evita el tiempo "perdido" de descartar la vista.

Los autores muestran que, al usar codificación de borrado (erasure coding) (una forma de dividir los datos en piezas para que puedan reconstruirse incluso si algunas piezas se pierden), Hermes mantiene bajos los costos de comunicación, incluso cuando se trata de muchos carriles de datos.

Por qué esto importa

Hermes resuelve el "dilema del tiempo de espera" haciendo que el tiempo de espera sea productivo por sí mismo. Convierte un momento de fallo en un momento de progreso. En lugar de preguntar "¿Llegó el líder?" y esperar para ver, Hermes pregunta "¿En qué estamos todos de acuerdo?" y sigue adelante.

Para un adolescente curioso, piensa en ello como un chat grupal donde todos intentan ponerse de acuerdo en un plan. Si la persona que suele sugerir el plan se queda trabada, la forma antigua es esperar a que responda o iniciar un nuevo chat con un nuevo líder. Hermes es como decir: "Está bien, no respondió, pero miren todas las ideas que enviamos. Estamos de acuerdo en los primeros tres pasos. Aseguremos eso y empecemos a planificar el paso cuatro". Es una forma más inteligente y resiliente de mantener al grupo avanzando, sin importar quién suelte la pelota.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →