Tolerância prática a falhas bizantinas

Os modelos de consenso são um componente primário dos sistemas blockchain distribuídos e definitivamente um dos mais importantes para sua funcionalidade. Eles são a espinha dorsal para que os usuários possam interagir uns com os outros de uma maneira sem confiança, e sua implementação correta em plataformas de criptomoeda criou uma nova variedade de redes com potencial extraordinário.

No contexto de sistemas distribuídos, Tolerância a falhas bizantinas é a capacidade de uma rede de computadores distribuída de funcionar como desejado e atingir corretamente um consenso suficiente, apesar de componentes maliciosos (nós) do sistema falharem ou propagarem informações incorretas para outros pares.

O objetivo é se defender contra falhas catastróficas do sistema, mitigando a influência que esses nós maliciosos têm sobre o funcionamento correto da rede e o consenso correto que é alcançado pelos nós honestos no sistema.

Derivado do Problema dos generais bizantinos, este dilema foi extensivamente pesquisado e otimizado com um conjunto diversificado de soluções na prática e sendo ativamente desenvolvido.

Problema dos generais bizantinos

Problema dos generais bizantinos, imagem de Debraj Ghosh

Practical Byzantine Fault Tolerance (pBFT) é uma dessas otimizações e foi introduzida por Miguel Castro e Barbara Liskov em um artigo acadêmico em 1999 intitulado “Tolerância prática a falhas bizantinas”.

Tem como objetivo melhorar os mecanismos de consenso BFT originais e foi implementado e aprimorado em vários sistemas de computador distribuídos modernos, incluindo algumas plataformas de blockchain populares.

Uma Visão Geral da Tolerância Prática a Falhas Bizantinas

O modelo pBFT se concentra principalmente em fornecer uma replicação de máquina de estado bizantina prática que tolera falhas bizantinas (nós maliciosos) por meio da suposição de que há falhas de nós independentes e mensagens manipuladas propagadas por nós específicos e independentes.

O algoritmo é projetado para funcionar em sistemas assíncronos e é otimizado para ter alto desempenho com uma sobrecarga impressionante de tempo de execução e apenas um ligeiro aumento na latência.

  • Essencialmente, todos os nós no modelo pBFT são ordenados em uma sequência com um nó sendo o nó primário (líder) e os outros chamados de nós de backup.
  • Todos os nós dentro do sistema se comunicam entre si e o objetivo é que todos os nós honestos cheguem a um acordo sobre o estado do sistema por meio de uma maioria.
  • Os nós comunicam-se intensamente e não apenas têm que provar que as mensagens vieram de um nó de mesmo nível específico, mas também precisam verificar se a mensagem não foi modificada durante a transmissão.

Tolerância prática a falhas bizantinas

Practical Byzantine Fault Tolerance, Image by Altoros

Para que o modelo pBFT funcione, a suposição é que a quantidade de nós maliciosos na rede não pode ser igual ou superior a ⅓ dos nós gerais do sistema em uma determinada janela de vulnerabilidade.

Quanto mais nós no sistema, mais matematicamente improvável será que um número próximo a ⅓ dos nós gerais seja malicioso. O algoritmo fornece efetivamente tanto vivacidade quanto segurança, desde que no máximo (n-1) / ⅓), onde n representa o total de nós, sejam maliciosos ou defeituosos ao mesmo tempo.

O resultado subsequente é que, eventualmente, as respostas recebidas pelos clientes de suas solicitações estão corretas devido a linearizabilidade.

Cada rodada de consenso pBFT (chamado de visualizações) se resume a 4 fases. Este modelo segue mais um formato de “Comandante e Tenente” do que um puro problema de generais bizantinos, onde todos os generais são iguais, devido à presença de um nó líder. As fases estão abaixo.

  1. Um cliente envia uma solicitação ao nó líder para invocar uma operação de serviço.
  2. O nó líder faz o multicast da solicitação para os nós de backup.
  3. Os nós executam a solicitação e depois enviam uma resposta ao cliente.
  4. O cliente espera f + 1 (f representa o número máximo de nós que podem estar com defeito) respostas de nós diferentes com o mesmo resultado. Este resultado é o resultado da operação.

Os requisitos para os nós são que eles sejam determinísticos e comecem no mesmo estado. O resultado final é que todos os nós honestos chegam a um acordo sobre a ordem do registro e aceitam ou rejeitam.

O nó líder é alterado em um formato do tipo round robin durante cada visualização e pode até ser substituído por um protocolo chamado mudança de visualização se um determinado período de tempo passou sem o nó líder multicast do pedido.

Uma supermaioria de nós honestos também pode decidir se um líder está com defeito e removê-los com o próximo líder na linha como substituto.

Vantagens e preocupações com o modelo pBFT

O modelo de consenso pBFT foi projetado para aplicações práticas e suas deficiências específicas são mencionadas no artigo acadêmico original, juntamente com algumas otimizações importantes para implementar o algoritmo em sistemas do mundo real.

Pelo contrário, o modelo pBFT oferece algumas vantagens significativas sobre outros modelos de consenso.

