Como a blockchain é hackeada: ataques em redes descentralizadas
Principais insights
O artigo explora diversas formas de ataques a redes blockchain, destacando que, embora sejam mais seguras que bancos de dados centralizados, ainda estão vulneráveis a ameaças como ataque de 51%, gasto duplo, ataque Sybil, mineração egoísta, falhas em smart contracts e roubo de chaves privadas. Exemplos reais ilustram as perdas financeiras significativas que esses ataques podem causar, especialmente em projetos menores. O texto conclui que, à medida que as medidas de segurança evoluem, os ataques se tornam mais sofisticados, tornando a vigilância e inovação constantes essenciais para a segurança da blockchain.
A blockchain — um livro-razão distribuído que funciona como um banco de dados — é uma solução muito mais confiável para armazenar informações e realizar transações do que bancos de dados centralizados. Ainda assim, pode ser hackeada, e as tentativas são frequentes. Os ataques em redes descentralizadas variam em natureza, mas na maioria dos casos visam explorar brechas no mecanismo de consenso e assumir o controle do hash rate da blockchain. Isso permite que agentes maliciosos alterem dados no registro, causem confusão e roubem criptomoedas.
Neste artigo, vamos analisar como a blockchain é atacada e quais são as ameaças mais comuns.
Ataque de 51%
O ataque de 51% é a principal ameaça às blockchains. Ele se aplica a redes que usam o algoritmo de consenso proof-of-work (PoW).
Como o ataque funciona
A ideia básica é assumir o controle de mais de 50% do poder computacional da rede, ou hash rate. As consequências são semelhantes a ter participação majoritária em uma empresa: você pode tomar decisões e fazer o que quiser com a companhia em que detém as ações. No caso do hash rate, isso significa controlar 51% do poder computacional da blockchain.
Se os invasores controlam mais de 50% do poder de mineração, podem reordenar transações, anular confirmações e impedir que outros mineradores processem criptomoedas. Em resumo, podem causar caos e levar a falhas na rede. Também podem agir de forma discreta, como gastar a mesma criptomoeda várias vezes (gasto duplo).
Como conseguem tanto poder? Existem algumas opções, como alugar muitos equipamentos de mineração e assumir o controle — ou até mesmo montar — um pool de mineração. Outra possibilidade é enganar outros mineradores ou seguir pelo caminho ilegal, operando uma botnet de mineração com auxílio de malware.
Vale a pena o risco?
No entanto, atacar uma blockchain grande como o Bitcoin, onde a rede possui muitos nós e os custos de equipamentos e energia são altos, é praticamente impossível — e geralmente não compensa o esforço. Já projetos menores não estão imunes a esse tipo de ameaça.
Diversas redes já sofreram ataques de 51%, incluindo ZenCash (ZEN), Litecoin Cash (LCC), MonaCoin (MONA), Verge (XVG) e Bitcoin Gold (BTG).
Exemplos reais
Após realizar um ataque de 51%, os invasores podem explorar qualquer vulnerabilidade do protocolo. Em geral, porém, o objetivo é o gasto duplo.
O ataque bem-sucedido à rede ZenCash (ZEN) em 2018 rendeu aos invasores US$ 550.000. Eles conseguiram fazer gasto duplo em duas transações importantes, de 13.000 e 6.600 ZEN, respectivamente. O ataque durou 110 blocos e 4 horas, sendo que o custo para a rede foi mínimo em comparação ao valor roubado — cerca de US$ 30.000.
Outro exemplo é o Ethereum Classic, que foi atacado três vezes em 2020 por um hacker que alugou poder computacional do serviço NiceHash. Entre julho e agosto, o hash rate do ETC caiu drasticamente, e o invasor aproveitou a oportunidade. Ele alugou GPUs com hash rate superior a 51% de toda a rede Ethereum Classic, conseguindo fazer gasto duplo de mais de 1 milhão de ETC, equivalente a mais de US$ 9 milhões na época.
O custo para alugar o hash rate foi de centenas de milhares de dólares, então o “lucro” final exato é desconhecido. Infelizmente, há muitos casos semelhantes.
Gasto duplo
O problema do gasto duplo surgiu muito antes da blockchain e das criptomoedas.
Em resumo, quando você troca um item por outro, se não concluir a transação naquele momento e prometer cumprir sua parte depois, sempre existe o risco de não ter o ativo posteriormente.
Teoricamente, você pode entregar um documento prometendo pagamento (contrato, nota, etc.) a dois ou três destinatários, mesmo que o ativo prometido exista em apenas uma cópia. Isso é o gasto duplo. Na blockchain, o princípio é exatamente o mesmo.
Como funciona o gasto duplo
O gasto duplo ocorre quando um invasor gasta as mesmas moedas duas ou mais vezes. Por exemplo, um usuário que possui 1 BTC envia para vários destinatários ao mesmo tempo e recebe algo em troca. Do outro lado, apenas uma pessoa realmente recebe esse 1 BTC.
Quando a rede funciona corretamente, apenas uma transação recebe aprovação da maioria dos nós, e isso é o que normalmente acontece. Existem mecanismos de segurança embutidos nas blockchains para evitar esse tipo de ataque. Ainda assim, o risco de gasto duplo permanece.
Há diferentes formas de possibilitar o gasto duplo, sendo o ataque de 51% um exemplo. Quando um invasor controla mais da metade do hash rate, pode gerar novos blocos de forma independente, modificá-los e rejeitar certas transações enquanto confirma apenas as “necessárias”.

