Publicidade
Vimos, na primeira parte deste artigo, como os mineradores são responsáveis por coletar e validar a autenticidade das transações que ocorrem na rede, participando de um processo competitivo de registro destas em um bloco, sendo então recompensados com bitcoins recém-emitidos. O que resta explicar é de que forma exatamente esse processo evita o gasto duplo.
Cada bloco registrado não é um conjunto de informações isolado na rede. Na verdade, cada bloco está ligado ao bloco imediatamente anterior. Por meio da criptografia, a solução do problema matemático de Prova de Trabalho incorpora uma referência ao bloco imediatamente anterior; este está vinculado ao bloco precedente, e assim sucessivamente, formando uma corrente de blocos, o blockchain, que se estende até o primeiro bloco criado na história do Bitcoin, o bloco gênese.
Assim, o blockchain contém um histórico de todas as transações que ocorreram e foram validadas e registradas na rede. Nesse histórico é possível verificar a ordem cronológica de todas as transações, permitindo rastrear o percurso de cada moeda gasta até a sua origem, quando foi criada do nada por algum minerador.
Continua depois da publicidade
Contudo, o que aconteceria se alguém transmitisse à rede duas transações contendo a mesma moeda, mas com destinatários distintos (o gasto duplo)? Nenhum minerador validará as duas transações no mesmo bloco, pois uma delas não terá fundos (não terá origem). O minerador terá que escolher e somente uma será incluída, sendo a outra rejeitada.
E o que ocorre se dois mineradores solucionarem a Prova de Trabalho simultaneamente, registrando dois blocos distintos na rede, em que cada um contém uma das transações acima? Haverá nesse caso uma bifurcação da corrente de blocos (fork on the blockchain), em que alguns mineradores trabalharão para estender a corrente “A”, e outros a corrente “B”. Nesse momento, a tentativa do gasto duplo está funcionando e há um certo “impasse” (qual está valendo?), pois uma transação foi validada e registrada na corrente “A” e a outra na corrente “B”.
Mas no instante em que a próxima Prova de Trabalho for resolvida e um novo bloco for registrado na rede, esse impasse desaparece, pois um minerador que adiciona um novo bloco estará trabalhando somente em uma das correntes bifurcadas, e essa é a que será estendida. Em face disso, os demais mineradores deixarão de lado a corrente mais curta e dedicarão seus esforços para trabalhar na corrente mais longa. Dessa forma, a tentativa de gasto duplo é frustrada, porque somente uma das transações foi considerada válida; a outra ficou para trás em um bloco órfão que será rejeitado pela rede.
Continua depois da publicidade
Por que todo esse mecanismo garante segurança e confiabilidade à rede e às transações que nela ocorrem? Primeiro, porque “quebrar” essa corrente de blocos é computacionalmente impraticável – é preciso solucionar a Prova de Trabalho do bloco, o que exige força computacional. Ademais, para alterar um bloco mais antigo na corrente, é necessário resolver não somente a Prova de Trabalho deste, mas também a de todos os blocos subsequentes, uma vez que todos estão vinculados e qualquer mínima alteração nas informações de um bloco exigirá uma nova Prova de Trabalho.
Então, quanto mais distante no tempo está um bloco nessa corrente, mais seguras estão as transações nele contidas. Por isso, em transações de maior volume, é prudente aguardar cerca de seis blocos para que uma operação seja considerada praticamente irreversível (ao redor de uma hora. Veja o cálculo de probabilidades no paper original de Nakamoto).
Mas o que aconteceria se algum minerador detivesse uma força computacional maior do que a metade de todo o restante da rede – o chamado “ataque dos 51%”? Ele provavelmente conseguiria resolver a Prova de Trabalho antes dos demais, o que lhe renderia novos bitcoins. E se esse minerador fosse mal-intencionado? O máximo que ele poderia fazer é reverter alguma transação sua enquanto estiver no controle. No entanto, não poderá emitir mais bitcoins do que o permitido, não poderá roubar bitcoins de outros usuários e tampouco poderá impedir que transações ocorram na rede.
Continua depois da publicidade
Dada a capacidade de processamento atual da rede, estima-se que seriam necessários mais do que meio bilhão de dólares de investimento em maquinário para deter mais do que a metade da força computacional da rede. A realidade é que, economicamente, faz muito pouco sentido levar a cabo um ataque como esse; é mais rentável obedecer às regras do protocolo e atuar honestamente.
Hoje em dia, muitos mineradores se aglutinam em chamados pools de mineração, para incrementar suas chances de resolver a Prova de Trabalho, dividindo as recompensas entre os participantes do pool. Disso decorre que a preocupação com um ataque de 51% já está presente no momento, pois alguns pools detêm um percentual bastante significativo da força computacional da rede – embora o estrago que um ataque possa causar não seja tão relevante, como explicado acima. Além disso, eles dependem dos usuários, e uma vez que um pool optasse por agir de forma fraudulenta, os usuários ainda estariam livres para deixá-lo e migrar para outro.
Outra forma de violar o blockchain seria quebrando o algoritmo usado na Prova de Trabalho (SHA256), o que permitiria a um minerador solucionar o problema matemático com pouquíssima força computacional – em síntese, isso tornaria a Prova de Trabalho inócua. Atualmente, os algoritmos de criptografia usados pelo Bitcoin são bastante seguros.
Continua depois da publicidade
Entretanto, se isso algum dia ocorrer – a quebra do algoritmo –, o protocolo pode ser alterado de modo a adotar algoritmos mais avançados (veja aqui uma lista de potenciais problemas do sistema). E quando isso suceder, não é somente o Bitcoin que estará vulnerável, mas sim todos os sistemas bancários do mundo, sites de e-commerce, de cartão de crédito, etc.; enfim, qualquer rede que faz uso da criptografia para segurança de sistemas.
Todo esse processo de mineração tem algumas implicações essenciais. Primeiro, todas as transações são públicas. Isso é uma inversão do modelo tradicional, em que todas as operações que ocorrem em um banco, por exemplo, são desconhecidas do público – cada cliente visualiza somente os movimentos da sua conta.
E embora sejam públicas as transações, não é possível identificar quem são as partes transacionando. A criptografia proporciona que cada usuário use um pseudônimo para sua conta, o que se assemelha a uma conta numerada em um banco suíço.
Continua depois da publicidade
Segundo, e o fundamental à segurança e inviolabilidade da rede, sendo as transações públicas e sendo qualquer usuário capaz de minerar, todos os usuários estão constantemente verificando e comprovando que as regras estabelecidas estão sendo cumpridas e que não há fraude alguma.
A mineração, em suma, serve aos propósitos de assegurar a inviolabilidade da rede e emitir novos bitcoins em circulação; este é o incentivo daquele. No entanto, os mineradores podem ser recompensados por tarifas de transação, as quais são voluntariamente pagas pelos usuários para que suas movimentações sejam mais rapidamente validadas. Uma vez atingido o limite máximo de 21 milhões de bitcoins, o incentivo aos mineradores virá inteiramente dessas tarifas (transaction fees).
No Bitcoin, uma rede descentralizada significa não apenas que inexiste uma entidade central fiscalizando o sistema, mas também – e sobretudo – que todos os usuários monitoram e asseguram que o sistema funcione corretamente. Portanto, quando algum leigo afirma que o Bitcoin não é controlado por ninguém, é preciso corrigi-lo. A rede não é controlada por ninguém individualmente, sendo, em realidade, supervisionada por todos.
Por causa desse conjunto de atributos, a mineração é denominada um sistema de consenso distribuído e voluntário: a cada dez minutos, em média, os usuários chegam a um consenso sobre o estado da rede até aquele ponto, tendo sido verificadas e validadas todas as transações até então. As regras estabelecidas são cumpridas voluntariamente por todos os que participam da rede.
Esse novo paradigma implica que não é preciso confiar individualmente em nenhum usuário. Logo, não é necessário preocupar-se com atores mal-intencionados nem buscar vedar o acesso destes; é uma rede aberta. Os incentivos do protocolo levam cada ator individualmente a atuar de forma honesta.
O Bitcoin inverte o modelo de segurança de sistemas tradicionais – fechado e centralizado –, para um aberto e descentralizado, em que a confiança é atingida pela força computacional. Além de ser uma quebra de paradigma, o Bitcoin exige uma mudança cultural; simplesmente não estamos acostumados a essa forma de organização. Por isso, quando expostas pela primeira vez a essa nova realidade, as pessoas logo se perguntam “Mas quem controla? Quem é responsável pela emissão de moeda?”.
Como o próprio Satoshi Nakamoto conclui em seu paper original, “A rede é robusta na sua simplicidade não estruturada. Os usuários trabalham todos ao mesmo tempo com pouca coordenação”. Uma rede descentralizada, em que a confiança em terceiros é substituída pela força computacional e em que todos atuam voluntariamente fazendo cumprir as regras do protocolo, é um novo modelo de segurança.
Esta é a grande invenção tecnológica do novo milênio, o Bitcoin. Uma plataforma financeira global independente de uma entidade central responsável tanto pela emissão de moeda quanto pela segurança do sistema. As aplicações que essa nova estrutura de rede permitirão tampouco podem ser completamente previstas hoje em dia. Tal condição se assemelha bastante ao surgimento do computador pessoal na década de 70 e da internet nos anos 90. À época, poucos conseguiam prever o potencial de ruptura que essas tecnologias teriam. Hoje ninguém tem dúvidas. Acredito que o mesmo acontecerá com o Bitcoin, a mais importante invenção tecnológica desde a internet.