Criptocurrencies baseadas em Blockchain são um sujeito ao chamado ataque de 51%: quando mais da metade do poder computacional de uma rede criptocurrency é controlada por alguma organização ou grupo de indivíduos, torna-se possível realizar transações conflitantes ou maliciosas.
Um ataque de 51% é um ataque potencial (ou ataque em outra rede blockchain), com o resultado de que uma organização pode controlar a maior parte da taxa de hash. Tal situação pode levar à falha da rede. Em outras palavras, um atacante com uma taxa de hash de 51% tem poder suficiente para deliberadamente excluir ou reordenar transações.
Um ataque de 51% permite que um atacante inverta transações que foram realizadas no momento do controle, o que é provável que leve ao problema da dupla despesa. Um ataque de maioria bem sucedido também permitirá que um atacante impeça que algumas ou todas as transações sejam confirmadas (também conhecido como negação de serviço), ou para impedir a mineração de alguns ou todos os outros mineiros, levando ao chamado monopólio de mineração.
Por outro lado, o ataque da maioria não permitirá que um atacante inverta transações de outras pessoas ou impeça a distribuição de transações na rede. Mudar a recompensa de um bloco, criar moedas do ar, ou roubar moedas que um atacante nunca teve, também é um cenário incrível. Um ataque de 51% só pode ser realizado em blockchains com um consenso algoritmo.
Proof-of-Work (PoW) é o primeiro algoritmo de consenso descentralizado bem sucedido no blockchain. PoW é usado em, (Ethereum planeja atualizar para prova de jogo),,,, e muitas outras plataformas.
Primeiro, os usuários enviam umas às outras moedas. Em seguida, todas as transações formam blocos e são registrados em um blockchain ou em um chamado registro descentralizado.
Todas as transações são confirmadas usando cálculos matemáticos complexos, cuja precisão pode ser verificada por qualquer usuário da rede. Os mineiros lidam com a formação de um novo bloco e confirmação de transação. Se um mineiro conseguiu resolver o problema, um novo bloco é formado: o próximo conjunto de transações é colocado nele, e eles são considerados confirmados.
O maior perigo para o sistema é a duplicação de gastos. Então, um atacante que possui 51% do poder pode criar um blockchain alternativo escondido e usá-lo para confirmar suas próprias transações. Por exemplo, a confirmação de uma transação na rede Bitcoin requer seis blocos de transação abertos. Assim, um atacante deve criar seis blocos. Depois retira os fundos do bloco principal. Por exemplo, transferências para outra conta ou paga a compra, e abre sua própria Cadeia de blocos, causando um conflito no sistema. Se ambos os mineiros encontraram a solução certa para um bloco, então uma rede é ramificada, onde ambas as soluções têm o direito de existir e estão incluídas no próximo bloco de transações.
Os restantes 49% da capacidade da rede confirmam o débito de fundos da conta. No entanto, uma vez que o atacante tem poder de controle, o sistema reconhece sua rede para ser fiel, na qual ele ainda não debitou os fundos, e ele vai descartar a transação confirmada por outros mineiros, uma vez que o bloco do atacante é mais complexo. Assim, o sistema mostrará o saldo antes da transação e o atacante será capaz de gastar dinheiro várias vezes mais, mas com cada tempo subsequente, o custo das moedas irá diminuir.
A dupla retirada de fundos é possível com menos controle de capacidade, mas uma concentração de 51% fornece uma garantia de 100% de que o bloco do atacante será reconhecido como o bloco direito.
Tendo em mãos 51% da capacidade do sistema, o atacante praticamente se torna o proprietário do blockchain, pode gerar blocos, confirmar e rejeitar transações de forma independente. Depois de ter tomado o sistema, ele também pode parar o seu trabalho, recusando-se a confirmar todas as transações.
Um ataque de 51% tem quatro tipos de consequências, que por vezes podem ser muito perigosas para as vítimas da rede:
Um deles é a mineração egoísta quando os atacantes tiram vantagem de sua maioria em termos de receber recompensas. Se um bloco é minado simultaneamente, os mineiros devem votar em cujo bloco escolhem. O vencedor tem mais oportunidades para o próximo quarteirão. Uma vez que a maior parte da rede deve tomar uma decisão sobre isso, um atacante pode usar sua capacidade de extrair seus próprios blocos e continuar a mineração no topo, sem esperar pela aprovação da rede.
Em segundo lugar, um atacante que tenha uma maioria de 51% na rede pode decidir cancelar transações. Ele pode destruir toda a rede sem aceitar quaisquer transações para qualquer um dos blocos que o atacante selfishly extrai.
A terceira consequência é um problema que cada blockchain está mais preocupado e procura evitar a todo custo. Você já sabe disso porque isso é uma despesa dupla, o que significa gastar a mesma moeda em várias transações ao mesmo tempo. Uma vez que a natureza descentralizada do blockchain evita custos duplos, um atacante com 51% tem a autoridade central para isso, uma vez que outros mineiros estão comprometidos. Os custos duplos contínuos levarão o valor de uma moeda criptocurrency a zero. O último ocorre quando o atacante cria um garfo duro no blockchain. A razão para tal pode ser a utilização de custos duplos decorrentes da separação das cadeias.
Alternativamente, outra razão pode ser a luta com outros mineiros que podem ter conseguido criar um bloco. Neste caso, o atacante pode quebrar a corrente para este novo bloco.
Em 2014, o Ghash.io pool assumiu o controle de 55% da rede Bitcoin. Apesar do fato de que este não foi um ataque planejado, e o pool voluntariamente concordou em reduzir os indicadores de energia e prometeu não exceder 40% do limiar, a taxa de Bitcoin caiu em um quarto do custo.
Em 2016, Krypton e Shift – two cryptocurrencies operando na base Ethereum, foram atacados por um grupo de hackers que se intitulavam "Team 51". Como resultado, os fraudulentos conseguiram débito duplo e roubar 22.000 moedas através de Bittrex.
O caso mais anterior ocorreu com a criptomoeda Verge, mas este ataque foi possível devido a um erro no código. Criptocurrency anônima tem funcionado de uma vez em vários algoritmos que tiveram que mudar com a criação de cada novo bloco. No entanto, o código tem um bug devido ao qual os atacantes enviaram blocos com um falso timestamp para a rede.
Os blocos foram gerados e enviados a cada segundo, em vez de cada 30 segundos. O ataque durou três horas. Os Hackers conseguiram capturar 99% dos blocos. De acordo com os dados oficiais fornecidos pelos desenvolvedores, foi possível retirar 250 mil tokens do sistema de forma fraudulenta. No entanto, de acordo com os usuários, o número real chega a quase 4 milhões.
Um ataque de 51% a blockchains de cryptocurrencies populares requer grandes investimentos. De acordo com o site Crypto51, uma hora de ataque de 51% na rede Bitcoin custará US $ 355,883, na rede Ethereum – us $ 98,572, e na blockchain clássico Ethereum – us $ 4,534. O custo do ataque depende do poder computacional da rede.
Cientistas do Instituto Indiano de tecnologia realizaram um estudo de blocos de diferentes criptocurências e concluíram que o blockchain bitcoin é a rede descentralizada mais segura. De acordo com os pesquisadores, um ataque de 51% ao blockchain da BTC não trará lucro, uma vez que a rede está protegida do duplo gasto. Um atacante só será capaz de adicionar ou remover informações de transação dos blocos, enquanto as moedas permanecerão nas carteiras dos usuários.
Neste momento, para proteger a criptoacurrency do ataque, deve-se aumentar a popularidade e o poder da rede, respectivamente, para oferecer novas ideias e atrair novos públicos.
Enquanto a mineração continuar rentável e houver um grande número de usuários na rede, é extremamente difícil atacar o sistema. Assim que o lucro da mineração for menor que o custo de compra e manutenção do equipamento, os mineiros retirarão seu poder do sistema e a rede ficará vulnerável.
Outra solução é o algoritmo PoS. Apesar de existir a possibilidade teórica de ataque, não é absolutamente rentável. A fim de assumir 51% da rede, você deve adquirir 51% de todos os tokens do sistema, o que é ainda vezes maior do que o custo do equipamento de computação. Além disso, não é um fato que os desenvolvedores não vão notar isso a tempo e não vão tomar medidas rápidas para neutralizar o ataque.
Se um ataque de 51% for detectado a tempo, então os desenvolvedores podem usar hardforks.
Hard fork é uma mudança fundamental no código de criptomoeda, após o que a conexão com o software antigo será completamente quebrada. Durante o hard fork acontece a criação de uma nova criptomoeda e a divisão da rede.
Para os detentores de moedas, hard fork não é essencial, uma vez que no futuro eles terão a oportunidade de transferir economias para um novo sistema. No entanto, para o atacante, tal solução significa perder o valor do saque.