Isso só é possível se o "atacante" também tem a chave privada.
Imagine o seguinte.
A pessoa solucionou o puzzle e pegou a chave privada.
Daí ele foi e fez uma transação para transferir os fundos do puzzle pra carteira dele.
Mas, ele pagou 5 sat /vB, que iria demorar 10 blocos pra confirmar.
Até aqui você acertou.
Com poucas linhas de Python é possível armar um script que checa a mempool de segundo em segundo através de um node ou API, monitorando um endereço específico, aguardando esse endereço submeter uma transação pela primeira vez e revelar a chave publica, informação que até então (no contexto do puzzle #66) é conhecida apenas pelo detentor da chave privada.
Quando a primeira transação que gasta fundos do endereço #66 chega na mempool, a chave publica daquele endereço é revelada pra rede inteira instantaneamente. O script do atacante recebe retorno em questão de milissegundos e agora o atacante também tem aquela chave publica.
Basta agora iniciar uma instancia de Pollard Kangaroo ou BSGS pra derivar a chave privada. No pior dos cenários essa etapa poderia levar uns 30 segundos (Pra um ECDLP de 66 bits a complexidade é de apenas 2^33 operações usando os algoritmos citados) mas dependendo do hardware e implementação é possível derivar uma chave privada de 66 bits instantaneamente.
Tendo a chave privada o atacante começa a spammar a mempool com novas transações que gastam os mesmos fundos para outro endereço, pagando taxas mais altas do que a transação original e recebendo maior prioridade (Replace By Fee). O processo inteiro é facilmente automatizado do inicio ao fim com um único script em Python que faz tudo em menos de 1 minuto:
*A transação original é enviada a mempool pela pessoa que resolveu a chave privada primeiro e está aguardando confirmação*
- Detectar essa transação na mempool = milissegundos
- Recuperar a chave publica dos metadados = milissegundos
- Derivar chave privada de 66 bits através da chave publica = 1~30 segundos
- Usar a chave privada pra assinar novas transações = milissegundos
- Relay dessas transações através de APIs = milissegundos
Enquanto isso a transação original levaria seus ~10 minutos até ser confirmada. Obviamente não da tempo, pois antes disso acontecer a mempool já foi enxurrada com as transações do atacante, mais atrativas pros mineradores por conta das taxas mais altas sendo oferecidas.
Mesmo que a transação original venha com a bandeira Replace By Fee desabilitada e tenha sido aceita por um node que respeita essa bandeira, o atacante ainda pode submeter as transações dele pra mempool através de outros nodes, já que a grande maioria deles permite full RBF independente da bandeira RBF presente na transação original.
Esse hack só funciona no contexto do puzzle/desafio por conta das chaves privadas mais curtas (66,67,68,69 bits etc). Fora desse contexto é impossível empregar o método pois as chaves privadas usadas na rede possuem todos os 256 bits.