A tolerância a falhas bizantinas é a capacidade de um sistema continuar a funcionar mesmo quando alguns participantes mentem ou falham. O nome vem de uma experiência mental sobre generais bizantinos que tentavam coordenar um ataque enquanto mensageiros corriam o risco de serem capturados ou traidores de enviarem ordens falsas. Os generais precisam de um plano que funcione mesmo que alguns deles sejam pouco fiáveis. Um blockchain enfrenta o mesmo problema. Nós podem ficar offline. Nós podem enviar informações contraditórias. A rede ainda tem de chegar a um consenso sobre quais as transações válidas.
A Tolerância Prática a Falhas Bizantinas (PBFT, na sigla em inglês) é um algoritmo que resolve este problema. Funciona bem quando o número de nós defeituosos é pequeno em relação ao total. Muitas blockchains permissionadas utilizam variantes do PBFT porque sabem quem são os participantes. A prova de trabalho do Bitcoin adota uma abordagem diferente. Ela não identifica nós fiáveis. Torna a mentira custosa, exigindo trabalho computacional. A cadeia mais longa ganha, e produzir uma cadeia mais longa do que a rede honesta é proibitivamente caro.
Limiares de tolerância a falhas
- Tolerância a falhas de colisão — os nós podem falhar, mas não permanecem inativos.
- Tolerância a falhas bizantinas — os nós podem falhar e enviar informações falsas.
- PBFT — tolera normalmente até um terço de nós com defeito.
Nenhum sistema tolera um número ilimitado de agentes mal-intencionados. A questão é quanta má conduta o protocolo consegue absorver antes que o consenso seja quebrado.
Comments
No comments yet. Be the first to share a thought.
Leave a comment