Há 10 anos, o Bitcoin não tinha a adoção mundial que tem hoje e a rede era infinitamente menor do que a atual.
Assim, no dia 15 de agosto de 2010, um hacker conseguiu invadir a rede do BTC, se aproveitando de um bug no código. Com isso, o atacante conseguiu criar 184.467 milhões de Bitcoin.
O bug encontrado
O erro foi inicialmente descoberto por Jeff Garzik, que ajudou a desenvolver o Bitcoin desde os primeiros anos.
Na ocasião, ele relatou o problema no Bitcoin Talk.
“O valor de saída no bloco 74.638 é bastante estranho”, escreveu ele.
O bloco mostrou que, durante 1h30, houve saídas que chegaram a um total de 184.467 milhões de BTC.
Confira nossas sugestões de Pre-Sales para investir agora
Este é um valor quase 8.800 vezes superior ao suprimento máximo do Bitcoin, que é 21 milhões.
LFM
Outro usuário do fórum, sob o pseudônimo de “LFM”, explicou o ocorrido.
Segundo ele, uma pessoa fez uma modificação customizada no software para gerar uma transação.
Então, essa mudança explorou uma vulnerabilidade no código, aumentando artificialmente a oferta.
Assim, o código utilizado para verificar a transação antes de incluí-la no bloco, não contemplava o caso de as saídas serem tão grandes que fossem ultrapassadas ao serem adicionadas.
Desta forma, o código do Bitcoin verificava a saída de cada transação para números individualmente.
No entanto, “esquecia” de verificar se a soma das duas saídas resultava em um número negativo.
Portanto, se dois valores grandes, mas positivos, fossem colocados na transação, o estouro seria verificado apenas se fosse menor ou igual às entradas.
Assim, foi possível emitir uma quantidade de moedas que inflou excessivamente a oferta.
Correção
Logo, Nakamoto e o desenvolvedor Gavin Andresen começaram a trabalhar para consertar o que aconteceu.
Assim, apenas 2 horas e 21 minutos depois de Garzik fazer o anúncio, eles lançaram um patch para o código que corrigiu esse problema em transações futuras. Uma hora depois, o patch já havia sido carregado para o repositório.
A função era rejeitar transações de estouro de saída, como a que havia sido feita, e também qualquer transação que pagasse mais de 21 milhões de BTC em uma única saída.
Além disso, naquele mesmo fórum, foi sugerido que todos os mineradores parassem de processar as transações até que uma solução fosse encontrada.
Foi solicitado ignorar o bloco em que ocorreu o erro e todos os blocos subsequentes.
Soft Fork
A solução encontrada envolveu um soft fork da blockchain em que a transação problemática e todas as transações subsequentes fossem revertidas.
Os mineradores aceitaram a proposta e a nova blockchain ultrapassou o antigo no bloco 74.691, 19 horas após o incidente.
Os ideais de imutabilidade foram momentaneamente colocados de lado para o bem maior e benefício de longo prazo para a comunidade.
Esta foi a única grande falha de segurança encontrada até agora em toda a história do Bitcoin.
Até o momento, a primeira criptomoeda teve 48 vulnerabilidades detectadas, mas nenhuma tão séria quanto esta.
Leia também: Hash rate do Bitcoin bate novo recorde durante fim de semana
Leia também: Brasil vai receber 10 caixas eletrônicos de Bitcoin
Leia também: Bitcoin rompe os US$ 12.000 e faz Binance sair do ar