
Quando uma rede reescreve a si mesma: o bug de consenso da Ravencoin e quanto vale de fato uma confirmação
Quase todo incidente cripto é sobre chaves. Alguém rouba uma frase-semente por phishing, um contrato tem um bug de reentrância, uma corretora perde sua carteira quente. O livro-razão continua honesto; apenas um conjunto específico de moedas troca de mãos contra a vontade do dono.
O incidente da Ravencoin em agosto foi de outra categoria, e mais rara. Ninguém tocou em chave alguma. O que se desfez foi o próprio livro-razão.
O que aconteceu
Em 7 de agosto de 2026, às 15h44 UTC, na altura de bloco 4.487.776, a rede aceitou um bloco que deveria ser impossível. Depois vieram outros. Em um trecho examinado de 2.089 blocos, 96 eram inválidos. A falha foi demonstrada publicamente em 11 de agosto, quatro dias após o primeiro bloco explorado — ou seja, a rede vinha produzindo blocos falsificados em silêncio por quase uma semana antes de alguém anunciar.
O RVN caiu cerca de 20%, para perto de US$ 0,0027. Upbit e Bitget suspenderam depósitos e saques. O projeto Ravencoin pediu a corretoras, exploradores e operadores de nós que atualizassem imediatamente, e marcou como potencialmente reversível toda transação confirmada depois do bloco 4.487.775.
É nessa última frase que vale parar. Não «algumas transações foram revertidas». Todas as transações, por três dias, ficaram provisórias.
O bug: um número que ninguém conferia
A Ravencoin minera com KAWPOW, um algoritmo de prova de trabalho intensivo em memória derivado do ProgPoW. A intensidade de memória é justamente o objetivo: o trabalho depende de um grande conjunto de dados que precisa ficar na RAM, e é isso que torna os ASICs antieconômicos e mantém a mineração ao alcance das GPUs. Esse conjunto de dados é regenerado periodicamente, e qual deles você precisa deriva da altura do bloco.
O cabeçalho do bloco carrega um campo, nHeight, que declara em que ponto da rede aquele bloco está. Os nós validavam a prova de trabalho contra a altura que o bloco afirmava ter. Nunca conferiam essa afirmação contra a posição real do bloco na cadeia.
Então dava para mentir. Declare uma altura do começo da vida da rede, receba um conjunto de dados pequeno, faça uma fração do trabalho e produza um bloco que um nó vulnerável aceita alegremente como válido. A dureza de memória que encarece a mineração de Ravencoin virava opcional se você simplesmente dissesse estar minerando um bloco diferente do real. Blocos inválidos passaram a ser, nas palavras do próprio projeto, dramaticamente mais baratos de produzir do que os legítimos.
Um bug de consenso não fica muito mais fundamental que isso. A prova de trabalho é o mecanismo pelo qual uma blockchain converte eletricidade em irreversibilidade. Se a prova pode ser forjada barato, não há irreversibilidade — só a aparência dela.
A cura foi a reorganização
Aqui vem a parte que de fora parece alarmante e que na verdade é correta.
A 2Miners e a RavenMiner, que juntas detêm a maioria do hash rate da rede, anunciaram que estavam minerando uma cadeia que exclui o ramo explorado a partir de 4.487.776. O software de nó corrigido (a 2Miners lançou a 4.6.1.1-hf1) rejeita blocos cuja altura declarada não bate com a real, e fixa o bloco 4.487.775 como ponto de verificação: uma linha além da qual a velha história envenenada não pode mais ser reaceita.
O resultado foi uma reorganização de cadeia com cerca de três dias de profundidade. Três dias de blocos descartados e substituídos.
Uma reorganização profunda costuma ser sintoma de ataque. Aqui foi o remédio. O ramo explorado não era uma história legítima que alguém reescreveu; já era inválido, e a rede decidiu parar de fingir o contrário.
A costura ainda é visível na cadeia hoje. O bloco 4.487.775 foi minerado às 15:43:57 UTC de 7 de agosto. O bloco 4.487.776 — o honesto, na cadeia recuperada — traz o carimbo de 14:09:42 UTC de 10 de agosto. Dois dias, vinte e duas horas e vinte e seis minutos entre blocos consecutivos numa rede que mira um minuto. Esse vão é o tecido cicatricial.
O que isso significou para quem tinha RVN
Se suas moedas estavam numa carteira que você controla e você não transacionou naqueles dias, nada aconteceu com você. As chaves nunca foram o problema. Saldos anteriores ao 4.487.775 nunca estiveram em dúvida.
Se você transacionou nessa janela, sua transação precisava ser reminerada na cadeia recuperada para sobreviver. Pagamentos comuns em geral sobreviveram: eram transações válidas que apenas moravam em blocos descartados, e voltaram ao mempool para serem confirmadas de novo. O que não sobrevive a uma reorganização é tudo que dependia da permanência da história descartada. O caso clássico é um depósito em corretora: as moedas chegam, são creditadas, negociadas ou sacadas, e depois o depósito deixa de ter acontecido. É exatamente por isso que suspender depósitos e saques foi a decisão certa, e por isso as corretoras que agiram rápido estavam protegendo a si e a seus usuários em vez de entrar em pânico. Parar é um modo de falha que corretoras podem e devem absorver quando a alternativa é creditar dinheiro que depois evapora.
O que uma confirmação promete de verdade
Quase toda carteira, a nossa incluída, mostra um número de confirmações e deixa você deduzir segurança dali. Vale a pena ser preciso sobre o que esse número significa, porque é em incidentes assim que a imprecisão morde.
Uma confirmação não é uma garantia. É uma afirmação econômica: reescrever a história a partir deste ponto exigiria refazer esta quantidade de prova de trabalho, e isso custaria mais do que o pagamento vale. Seis confirmações no Bitcoin são uma regra de bolso sobre custo, não uma prova criptográfica de permanência.
Essa afirmação carrega uma suposição escondida: que produzir blocos é caro. O bug da Ravencoin removeu a suposição. Quando blocos inválidos não custam quase nada, «tantas confirmações» deixa de medir coisa alguma. O número na sua tela continuava subindo; o que ele contava tinha se tornado, sem aviso, irrelevante.
A conclusão honesta não é «confirmações não servem». É que uma contagem de confirmações é uma afirmação sobre a saúde das regras de consenso de uma rede, e herda cada fraqueza dessas regras. Ajuste sua paciência ao valor em jogo, e trate um incidente de consenso em curso como motivo para parar de transacionar por completo, não para esperar um número maior.
Onde a SSP estava
Operamos nossa própria infraestrutura Ravencoin em vez de ler saldos da API de outra pessoa, e isso faz com que a pergunta «a SSP está na cadeia certa?» tenha uma resposta verificável em vez de uma resposta tranquilizadora.
Nosso nó roda Ravencoin 4.8.0 — bem além do hard fork — e, no momento em que escrevemos, está na altura 4.522.205 da cadeia recuperada. Os dois lados da costura batem exatamente com a cadeia de referência:
- 4.487.775 →
000000000002d64509e06e76ddbbe418c725291687ec62b41ecfc40386a091fd - 4.487.776 →
0000000000042bb50281ebb2f68d3f9143980b041178849015d95b067d52a841
Os mesmos hashes do explorador oficial da Ravencoin, o mesmo vão de três dias. Nada foi exigido dos usuários da SSP, e Ravencoin na SSP funciona exatamente como antes.
Os limites honestos
Escrevemos estes textos para explicar do que nossa arquitetura protege, então importa deixar claro do que ela não protege.
O multisig dois-de-dois protege o lado da assinatura. Significa que nenhum aparelho comprometido sozinho move suas moedas, que cada pagamento é aprovado duas vezes em dois equipamentos independentes, e que um ladrão com seu notebook não tem nada. Essas propriedades se mantiveram durante todo o incidente, e são as propriedades que importam para a esmagadora maioria das formas pelas quais as pessoas perdem cripto.
Nenhuma delas ajuda contra uma reorganização de cadeia. Nem uma carteira de hardware, nem um assinador isolado, nem uma senha extra, nem um quórum multisig de qualquer tamanho. Falhas de consenso ficam embaixo de tudo isso — são uma propriedade da rede, não da sua custódia. Quem afirma que sua carteira protege você de um bloco ruim está vendendo alguma coisa.
O que uma carteira pode oferecer honestamente é isto: rodar infraestrutura de nós de verdade, mantê-la atualizada e ser transparente sobre qual cadeia ela segue. Isso é um compromisso de manutenção, não uma garantia criptográfica, e é o tamanho certo de promessa.
A outra coisa que vale levar de agosto é um lembrete sobre onde o risco realmente mora. O bug da Ravencoin estava no código havia anos antes de alguém explorá-lo, no lugar menos glamouroso imaginável: um campo de cabeçalho que todo mundo supunha que outra pessoa estivesse conferindo. A falha de entropia da Coldcard tinha exatamente o mesmo formato — uma linha de código pequena, chata e nunca examinada, invisível de fora, sustentando tudo o que vinha acima.
São esses os bugs que doem. Não os ataques criptográficos exóticos, mas a suposição para a qual ninguém escreveu um teste.