Neste exemplo, os invasores criaram um fork da cadeia principal e confirmaram transações falsas enquanto cinco transações legítimas eram processadas.
Durante esse período, seria possível enviar moedas para uma exchange, concluir transações que exigem 1 a 5 confirmações da blockchain e, em seguida, receber outra criptomoeda ou moeda fiduciária em troca.
Depois, quando a “janela de ataque” se fecha, a série de blocos falsos é descartada, mas para o invasor, o cenário é o seguinte: ele colocou seus tokens em uma exchange e os vendeu, mas quando a blockchain restabelece o consenso, ainda possui todas as moedas na blockchain original. O que foi vendido era, na verdade, uma criptomoeda "falsa".
Ataque Finney
O ataque Finney recebe esse nome em homenagem ao primeiro destinatário de Bitcoin, Hal Finney, que também foi o primeiro a sugerir a possibilidade de gasto duplo de criptomoedas na blockchain.
O ataque Finney é uma variante do gasto duplo que pode ocorrer quando uma contraparte aceita uma transação não confirmada.
O essencial desse ataque é que um minerador pode gerar um bloco e incluir uma transação de seu endereço "A" para outro endereço seu, "B", sem transmiti-la imediatamente para a rede. Em seguida, ele executa outra transação do endereço "A" para o endereço "C", que pertence a outro usuário. Se esse usuário aceitar a transação sem confirmação da rede, o golpista transmite o bloco anterior contendo a primeira transação. Assim, a transação de "A" para "C" se torna inválida e o atacante obtém duplo benefício.
Ataque de corrida
Esse tipo de ataque é uma corrida entre duas transações. Um golpista envia as mesmas moedas do mesmo endereço, em dispositivos diferentes, para dois destinatários ao mesmo tempo. Ambos enviam seus bens ou criptomoedas, mas a segunda transação processada é invalidada.
Esse ataque só é possível se o comerciante aceitar uma transação não confirmada. Para evitar cair nesse golpe, basta aguardar pelo menos uma confirmação da operação.
Ataque Sybil
Esse ataque leva o nome de Sybil, personagem principal do livro de Flora Rheta Schreiber, que narra seu tratamento para transtorno dissociativo de identidade. A ideia é que hackers preencham a rede com nós sob seu controle antes de “cercar” o nó da vítima, passando a controlar todas as transações.
Explorando vulnerabilidades
Isso é praticamente impossível em grandes redes como o Bitcoin, já que os nós selecionam outros nós aleatoriamente para confirmar transações.
Por isso, ataques Sybil geralmente miram novos projetos de cripto. Ao se conectar à rede, um nó pode não conhecer os endereços IP de nós confiáveis e acaba solicitando essa informação.
Se o pedido chegar ao nó do invasor, ele pode responder com endereços de outros nós sob seu controle.
Isso permite que o hacker:
- Bloqueie as transações do usuário, desconectando-o da blockchain principal;
- Decida a qual bloco o usuário será “conectado” (geralmente, blocos onde ocorre gasto duplo);
- Monitore todas as transações do usuário.
Em resumo, os nós controlados pelo invasor podem convencer outros nós a aprovar dados incorretos.
Mineração egoísta
Blockchains que utilizam PoW têm uma vulnerabilidade que mineradores desonestos podem explorar: a possibilidade de confirmar múltiplos blocos simultaneamente.
O problema do fork
Se dois blocos são gerados ao mesmo tempo e ligados aos anteriores, a blockchain se bifurca em duas cadeias. O fork torna a arquitetura da blockchain mais complexa e desacelera as transações, por isso os mineradores devem transmitir imediatamente os dados de confirmação aos outros nós após confirmar um bloco, para evitar conflitos.
Ainda assim, os chamados mineradores egoístas ocultam essa informação dos demais participantes da rede e enganam os nós “honestos”, que continuam gerando uma nova cadeia de blocos e, assim, aumentam o tamanho do fork.
Exemplo prático
Suponha que um minerador egoísta minera o bloco 2.001, mas não o divulga para a rede. Os demais nós continuam minerando novos blocos a partir do 2.000. Isso significa que agora existem dois blocos reivindicando ser o 2.000º: um de um minerador honesto e outro do invasor. Ambos estão ligados ao próprio bloco 2.001.
Os fraudadores continuam gerando blocos e os adicionando à sua cadeia, que cresce. Depois, divulgam os dados do bloco 2.001 que mineraram; a rede reconhece que ele foi encontrado primeiro, classifica a cadeia egoísta como válida e descarta os blocos adicionados pelos nós honestos no mesmo período. Como resultado, os mineradores honestos não recebem recompensas e seus esforços são desperdiçados.
Ataques de roteamento
Esses ataques não estão diretamente ligados a falhas de segurança na blockchain em si. Eles exploram vulnerabilidades nos protocolos de conexão dos provedores de internet (ISPs).
Ao obter acesso ao protocolo, um hacker pode publicar rotas falsas. Esse tipo de ataque pode ser usado para gasto duplo. Se houver atraso na entrega de novos blocos, eles não ficam visíveis para a rede, criando uma janela em que a cripto pode ser gasta duas vezes.
Explorando vulnerabilidades em smart contracts
Smart contracts são programados por pessoas — e pessoas cometem erros.
O custo dos erros de código
Diversas vulnerabilidades podem ser encontradas em smart contracts. Pode ser um problema complexo e difícil de detectar, ou apenas um erro de digitação no código. De qualquer forma, qualquer falha pode causar a perda de milhões de dólares.
Segundo relatório da empresa de segurança Web3 Beosin, de 30 de junho de 2023, o valor total de criptomoedas perdidas por fraudes, hacks e golpes no primeiro semestre de 2023 foi de US$ 656 milhões. A maioria (56%) das criptos roubadas foi perdida devido a vulnerabilidades em smart contracts.
Não são apenas as falhas nos próprios smart contracts que podem levar a ataques, mas também a linguagem em que são escritos. Em 30 de julho de 2023, quatro pools de liquidez da Curve Finance foram comprometidos devido a uma vulnerabilidade no Vyper, a linguagem de programação usada nos smart contracts da Curve. A Curve Finance é uma exchange descentralizada com tecnologia AMM (automated market-making) e o principal hub de liquidez de stablecoins no DeFi. No total, cerca de US$ 60 milhões foram roubados, dos quais US$ 20 milhões foram recuperados por white hats e devolvidos à Curve. A maior parte do prejuízo veio do hack ao pool principal CRV/ETH, que foi totalmente drenado (cerca de US$ 40 milhões).
Ataques DDoS e de dilatação temporal
Ataques DDoS não são feitos para roubar cripto, mas para prejudicar projetos e desacreditar startups. Consistem no envio de um grande volume de transações inúteis (“poeira”) para a rede, dificultando suas operações, atrasando transferências de dados, atualizações da blockchain e a criação de novos blocos.
Ataques às chaves privadas
Para garantir a confidencialidade da transmissão de dados em canais públicos da blockchain, utiliza-se criptografia assimétrica, ou seja, criptografia com chaves privadas e públicas. Essas chaves são ligadas por um algoritmo matemático. Se você conhece a chave pública de alguém, pode criptografar uma mensagem para essa pessoa, que poderá ler ao descriptografar com a chave privada. Se você tem a chave privada, pode descobrir a chave pública — o inverso, porém, não é possível.
As chaves privadas dão acesso total a todos os ativos cripto do usuário, por isso são alvo de ataques.
Vulnerabilidades e proteção
A forma mais simples de obter acesso a uma chave privada e às criptos associadas é por meio de uma seed phrase, que pode ser obtida simplesmente roubando um papel com o código mnemônico, ou por outros métodos como engenharia social e phishing.
Para proteger sua chave privada e, consequentemente, todos os seus ativos cripto, você pode confiar o armazenamento à Tangem Wallet. A carteira Tangem não utiliza seed phrase, o que significa que ela não pode ser roubada. A chave privada é gerada e armazenada nos chips de dois ou três cards (o principal e os de backup), onde permanece e de onde não pode ser extraída.
Conclusão
É importante ter consciência de que a blockchain atualmente enfrenta diversas ameaças, incluindo todos os ataques de destaque citados acima, além de problemas específicos de cada rede, como erros de programação, métodos de criptografia e outros. Hackers estão constantemente buscando essas brechas e tentando explorá-las, seja identificando vulnerabilidades em smart contracts, explorando fraquezas na própria tecnologia blockchain ou atacando exchanges de criptomoedas.
Ameaças hipotéticas
Existem outras formas de ataque que, por enquanto, são apenas hipotéticas:
- Canibalismo entre pools (destruição de um pool para prejudicar a blockchain);
- Ataque P + épsilon: segundo Vitalik Buterin, é um dos problemas mais preocupantes em redes PoW, envolvendo o suborno de outros participantes da rede em troca de apoio a mudanças propostas na blockchain;
- Timejacking (tentativas de manipular o carimbo de tempo das transações).
No momento, parece que hackers não se interessam por essas estratégias.
O que esperar do futuro
Há apenas uma solução para tudo o que discutimos: aprimorar continuamente os mecanismos de segurança das redes descentralizadas. A experiência mostra, porém, que quanto maior o nível de proteção, mais sofisticados se tornam os métodos desenvolvidos por mineradores e hackers para burlá-la. Essa é uma batalha provavelmente sem fim. No mundo financeiro tradicional, caixas eletrônicos são hackeados, cartões de crédito são roubados e bancos são assaltados. Não existe garantia de segurança absoluta.