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.