Glosario cripto
Tolerancia a fallos bizantinos (BFT)
La tolerancia a fallos bizantinos es la capacidad de una red distribuida de acordar un único estado aunque algunos participantes fallen o mientan.
La idea procede del problema de los generales bizantinos: varios comandantes deben acordar un plan mediante mensajeros, sabiendo que algunos pueden ser traidores. Un sistema tolera fallos bizantinos si los participantes honestos llegan a la misma decisión pese a los miembros defectuosos o malintencionados. Los protocolos BFT clásicos funcionan siempre que menos de un tercio de los participantes se comporte mal.
Las blockchains son sistemas BFT por diseño, porque cualquiera puede ejecutar un nodo. Muchas redes de prueba de participación usan votaciones de tipo BFT en las que los validadores intercambian mensajes firmados y un bloque queda finalizado cuando lo aprueban dos tercios del stake. El ecosistema Cosmos se apoya en Tendermint, hoy CometBFT, y el mecanismo de finalidad de Ethereum aplica la misma regla de los dos tercios.
La votación BFT ofrece una finalidad rápida y explícita, pero el número de mensajes crece con el de validadores, lo que empuja a usar conjuntos de validadores más pequeños o comités. Si más de un tercio se desconecta, la cadena puede detenerse en lugar de finalizar bloques.
Ejemplo
En una red de 100 validadores con el mismo peso, un bloque queda finalizado cuando lo firman 67, y la cadena sigue siendo segura mientras no actúen de forma maliciosa más de 33.