Muitas pessoas ainda têm dúvidas e receios de como um sistema descentralizado, como a rede do Bitcoin, pode funcionar de maneira eficiente e resistente, sem que hajam agentes maliciosos na rede e sem que a rede seja comprometida.
Uma das formas de tentar explicar isso é utilizando o conceito de Teoria dos Jogos, juntamente à alusão ao problema dos Generais Bizantinos.
A partir de alguns fundamentos e conceitos podemos entender o algoritmo de consenso (PoW – Proof of Work) que foi idealizado por Satoshi Nakamoto, e como isso foi a maior engenhosidade para resolver o problema da falha bizantina.
A Teoria dos Jogos
A teoria dos jogos é um conceito fundamental para entender o desenvolvimento das criptomoedas, sendo uma das razões pela qual o Bitcoin está prosperando desde 2009, quando seu primeiro bloco foi minerado.
Essa teoria é um método de matemática aplicada usado para estudar o comportamento dos indivíduos quando estes são postos em situações em que as tomadas de decisões são feitas de forma racional.
Nesse sentido, é idealizado um cenário, o “jogo”, que é o ambiente de interação, e nesse cenário os jogadores, que são os indivíduos, tendem a agir de forma racional quando seus resultados estão interligados à decisões de terceiros ou as regras do jogo.
Assim, um jogo é vislumbrado como uma interação estratégica entre indivíduos e, nesta interação, há interdependência recíproca.
Este conceito foi elaborado na área econômica para investigar padrões comportamentais nos negócios, mercados e consumidores.
Os jogos teóricos são usados como ferramentas para examinar o potencial comportamento dos indivíduos que estão interagindo e os possíveis resultados das suas ações dentro de uma determinada circunstância.
Um dos exemplos mais comuns para tentar vislumbrar a teoria dos jogos é o dilema do prisioneiro.
O Dilema do Prisioneiro
O dilema do prisioneiro basicamente consiste em um cenário onde se tem dois prisioneiros que estão sendo interrogados depois de terem sido presos por cometer um crime. Nesse cenário, os prisioneiros estão sendo interrogados em salas diferentes e o promotor que os interroga tenta fazer com que um entregue o outro pelos crimes cometidos.
É uma espécie de delação premiada, se o prisioneiro A entregar o prisioneiro B, o A fica livre e o B fica preso por três anos, só que para isso o B teria de ficar calado.
Entretanto, há a possibilidade de um delatar o outro, ai nesse caso os dois seriam presos por dois anos. E há a última possibilidade, que é nenhum dos dois delatar o outro, nesse caso ambos vão presos, porém só ficam um ano, por falta de provas.
Do ponto de vista individual, a melhor opção seria o A delatar o B e sair livre, enquanto que o B vai preso, ou vice-versa. No entanto, não há como prever se o outro prisioneiro ficaria calado ou não. Logo, a melhor opção de verdade seria nenhum delatar o outro, pois assim, mesmo que eles fossem presos, só passariam um ano, ao invés de dois.
Esse dilema tem diversas variantes, mas com essa simples alusão é possível entender como a teoria dos jogos investiga o comportamento humano e os possíveis resultados de acordo com a tomada de decisão dos indivíduos.
Relação com criptomoedas
A teoria dos jogos quando aplicada às criptomoedas possui uma importante função, pois é usada para desenvolver um sistema econômico seguro e confiável, como o do Bitcoin.
Essa teoria que deu início ao conceito de criptoeconomia, que é basicamente a aplicação dos estudos de economia alinhados aos protocolos de blockchain e as consequências que esse protocolo pode apresentar.
A criptoeconomia estuda o comportamento dos nodes, baseado nos incentivos que o protocolo oferece, assim, analisando as decisões mais prováveis dos nodes.
A combinação de teoria dos jogos com criptografia representa uma propriedade que chamamos de BFT (Byzantine Fault Tolerance), ou tolerância a falha bizantina.
O esquema de falha bizantina faz parte do problema dos generais bizantinos, que é facilmente aplicado a blockchain e nos faz entender o algoritmo de consenso.
Problema dos Generais Bizantinos
Esse conceito foi concebido em 1982, como um dilema que ilustrava um cenário onde um grupo de generais bizantinos poderiam ter dificuldades de comunicação na tentativa de chegar a um acordo sobre como iriam agir em um movimento de guerra.
Nesse contexto, cada general tem seu próprio exército, e cada um deles está em uma região diferente da cidade em que pretendem atacar.
Os generais precisam se comunicar entre si, a fim de chegar em um acordo sobre se irão atacar ou não aquela região. Não importa qual a decisão que eles tomem, o que importa é que todos ajam em consenso para executar as táticas em conjunto e de maneira harmoniosa.
Nesse contexto diversas coisas podem ocorrer entre o processo de comunicação, mas, no fim, quando todos conseguirem se comunicar e chegar a um consenso sobre como irão agir, pode ser que um ou outro general deseje agir de maneira maliciosa, mesmo tendo ido de acordo com o consenso anteriormente, o que levaria a um desastre na ação executada. Isso é o que chamamos de falha bizantina.
Generais Bizantinos, blockchain e BFT
Se formos aplicar esse conceito dos generais à blockchain, é como se cada node da rede fosse um general e cada node precisa entrar em consenso com o outro sobre o estado atual do sistema.
No entanto, em uma rede distribuída é necessário que pelo menos 2/3 da rede esteja de acordo e sejam confiáveis, agindo de maneira honesta. Dessa forma, se a maioria for de acordo, isso evita uma falha generalizada, mesmo que uma pequena parte haja de maneira maliciosa.
Portanto, como citado acima, um sistema que possui a propriedade de BFT, ou seja, de resistir a falha bizantina, é um sistema que tem a capacidade de continuar operando de maneira eficiente, mesmo que alguns nodes da rede desejem agir de maneira maliciosa.
Existem diversas maneiras de construir um sistema BFT, para que ele possa resistir a falha bizantina. Uma dessas maneiras é elaborar um mecanismo de consenso, nesse caso, o algoritmo do Bitcoin é o Proof-of-Work.
Algoritmo de Consenso: Proof- of- Work (PoW)
O PoW é o algoritmo de consenso criado por Satoshi Nakamoto. É um mecanismo que garante que os usuários não gastem um dinheiro que eles não têm o direito de gastar, ou seja, não ajam com maliciosidade dentro da rede.
O PoW serve para evitar o gasto duplo (double spending), quando seu dinheiro é gasto duas vezes. Em um sistema de dinheiro digital é possível que ocorra o gasto duplo, pois se trata de algo que está registrado em uma rede, então poderia ser copiado e realizado transações com isso diversas vezes.
É como se fosse uma música que você baixa no seu computador e copia ela e manda para várias pessoas.
O Proof of Work utiliza de teoria dos jogos e criptografia para funcionar como um algoritmo de consenso eficiente. Esse algoritmo, alinhado ao processo de mineração, juntamente com técnicas criptográficas é o que faz a rede da blockchain ser tão segura.
Criptomoedas que utilizam o algoritmo Proof of Work incentivam os nodes da rede a agirem de maneira honesta, caso contrário eles perdem todos os fundos que arrecadaram com o incentivo e são expulsos da rede.
Conclusão
A aplicação da Teoria dos Jogos é para modelar e examinar como os seres humanos se comportam e tomam decisões com base em sua racionalidade e, nessa teoria, sempre devem ser considerados cenários de redes distribuídas.
Graças ao equilíbrio entre Teoria dos Jogos e criptografia, o algoritmo de consenso (PoW) foi capaz de tornar a Blockchain do Bitcoin um sistema descentralizado resistente a ataques.
Vale ressaltar que o nível de segurança de uma Blockchain depende muito do seu protocolo, que é diretamente relacionado ao número de participantes da rede. Logo, grandes redes distribuídas são mais confiáveis que outras menores.
Traduzido e adaptado de: https://academy.binance.com/en/articles/game-theory-and-cryptocurrencies