O que é um ataque de 51%?
Um ataque de 51% ocorre quando um único agente controla mais da metade do poder de produção de blocos de uma blockchain e o usa para reescrever o histórico recente.
Um ataque de 51% ocorre quando um único agente controla mais da metade do poder de produção de blocos de uma blockchain, isto é, a taxa de hash de mineração em provas de trabalho (proof of work) ou o stake em provas de participação (proof of stake), e usa esse controle para reescrever o histórico recente. O objetivo habitual é um gasto duplo: pagar a uma exchange, sacar outro ativo e, em seguida, apagar da cadeia o pagamento original.
Como funciona um ataque de 51%
Em uma cadeia proof of work, os nós seguem a versão da cadeia com o maior trabalho acumulado. Um atacante com maioria da taxa de hash pode explorar essa regra em algumas etapas:
Figura: O reorg de gasto duplo. Os nós seguem a cadeia com mais trabalho, então a cadeia privada mais longa prevalece.
- Envie moedas para uma exchange na cadeia pública e aguarde o depósito ser creditado.
- Minere secretamente uma cadeia privada na qual essas mesmas moedas vão para um endereço controlado pelo atacante.
- Negocie ou saque os fundos creditados na exchange.
- Libere a cadeia privada. Como ela é mais longa, os nós passam a segui-la. O depósito na exchange desaparece, e o atacante fica com as moedas e com o que sacou.
A troca é chamada de reorganização, ou “reorg”. Quanto mais profunda a reorg, mais transações confirmadas ela pode desfazer.
O que um atacante pode e não pode fazer
Pode: reverter suas próprias transações recentes, bloquear ou atrasar transações de terceiros e impedir que blocos de outros sejam aceitos enquanto o ataque durar.
Não pode: gastar moedas cujas chaves não possui, alterar as regras do protocolo ou criar moedas além da recompensa normal de bloco. Os nós continuam rejeitando blocos inválidos, independentemente de quem os produziu. Nosso guia sobre nós de blockchain explica o motivo.
Por que as confirmações tornam os ataques mais difíceis
Um atacante que controla menos da metade da taxa de hash ainda pode tentar reescrever o histórico com sorte, mas as chances caem rapidamente a cada bloco adicionado sobre um pagamento. O white paper do Bitcoin faz as contas: um atacante com 10% da taxa de hash da rede tem menos de 0,1% de chance de alcançar a cadeia legítima quando um pagamento já está coberto por cinco blocos. Com maioria, a sorte deixa de ser necessária, e é por isso que o limite de 50% importa tanto e por que aguardar confirmações protege contra qualquer ataque abaixo dele.
Um caso real: Ethereum Classic em 2020
O Ethereum Classic, uma rede proof of work menor, sofreu ataques de 51% repetidos no verão de 2020. No ataque entre 31 de julho e 1º de agosto, analistas da Bitquery constataram que o atacante alugou poder de hash no valor de cerca de 17,5 BTC, aproximadamente US$ 192.000 na época, e fez gasto duplo de cerca de 807.260 ETC, avaliados em torno de US$ 5,6 milhões. Alguns dias depois, em 6 de agosto, seguiu-se outra reorganização de mais de 4.000 blocos, e grandes exchanges e pools de mineração suspenderam depósitos e saques de ETC.
A economia é a lição. Alugar poder de hash majoritário por alguns dias custou uma pequena fração do que o atacante obteve. Em redes cuja taxa de hash é pequena em relação ao que pode ser alugado, essa conta favorece o atacante.
Quanto custaria um ataque em uma rede grande
O custo de um ataque é aproximadamente o de controlar mais da metade da produção de blocos da rede pelo tempo em que o ataque durar. Em uma pequena cadeia proof of work, isso pode significar alugar poder de hash por algumas horas. No Bitcoin, a taxa de hash é tão grande que não há capacidade alugável nem perto do necessário; um atacante precisaria construir ou comprar uma operação de mineração maior que o restante da rede somado e pagar pela sua eletricidade.
Há também um elemento autodestrutivo. Um ataque visível provavelmente derrubaria o preço da moeda, justamente o ativo ao qual um atacante com tanto hardware de mineração estaria mais exposto. Quanto maior e mais valiosa a rede, mais um atacante tem a perder ao obter sucesso.
| 31 de julho a 1º de agosto de 2020 | 6 de agosto de 2020 | |
|---|---|---|
| Profundidade da reorganização | Cerca de 3.693 blocos | 4.236 blocos |
| Gasto duplo | Cerca de 807.260 ETC (aproximadamente US$ 5,6 milhões) | Cerca de 238.306 ETC (aproximadamente US$ 1,68 milhão) |
| Custo do atacante | Cerca de 17,5 BTC em poder de hash alugado (aproximadamente US$ 192.000) | Não divulgado |
Os números são da empresa de análise de blockchain Bitquery, conforme divulgados na época.
Quem corre mais risco
Cadeias pequenas de prova de trabalho. O custo de um ataque depende de quanto poder de hash protege a rede. Se uma cadeia pequena compartilha um algoritmo de mineração com outra muito maior, um atacante pode alugar ou redirecionar hardware para sobrecarregá-la. A escala do Bitcoin torna isso muito mais difícil; nosso explicador sobre taxa de hash do Bitcoin mostra como essa escala é medida.
Exchanges e serviços que creditam depósitos rapidamente. O ataque só compensa se a vítima liberar os fundos antes da reorganização. Por isso, as plataformas definem requisitos de confirmação por rede e os elevam para cadeias menores. Nosso guia sobre por que as confirmações de rede importam trata desse tema.
Redes de prova de participação, de outra forma. Na prova de participação, um ataque de maioria exige o controle de uma grande fatia das moedas em staking. A documentação do Ethereum observa que um atacante com 34% do stake poderia, em teoria, fazer com que dois checkpoints conflitantes fossem finalizados, o que forçaria a comunidade a coordenar-se fora da cadeia para escolher uma delas. O stake do atacante poderia então ser destruído por meio de slashing. Nosso guia sobre prova de participação explica slashing e finalidade.
Como usuários e plataformas se protegem
- Aguarde mais confirmações em redes menores antes de considerar um pagamento definitivo.
- Fique atento a reorganizações incomuns; serviços de monitoramento e pools de mineração costumam percebê-las primeiro.
- Desconfie de cadeias muito novas ou muito pequenas para transferências de alto valor.
- Entenda que “descentralizado” depende da distribuição. Se alguns pools ou stakers controlam, juntos, a maioria, o risco teórico existe mesmo sem um ataque.
Como as plataformas decidem quantas confirmações exigir
Exchanges e processadores de pagamento não usam um único número para todas as moedas. Eles avaliam quanto poder de hash ou stake protege cada rede, quão barato seria alugar ou comprar o controle da maioria e qual costuma ser o valor dos depósitos que aceitam. Uma rede grande e bem protegida pode precisar de apenas algumas confirmações para um depósito típico, enquanto uma pequena cadeia de prova de trabalho que compartilha seu algoritmo de mineração com uma maior pode precisar de centenas, o suficiente para que alugar o poder da maioria por esse tempo custe mais do que qualquer gasto duplo plausível.
Esses requisitos não são fixos. Após os ataques à Ethereum Classic em 2020, várias plataformas elevaram bruscamente as confirmações exigidas para depósitos em ETC, o que tornou os depósitos bem mais lentos, mas o ataque muito menos lucrativo. Se o tempo de depósito de uma moeda em uma plataforma aumenta de repente, isso costuma indicar que ela reavaliou a segurança da rede.
Sinais de que uma cadeia pode estar sob ataque
- Reorganizações incomumente profundas, nas quais vários blocos recentes são substituídos de uma só vez.
- Um salto repentino na taxa de hash de mineradores desconhecidos em uma rede pequena.
- Exchanges suspendendo depósitos ou elevando bruscamente os requisitos de confirmação de uma moeda.
- Alertas de pools de mineração ou serviços de monitoramento, que costumam detectar reorganizações primeiro.
O Bitcoin já sofreu um ataque de 51%? Não. Nenhum ataque de maioria bem-sucedido contra o Bitcoin foi registrado. A concentração entre alguns grandes pools de mineração ainda é acompanhada de perto, porque os membros de um pool poderiam, em princípio, ser direcionados a agir em conjunto.
Para comparar os dois modelos de segurança de forma mais ampla, veja prova de trabalho vs prova de participação e, para o panorama mais amplo do que essas redes oferecem, o que é Web3.
Este artigo tem caráter educativo e não constitui aconselhamento financeiro, de investimento, jurídico ou tributário. Ativos digitais são voláteis e você pode perder o valor investido.
Fontes
- Ataque de 51% Drena Mais de US$ 5 Milhões da Ethereum Classic — Cointelegraph, agosto de 2020
- Ethereum Classic Sofre Outro Ataque de 51% em Cinco Dias — The Block, agosto de 2020
- Rede Ethereum Classic Sofre Segundo Ataque em Uma Semana (custo de aluguel de 17,5 BTC) — ForkLog, agosto de 2020
- Ataque e Defesa em Proof-of-Stake — Documentação para Desenvolvedores do ethereum.org
- Bitcoin: Um Sistema de Dinheiro Eletrônico Peer-to-Peer (Seção 11, Cálculos) — Satoshi Nakamoto, outubro de 2008
- Ataque à Ethereum Classic, 8 de Agosto: Pegue-me Se Puder (reorganização de 4.236 blocos; US$ 1,68 milhão em gasto duplo) — Bitquery, agosto de 2020