Buscar

Apresentação tolerância a Falhas - Sistemas Distribuídos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Tolerância a Falhas 
Bizantinas
 Bruno F. S. Beltrame, Cristian Abramchuk, Jackson. F. Magnabosco, Marco Cavalett,
Teyson Lorenzon
Introdução
O pBFT foi projetado para funcionar 
eficientemente em sistemas assíncronos ( onde um 
grupo de computadores pode chegar a um acordo, 
embora existam muitos “traidores” como parte da 
rede). 
Seu objetivo era resolver muitos problemas 
associados às soluções de tolerância a falhas 
bizantinas já disponíveis e dar uma resposta 
coerente a falhas do sistema. 
As áreas de aplicação incluem computação 
distribuída e blockchain.
História
A tolerância prática a falhas bizantinas é um 
algoritmo de consenso introduzido no final dos 
anos 90 por Barbara Liskov e Miguel Castro.
Como Funciona?
Tolerância a Falhas Bizantinas
A tolerância a falhas bizantinas (BFT) é o recurso 
de uma rede distribuída para alcançar consenso 
(acordo com o mesmo valor) mesmo quando 
alguns dos nós da rede falham em responder ou 
respondem com informações incorretas.
Tipos de Falhas
● Falhas de consenso.
● Falhas de validação
● Falhas ao verificar dados.
● Falhas no protocolo de resposta em 
situações de rede.
Problema dos Dois Generais
Esse problema ( publicado pela primeira vez em 1975 e nomeado em 1978) descreve um cenário em que 
dois generais estão atacando um inimigo comum.
Líder SeguidorInimigo
Generais Bizantinos
O problema foi explicado em um artigo por LESLIE 
LAMPORT, ROBERT SHOSTAK e MARSHALL 
PEASE na Microsoft Research em 1982
Descreve o mesmo cenário, porém, mais de dois 
generais precisam chegar a um momento de 
atacar seu inimigo comum.
1. Comandante envia v a todos os tenentes;
2. L1 envia v para L2 | L3 envia x para L2;
3. L2 ← maioria (v, v, x) == v.
OM (1): O tenente 3 é um traidor - ponto de vista de 
L2
1. O comandante envia x, y, z para L1, L2, L3, 
respectivamente
2. L1 envia x para L2, L3 | L2 envia y para L1, L3 | 
L3 envia z para L1, L2
3. L1 ← maioria (x, y, z) | L2 ← maioria (x, y, z) 
| L3 ← maioria (x, y, z)
Tolerância a Falhas Bizantinas
Para que o modelo pBFT funcione, a suposição é 
que a quantidade de nós maliciosos na rede não 
pode simultaneamente igualar ou exceder ⅓ do 
total de nós no sistema em uma determinada 
janela de vulnerabilidade.
Quanto mais nós no sistema, mais 
matematicamente improvável é que um número 
próximo de ⅓ dos nós gerais seja malicioso
Tolerância a Falhas Bizantinas
O algoritmo efetivamente fornece vivacidade e 
segurança, desde que no máximo (n-1) / 3, onde n 
representa o total de nós, seja malicioso ou 
defeituoso ao mesmo tempo. 
Tolerância a Falhas Bizantinas
Cada rodada de consenso de pBFT (chamadas 
visualizações) se resume a quatro fases. Esse 
modelo segue mais o formato de “comandante e 
tenente” do que o problema dos generais 
bizantinos puros, onde todos os generais são 
iguais, devido à presença de um nó líder. 
Tolerância a Falhas Bizantinas
➔ Um cliente envia uma solicitação ao nó líder 
para chamar uma operação de serviço.
➔ O nó líder faz multicast da solicitação para 
os nós de backup.
➔ Os nós executam a solicitação e, em 
seguida, enviam uma resposta ao cliente.
➔ O cliente aguarda 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.
Tolerância a Falhas Bizantinas
O nó líder é alterado em um formato de round 
robin durante todas as visualizações e pode até 
ser substituído por um protocolo chamado 
alteração de visualização se uma quantidade 
específica de tempo tiver passado sem que o nó 
líder faça o multicast da solicitação. 
Uma grande maioria de nós honestos também 
pode decidir se um líder está com defeito e 
removê-lo com o próximo líder na fila como 
substituto
Artigos
practical Byzantine Fault Tolerance(pBFT), Parikshit Hooda. 
{https://www.geeksforgeeks.org/practical-byzantine-fault-tolerancepbft/}
Understanding Blockchain Fundamentals, Georgios Konstantopoulos.
{https://medium.com/loom-network/understanding-blockchain-fundamentals-part-1-byzantine-fault-tolerance-245f46fe841
9}
https://auth.geeksforgeeks.org/user/Parikshit%20Hooda/articles
https://www.geeksforgeeks.org/practical-byzantine-fault-tolerancepbft/
https://medium.com/@gakonst?source=post_page-----245f46fe8419----------------------
https://medium.com/loom-network/understanding-blockchain-fundamentals-part-1-byzantine-fault-tolerance-245f46fe8419
https://medium.com/loom-network/understanding-blockchain-fundamentals-part-1-byzantine-fault-tolerance-245f46fe8419

Outros materiais