Un procedimiento para llegar a un acuerdo común en una plataforma multiagente distribuida o descentralizada. Es importante para el sistema de paso de mensajes.
Ejemplo –
Varios procesos en una red deciden elegir un líder. Cada proceso comienza con una apuesta por el liderazgo. En los sistemas distribuidos tradicionales o convencionales, aplicamos el consenso para garantizar la confiabilidad y la tolerancia a fallas. Significa que, en un entorno descentralizado, cuando tiene varias partes individuales y pueden tomar su propia decisión, puede suceder que algún Node o algunas partes estén trabajando maliciosamente o como un individuo defectuoso. Entonces, en esos casos particulares, es importante llegar a una decisión o punto de vista común. Por lo tanto, tener un punto de vista común en un entorno en el que las personas pueden comportarse de manera maliciosa o pueden bloquear el trabajo de manera defectuosa es la principal dificultad. Entonces, bajo este tipo de entorno distribuido,
Características :
- Garantiza la fiabilidad y la tolerancia a fallos en los sistemas distribuidos.
- En presencia de personas defectuosas, es Asegurar operaciones correctas.
Ejemplos –
Confirmar una transacción en una base de datos, replicación de máquinas de estado, sincronización de relojes.
Cómo lograr un consenso distribuido:
Hay algunas condiciones que deben seguirse para lograr un consenso distribuido.
- Terminación:
todo proceso no defectuoso debe decidir eventualmente. - Acuerdo –
La decisión final de todo proceso no defectuoso debe ser idéntica. - Validez:
todo proceso no defectuoso debe comenzar y terminar con el mismo valor. - Integridad –
Todo individuo correcto decide como máximo un valor, y el valor decidido debe ser propuesto por algún individuo.
Aquí hay un criterio de validación, así que básicamente deberíamos llegar a una decisión con un valor que debe ser el valor inicial de algún proceso porque es una tontería llegar a un acuerdo cuando el valor acordado no refleja la elección inicial de nadie.
La corrección del Protocolo de Consenso Distribuido:
Puede ser descrito por las siguientes dos propiedades de la siguiente manera.
- Propiedad de seguridad:
garantiza que nunca convergerá a un valor incorrecto o que las personas correctas en una red nunca convergerán a un valor incorrecto. - Propiedad de vitalidad:
establece que todos los valores correctos deben aceptarse eventualmente, lo que significa que eventualmente sucederá algo bueno.
Aplicación del Consenso Distribuido:
- Elección de líder en un entorno tolerante a fallas para iniciar alguna acción global sin introducir un solo punto de falla.
- Mantener la consistencia en una red distribuida. Suponga que tiene diferentes Nodes monitoreando el mismo entorno. Si uno de los Nodes falla, un protocolo de consenso garantiza la solidez frente a tales fallas.
Publicación traducida automáticamente
Artículo escrito por auspicious_boy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA