Mist Fog desmonta Liquid: quase 4.000 L-BTC da L-BTC foram cunhados em vazio, não entraram via peg-in

A Mist Fog separou esse lote de 6 de setembro: o atacante não fez peg-in; ele cunhou cerca de 3998,5 L-BTC e, em poucos minutos, deu peg-out para se transformar em BTC da rede principal. Depois, devolveu cerca de 3400, ficando com aproximadamente 598,5 — como já foi escrito na semana passada: a “matéria-prima” é “como foi cunhada”.

A causa raiz está no cache de validação do Rangeproof do Elements: ao concatenar chaves de cache a partir de múltiplos campos de tamanho variável, não foi adicionado um prefixo de comprimento. Assim, diferentes combinações de parâmetros podem colidir e cair no mesmo resultado “aprovado”. O nó então pula diretamente a chamada para secp256k1_rangeproof_verify e a verificação do valor mínimo. Primeiro, ele injeta uma prova válida para aquecer o cache; depois, entrega uma segunda saída falsa com chave colidente. Isso possibilitou a cunhagem sem lastro.

O fato de a ponte estar parada e de terem devolvido a maior parte não significa que o cache de validação de transações confidenciais já não tenha falhas. A chave do cache em si é um primitivo de consenso; se os limites não estiverem bem definidos, é como deixar uma porta aberta.