Crypto.com Logo
GLOSSÁRIOPractical Byzantine Fault Tolerance (PBFT)

Practical Byzantine Fault Tolerance (PBFT)


O que é Practical Byzantine Fault Tolerance (PBFT)?

Practical Byzantine Fault Tolerance (PBFT), ou “tolerância a falhas bizantinas prática”, é um algoritmo de consenso projetado para funcionar de forma eficiente em um sistema assíncrono (sem assumir nada sobre tempo) e otimizado para ter baixa latência.

Primeiramente introduzido por Miguel Castro e Barbara Liskov em um estudo de 1999, o algoritmo PBFT é uma forma de replicação de máquina de estado, o que significa que o estado do sistema é replicado e distribuído entre vários servidores. Isso acaba por tornar o sistema mais robusto, pois problemas como falhas bizantinas podem ocorrer isoladamente, em vez de causar a falha de uma rede inteira.

Como funciona o algoritmo PBFT

Fundamentalmente, os nós em um modelo PBFT são ordenados em uma sequência em que um nó é considerado o nó primário (líder) e os demais são indicados como backups. No entanto, todos os nós dentro de uma rede ainda mantêm a comunicação. O objetivo é que todos os nós honestos cheguem a um acordo sobre o estado do sistema por meio de uma regra da maioria.

Para que o modelo PBFT funcione, o número máximo de nós maliciosos não deve ser maior ou igual a um terço de todos os nós no sistema. Cada rodada do consenso PBFT (geralmente chamada de “views”) é resumida em quatro fases simples:

  1. O cliente envia uma solicitação para uma operação de serviço para o nó primário (líder).


  1. O nó primário distribui esta solicitação para todas as réplicas de backup ao mesmo tempo.


  1. As réplicas executam a solicitação e enviam uma resposta ao cliente.


  1. O cliente aguarda respostas de diferentes réplicas com resultados semelhantes.


O nó primário muda a cada “view”, que pode ser substituída por um protocolo de “mudança de view” se a solicitação não for transmitida após um certo período. Além disso, se um nó primário for considerado defeituoso, ele pode ser removido com o acordo de uma grande maioria de nós honestos.

Exemplos de plataformas que usam variantes do PBFT são Zilliqa, Hyperledger e Tendermint.

Principais conclusões

Practical Byzantine Fault Tolerance (PBFT), ou "tolerância a falhas bizantinas prática", é um algoritmo que previne falhas bizantinas em ambientes assíncronos e otimiza para baixa latência.

Palavras relacionadas