O que é um ataque de 51%?

O bitcoin está em risco?

Nesse artigo vamos discutir a maior vulnerabilidade de uma blockchain: um ataque de 51% (“51% attack” em inglês). O bitcoin, por ser a primeira e mais conhecida aplicação da blockchain, será usado como exemplo.

O que é um ataque de 51%?

Um ataque de 51% acontece quando uma pessoa ou grupo de participantes em uma blockchain obtém 51% ou mais do poder de computação da rede. Por exemplo, se um grupo de mineração (mining pool) de bitcoin conseguisse juntar supercomputadores suficientes para serem responsáveis por minerar mais do que metade de todos os blocos.

Por quê isso é um problema?

Como discutimos no artigo “O que é blockchain afinal?”, se mineradores tentarem validar blocos maliciosos na corrente, os outros participantes da rede optarão por excluir este bloco da corrente e continuar a minerar na corrente válida, resolvendo o problema. Porém, para que isso funcione, é necessário que a maioria da rede (mais de 50%) escolha não continuar a corrente do bloco malicioso. Isto é porque a corrente mais longa é considerada válida, e para criar uma corrente mais longa, é necessário pelo menos um pouco mais do que metade dos participantes concordarem em excluir a corrente do bloco malicioso.

O que acontece quando um grupo que trabalha junto com as mesmas intenções obtém 51% do poder da rede é que teoricamente eles podem criar blocos maliciosos e validá-los, já que possuem o poder da maioria. Com isso, seria possível criar transações que não são válidas, como gastar a mesma moeda duas vezes, no caso do bitcoin.

Estamos em risco?

Caso um ataque de 51% ocorresse, ele poderia sim ser devastador para uma blockchain, mas existem várias considerações a serem avaliadas para determinar quão grande é o risco disso realmente acontecer.

  1. Há um benefício envolvido em obter 51% do poder da rede?

Um dos argumentos mais importantes em avaliar o risco que as blockchains correm é se há realmente benefício em possuir 51% do poder de computação da rede com intenções maliciosas.

Em 2014, quando a rede do bitcoin não era tão grande como é hoje, um grupo de mineradores chamado ‘ghash.io’ obteve por um curto período maioria no poder de computação da rede. Porém, por decisão própria, rapidamente acabaram com esta maioria e prometeram limitar seu poder de mineração até um máximo de 40% no futuro. Eles fizeram isso porque sabiam que ao manter 51% ou mais do poder, todos os outros participantes iriam perder confiança na rede ao ver as possibilidades para um ataque, e parariam de usar o bitcoin, causando o preço a cair drasticamente e possivelmente levando a moeda à beira do precipício. Com isso, os bitcoins ganhos pelos mineradores como recompensa por minerar blocos e com seu ataque valeriam muito menos, se não nada.

Este acontecimento de 2014 mostra como a blockchain foi desenvolvida de maneira que os interesses próprios de cada um também sirvam para manter e melhorar a rede. Com 51% do poder de computação na blockchain do bitcoin, vale muito mais a pena usar seus poderes “para o bem” garantindo a segurança da rede do que “para o mal”, porque aqueles que trabalham para ajudar a rede são bem recompensados.

2. Quão difícil/fácil é obter 51% do poder de computação em uma blockchain?

Em redes como o bitcoin atualmente, é extremamente difícil obter 51% da rede. Isto é porque existem dezenas de milhares de mineradores em todo o mundo, e os computadores usados para minerar bitcoin são extremamente caros, fazendo com que haja um custo muito alto para adquirir todo o equipamento necessário, assim como mantê-lo operando como deveria. Custo que seria em vão, por causa do argumento apresentado acima.

Quanto menor a rede, maior o risco de um desses ataques. É verdade então que novas plataformas estão vulneráveis a este risco enquanto estiverem ainda em sua infância. Porém, existem várias maneiras de previnir tais ataques em blockchains novas que podem ser usadas permanentemente ou até a rede crescer e poder se sustentar sozinha. Um exemplo é criar restrições sobre qual tipo de equipamento pode ser usado para verificar blocos, e outro é que os criadores da blockchain mantenham uma centralização até que a rede cresça e possa operar completamente de uma maneira decentralizada. Existem também outras formas de consenso que não usam mineradores e que podem ser mais efetivas em previnir esse ataque dependendo do caso. No entanto, esta discussão é um pouco avançada para o artigo.

3. E se alguém quiser simplesmente destruir a rede?

É possível sim que alguém queira obter 51% de uma rede simplesmente para destruí-la, e não para ganhos financeiros. Porém, mesmo que possível, isto é extremamente difícil, porque seria necessário que alguém ou um grupo tenha acesso a enormes recursos — tanto financeiros como outros diversos; tenha uma visão maliciosa e seja capaz de ignorar os possíveis ganhos que vêm com ser benevolente; consiga passar despercebido pelo resto da rede, que por ser transparente, faz com que seja possível monitorar quanto poder possuem diferentes participantes, possibilitando sugestões para mudanças e restrições para prevenirem um ataque que aparenta ser iminente.

Conclusão: precisamos ter medo?

Como qualquer sistema, a tecnologia blockchain não é perfeita, e consequentemente não é 100% segura, assim como nada no mundo é. Por essa razão, existem vulnerabilidades que podem ser usadas para atacar uma rede blockchain. No entanto, a blockchain possui maneiras para prevenir ataques, e incentiva participantes a serem benevolentes. Um ataque de 51%, mesmo não sendo impossível na teoria, é extremamente difícil de executar na prática, e fica cada vez mais difícil quanto mais a rede cresce. A medida que a adoção desta nova tecnologia aumenta mundialmente, mais a sua segurança cresce, e desenvolvedores de todo o mundo estão buscando ativamente novas maneiras de fazer blockchains mais imunes a ataques. Mas uma coisa é certa: a blockchain deixa no chinelo as soluções que usamos atualmente.


Se quiser ler mais sobre blockchain em português, clique abaixo:

Mais artigos sobre blockchain

Se gostaria de fazer perguntas, pode conversar com nosso robô ou um membro do nosso time no Facebook:

Chatbot de blockchain

Se morar ou estiver em Belo Horizonte, talvez se interesse por nossas palestras, eventos, e cursos sobre blockchain:

BlockchainBH website

BlockchainBH no Facebook

Buscamos brevemente também começar a oferecer eventos em outras cidades, registre-se conosco para saber mais:

Registro