O que é falha bizantina?

Ao encontrar uma série de possibilidades e protocolos na internet acabamos também nos esbarrando com situações pouco convencionais. Principalmente por termos hoje uma comunicação que pode ser extremamente distribuída e veloz.

É normal que encontremos alguns erros na comunicação que podem ser ignorados, como por exemplo nos protocolos de transmissão ao vivo de vídeo, mas é importante não permitir que aconteça a mesma coisa em casos mais importantes, como no caso de uma blockchain de criptomoeda, na qual uma rede precisa agir em consenso, onde todos os nós dela precisam tomar uma decisão em unanimidade.

O que aconteceria caso um computador, servidor ou qualquer coisa parecida dissesse algo contrário do resto?

Hoje gostaríamos de explorar um pouco mais este assunto falando sobre o que é falha bizantina e como ela pode de fato se tornar um problema para o nosso cotidiano.

Falha Bizantina

O que é falha bizantina?

A falha bizantina recebe este nome por conta de um problema no modo de guerra dos bizantinos. Neste modelo era importante que todos os generais em diferentes acampamentos de frente de batalha agissem de maneira sincronizada.

Para isto, vários mensageiros levavam mensagens de um para o outro, mostrando as ordens do que deveria ser feito. Mas um batalhão que tivesse uma mensagem alterada por uma interceptação poderia destruir toda a formação.

O mesmo acontece em protocolos como o Blockchain, onde todos os nós precisam estar de acordo com algo. Mas dependendo da situação pode-se demorar muito tempo para garantir um consenso.

Então, algumas maneiras de garantir que a falha não ocorra e mesmo assim tudo siga adiante são os mecanimos de consenso como o PoW (Proof-of-Work), o PoS (Proof-of-stake) e outros. Mas a realidade é que até hoje só a PoW, utilizada principalmente no Bitcoin, acabou se mostrando a única alternativa que não iria necessitar de nenhuma outra confirmação externa.

Neste caso, a rede do Bitcoin coloca um desafio matemático complexo que requer alta capacidade computacional para aprovar uma transação. Assim, caso o validador tente fraudar uma transação apenas irá perder energia elétrica, capacidade computacional e tempo, já que os próximos validadores podem facilmente identificar que a transação não se encaixa nas demais por meio do ledger da blockchain.

Após uma certa quantidade de transações elas são criptografas, recebendo um hash, e armazenadas em um bloco.

Assim, é necessário que a maioria dos validadores envolvidos naquelas transações tenham chegado a um consenso sobre a validade delas para que seja possível gravá-las em um bloco e enviar para rede.

Caso a maioria não chegue a um consenso, a transação simplesmente não é realizada, mas de todo modo, a tentativa de fraude na rede também não consegue se concretizar, evitando portanto a falha bizantina.

 

Considerações finais

Como você pode ver, o conceito de falha bizantina precisa ser sanado para garantir uma comunicação perfeita e harmoniosa. Principalmente em casos de blockchains para criptomoedas, onde é importante evitar o erro de gastos duplos.

Seja como for, hoje a forma mais segura que temos é a PoW (Proof of Work) ou prova de trabalho, inaugurado pelo Bitcoin inaugurou e até hoje tem se mostrado um sucesso para garantir a autenticidade e segurança da rede, muito embora outras soluções tenham surgido visando mais uma maior escalabilidade e baixas taxas, em troca de uma segurança não tão potente assim, mas ainda aceitável.

Até a nossa próxima dica!

Deixe um comentário

O seu endereço de e-mail não será publicado.