La Tolerancia a Fallas Bizantinas, BFT, es la fiabilidad de un sistema informático tolerante a fallos, en particular sistemas informáticos distribuidos, donde los componentes pueden fallar y hay información imperfecta sobre si un componente ha fallado.

***

¿Qué es Tolerancia a Fallas Bizantinas?

La Tolerancia a Fallas Bizantinas, Byzantine Fault Tolerance (BFT), es la fiabilidad de un sistema informático tolerante a fallos, en particular sistemas informáticos distribuidos, donde los componentes pueden fallar y hay información imperfecta sobre si un componente ha fallado. En un “fallo bizantino”, un componente como un servidor puede aparecer de forma inconsistente tanto en el fallo como en el funcionamiento de los sistemas de detección de fallos, presentando diferentes síntomas a diferentes observadores.

Es difícil para los otros componentes declararlo fallido y desconectarlo de la red, ya que primero necesitan llegar a un consenso sobre qué componente ha fallado.

Es también llamada, en algunas traducciones, Tolerancia a Faltas Bizantinas.

¿De dónde viene el término?

El término se deriva del Problema de los Generales Bizantinos, donde los actores deben ponerse de acuerdo sobre una estrategia concertada para evitar un fallo catastrófico del sistema, pero algunos de los actores no son confiables.

Descrito por Leslie Lamport, Robert Shostak y Marshall Pease en su artículo de 1982, “El problema de los generales bizantinos” se trata de que un grupo de generales comanda una parte del ejército bizantino que rodea una ciudad. Quieren formular un plan para atacarla. En su forma más simple, dichos generales solo tienen que decidir si van a atacar o a retirarse. Pero algunos de los militares prefieren una y otros la otra alternativa. Entonces, lo importante es que cada general acuerde una decisión común con los demás, ya si se dividen tendrán seguro una derrota, y eso sería peor que un ataque o retirada coordinado entre todos.

Este problema se complica porque hay generales traidores que no solo votan por una estrategia subóptima. La tolerancia a faltas bizantinas se puede lograr si los generales leales (no defectuosos) tienen un acuerdo mayoritario sobre su estrategia.

La metáfora de este problema matemático en relación con los sistemas informáticos es que las computadoras son los generales y sus enlaces del sistema de comunicación digital son los mensajeros.

Aún cuando el problema está formulado en la analogía como un problema de toma de decisiones y de seguridad, en electrónica, no se puede resolver simplemente con firmas digitales criptográficas, porque las fallas como los voltajes incorrectos pueden propagarse a través del proceso de cifrado. Por lo tanto, un componente puede aparecer funcionando para un componente y defectuoso para otro componente, lo que impide formar un consenso sobre si el componente es defectuoso o no.

¿Qué relación tiene con Bitcoin?

Un ejemplo de BFT en uso es Bitcoin. La red Bitcoin funciona en paralelo para generar una cadena de prueba de trabajo de estilo Hashcash. Dicha cadena de prueba de trabajo es la clave para superar las fallas bizantinas y alcanzar una visión global coherente del estado del sistema.

Artículo de DiarioBitcoin

« Volver al índice del glosario