Glosario

Problema de los generales bizantinos

Hard

Una situación en la que no se puede confiar ni verificar la comunicación que requiere el consenso sobre una estrategia única de todos los miembros de un grupo o grupo.

¿Qué es el problema de los generales bizantinos?

El problema de los generales bizantinos es un experimento mental que trata sobre una cuestión clave de la informática: ¿es posible formar un consenso en una red informática compuesta por nodos independientes distribuidos geográficamente?

El problema fue propuesto en 1982 por investigadores del Instituto Internacional de Investigación SRI.

Va de la siguiente manera: hay varios generales bizantinos asediando una ciudad. Solo pueden comunicarse enviándose mensajeros entre ellos. Los generales deben acordar un plan de acción común: ya sea para atacar la ciudad o retirarse. Sin embargo, algunos de los generales son traidores y trabajan activamente en contra de la formación de un consenso; se desconocen su número e identidades.

La pregunta que plantea el problema es qué algoritmo de toma de decisiones deberían usar los generales para idear un plan común, independientemente de la interferencia de los traidores, y si tal algoritmo existe.

Según el propio análisis de los investigadores, tal sistema es realmente factible, pero el número de generales leales debe exceder estrictamente los dos tercios. Por ejemplo, en una situación con tres generales, uno de los cuales es traidor, los leales nunca pueden garantizar que podrán llegar a un consenso.

Este problema es muy relevante para las criptomonedas, ya que son, en esencia, sistemas informáticos distribuidos: están compuestos por nodos de procesamiento de transacciones que son independientes entre sí y de cualquier autoridad central y solo pueden comunicarse de forma remota. Ellos son los "generales" que necesitan llegar a un consenso sobre qué transacciones han tenido lugar y cuándo.
Los nodos tienen el potencial de proporcionar datos defectuosos sobre transacciones, ya sea por elección o por accidente, y su información debe ser ordenada. Bitcoin (BTC) y otras criptomonedas resuelven este problema a través de soluciones técnicas como los algoritmos de prueba de trabajo y prueba de participación.