Benefícios pBFT

Benefícios do pBFT, imagem por Zilliqa

Uma das principais vantagens do modelo pBFT é sua capacidade de fornecer finalidade de transação sem a necessidade de confirmações, como em modelos de prova de trabalho, como aquele que o Bitcoin emprega.

Se um bloco proposto for acordado pelos nós em um sistema pBFT, então esse bloco é final. Isso é possibilitado pelo fato de que todos os nós honestos estão concordando sobre o estado do sistema naquele momento específico como resultado de sua comunicação entre si.

Outra vantagem importante do modelo pBFT em comparação com os sistemas PoW é sua redução significativa no uso de energia.

Em um modelo de prova de trabalho, como no Bitcoin, uma rodada de PoW é necessária para cada bloco. Isso levou ao consumo elétrico da rede Bitcoin por mineradores que rivalizam com pequenos países anualmente.

O que é Bitcoin? Guia completoO que é Bitcoin? O guia definitivo para iniciantes

Com o pBFT não sendo computacionalmente intensivo, uma redução substancial na energia elétrica é inevitável, já que os mineiros não estão resolvendo um algoritmo de hash de processamento intensivo PoW a cada bloco.

Apesar de suas vantagens claras e promissoras, existem algumas limitações importantes para o mecanismo de consenso pBFT. Especificamente, o modelo só funciona bem em sua forma clássica com pequenos tamanhos de grupos de consenso devido à quantidade incômoda de comunicação que é necessária entre os nós.

O artigo menciona o uso de assinaturas digitais e MACs (Method Authentication Codes) como o formato para autenticar mensagens, no entanto, o uso de MACs é extremamente ineficiente com a quantidade de comunicação necessária entre os nós em grandes grupos de consenso, como redes de criptomoeda, e com MACs, há uma incapacidade inerente de provar a autenticidade das mensagens para terceiros.

Embora as assinaturas digitais e multisigs forneçam uma grande melhoria em relação aos MACs, superar a limitação de comunicação do modelo pBFT e, ao mesmo tempo, manter a segurança é o desenvolvimento mais importante necessário para qualquer sistema que busca implementá-lo de forma eficiente.

O modelo pBFT também é suscetível a ataques de sibila onde uma única parte pode criar ou manipular um grande número de identidades (nós na rede), comprometendo assim a rede.

Isso é atenuado com tamanhos de rede maiores, mas a escalabilidade e a capacidade de alto rendimento do modelo pBFT é reduzida com tamanhos maiores e, portanto, precisa ser otimizado ou usado em combinação com outro mecanismo de consenso.

Plataformas que implementam versões otimizadas de pBFT hoje

Hoje, há um punhado de plataformas de blockchain que usam versões otimizadas ou híbridas do algoritmo pBFT como seu modelo de consenso ou pelo menos parte dele, em combinação com outro mecanismo de consenso.

Zilliqa

Zilliqa emprega uma versão altamente otimizada do pBFT clássico em combinação com uma rodada de consenso PoW a cada ~ 100 blocos. Eles usam multisassinaturas para reduzir a sobrecarga de comunicação do pBFT clássico e em seus próprios ambientes de teste, eles alcançaram um TPS de alguns milhares com a esperança de aumentar ainda mais a medida que mais nós são adicionados.

Este também é um resultado direto de sua implementação de pBFT dentro de sua arquitetura de sharding de modo que os grupos de consenso pBFT permaneçam menores dentro de shards específicos, retendo assim a natureza de alto rendimento do mecanismo, enquanto limita o tamanho do grupo de consenso.

Zilliqa

Hyperledger

Tecido Hyperledger é um ambiente colaborativo de código aberto para projetos e tecnologias de blockchain que é hospedado pela Linux Foundation e usa uma versão autorizada do algoritmo pBFT para sua plataforma.

Uma vez que as cadeias permitidas usam pequenos grupos de consenso e não precisam atingir a descentralização de cadeias de bloqueio públicas e abertas, como Ethereum, o pBFT é um protocolo de consenso eficaz para fornecer transações de alto rendimento sem a necessidade de se preocupar em otimizar a plataforma para escalar para grandes grupos de consenso.

Tecido Hyperledger

Além disso, os blockchains permitidos são privados e por convite com identidades conhecidas, então a confiança entre as partes já existe, mitigando a necessidade inerente de um ambiente sem confiança, uma vez que se presume que menos de ⅓ das partes conhecidas comprometeria intencionalmente o sistema.

Conclusão

Byzantine Fault Tolerance é um conceito bem estudado em sistemas distribuídos e sua integração por meio do algoritmo Practical Byzantine Fault Tolerance em sistemas e plataformas do mundo real, seja por meio de uma versão otimizada ou forma híbrida, continua sendo um componente chave da infraestrutura das criptomoedas hoje.

À medida que as plataformas continuam a desenvolver e inovar no campo de modelos de consenso para sistemas de blockchain públicos em grande escala, fornecer mecanismos avançados de tolerância a falhas bizantinas será crucial para manter a integridade de vários sistemas e sua natureza sem confiança.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me