 ##  [Algoritmo de Consenso](/es/node/58799) 

 Definición

Un protocolo ejecutado por múltiples nodos en un sistema distribuido que les permite ponerse de acuerdo en un único valor o secuencia de valores a pesar de fallos parciales y de la incertidumbre temporal, sujeto a las suposiciones del modelo del sistema.

 

 

 

 

 

 





## Principio

Principio

Combina propuesta, reglas de voto/quórum y replicación de estado (a menudo con elección de líder, replicación de registro o certificaciones de quórum) para garantizar seguridad (ningún nodo correcto decide de forma diferente) y liveness/progreso (bajo las suposiciones de tiempo y fallo del modelo).

 

 

 

 

 





## Demostración

Demostración

Un servicio replicado de clave‑valor usa una instancia de consenso para confirmar una escritura de cliente: un líder propone la actualización, las réplicas la aceptan y la añaden a sus registros, y una vez que un quórum reconoce, la actualización se decide y se aplica en cada réplica en el mismo orden.

 

 

 

 

## Aplicación incorrecta

Aplicación incorrecta

Usar un protocolo de consenso sin verificar las suposiciones del modelo (por ejemplo, asumir sincronía cuando la red puede sufrir retrasos arbitrarios) o invocar consenso para operaciones que no requieren acuerdo global, incurriendo en latencia y complejidad innecesarias.

 

 

 

 

 





## Consecuencia

Consecuencia

Correctamente usado, el consenso proporciona un orden linealizado compartido de operaciones entre nodos, posibilitando replicación consistente, cambios de configuración coordinados y servicios tolerantes a fallos; suele aumentar la latencia y exigir la participación de un quórum.

 

 

 

 

## Inversión

Inversión

Ausencia de consenso: las réplicas pueden divergir, confirmando valores contradictorios de forma independiente y produciendo vistas inconsistentes para los clientes; la coordinación recurre a mecanismos ad hoc o garantías más débiles.

 

 

 

 

 





## Límite

Límite

Se aplica a sistemas distribuidos que buscan acuerdo sobre valores bajo modelos de fallo específicos (crash‑stop, bizantino) y suposiciones temporales (sincrónica, parcialmente sincrónica, asincrónica). No es una solución universal: la factibilidad y las garantías dependen de estas suposiciones y de resultados de imposibilidad conocidos en asincronía pura sin detectores de fallos.

 

 

 

 

 





## Tensión semántica

Tensión semántica

Tensión entre seguridad y liveness según las suposiciones de fallo/tiempo: algunos protocolos priorizan la seguridad a costa del progreso en condiciones extremas; también hay tensión entre consenso fuerte (orden total, líder único) y primitivas de coordinación más ligeras (difusión atómica, quórums sin líder) que intercambian simplicidad, rendimiento y disponibilidad.

 

 

 

 

 





## Síntesis

Síntesis

Un algoritmo de consenso es un protocolo de coordinación que, bajo supuestos explícitos, alinea réplicas sobre un valor único o una secuencia ordenada combinando propuesta, votación/quórum y mecanismos de replicación para lograr un acuerdo coherente y tolerante a fallos.