O que é Race Attack?
Um Race Attack ocorre quando alguém transmite duas transacções cripto conflitantes quase ao mesmo tempo, esperando que a errada seja aceite primeiro. É uma jogada clássica contra comerciantes que aceitam pagamentos sem confirmação. Pense nisto como enviar dois cheques da mesma conta e apostar que o caixa processa o que você prefere.
“Race Attack precisa de Replace by Fee.” Nem por isso. Embora o RBF esteja relacionado, um Race Attack pode acontecer mesmo sem regras explícitas de substituição, o que o diferencia de um Ataque de Substituição de Transação.
Como um Race Attack funciona
Imagine alguém a pagar um café com cripto no balcão. Quer o café e manter as moedas. Eis como a situação se desenrola.
- Passo 1: O atacante cria duas transacções que gastam as mesmas moedas mas com destinatários diferentes.
- Passo 2: Envia uma ao comerciante e, em simultâneo, difunde a outra para vários nodos na esperança de que esta se propague mais rápido.
- Passo 3: O comerciante vê a primeira chegar, interpreta como pagamento e entrega a mercadoria.
- Passo 4: Os mineiros confirmam uma das transacções conflitantes. A outra é rejeitada pela rede assim que um bloco é incluído.
- Passo 5: Se a confirmada for a versão preferida pelo atacante, o comerciante fica sem nada além de uma lição.
Sim, é assim tão simples e sim, o tempo é o que faz a diferença.
Porque importa um Race Attack
E se alguém tentar isto?
- Vantagem: Conhecer o risco de um Race Attack permite definir regras de pagamento sensatas para não entregar bens por uma promessa que pode não ser liquidada.
- Perspectiva: É uma variante de um Ataque de Duplo Gasto, mas não exige equipamento caro ou grandes recursos financeiros.
- Relevância: Este tema aparece em carteiras para pontos de venda, comércio electrónico e qualquer serviço que considere pagamentos sem confirmação.
Se está a vender algo que é enviado ou tem valor real, espere por uma ou mais confirmações da transacção antes de entregar. Para pequenas compras presenciais, estabeleça limites e use carteiras que assinalem conflitos.
Características principais de um Race Attack
O que distingue um Race Attack:
- Instantâneo: Ocorre antes da primeira confirmação de bloco.
- Conflituoso: Duas transacções gastam os mesmos inputs; só uma pode ser confirmada.
- Velocidade: Propagação e escolha dos mineiros decidem o vencedor, não hardware sofisticado.
- Diferente: Não precisa de ataques 51% ou controlo da mineração.
Variações
O Race Attack tem alguns parentes que pode encontrar:
- Clássico: Duas transacções conflitantes transmitidas quase ao mesmo tempo.
- Finney: Um mineiro pré-mina um bloco com um gasto, paga um comerciante, depois publica o bloco.
- Vector76: Combina elementos de blocos pré-minados e tempo para enganar bolsas.
- RBF: Mesmo objectivo, mas depende de regras de substituição por taxa em vez de uma corrida pura de propagação.
A topologia da rede conta. Atacantes podem aumentar as hipóteses se controlarem muitos pares ou identidades falsas, por isso os ataques Sybil aparecem frequentemente nas discussões sobre defesas contra Race Attack.
Exemplo
Um burlão paga um quiosque com uma transferência sem confirmação, depois transmite uma transacção conflitante aos mineiros e vence, deixando o quiosque sem pagamento mesmo que o ecrã tenha mostrado pago por momentos.
Curiosidade
O Race Attack foi discutido nos fóruns mais antigos do Bitcoin, e o conselho tradicional de Satoshi de esperar por múltiplas confirmações continua a ser o procedimento recomendado. Rolex encontra threads do Reddit.
Conclusão
Em resumo: um Race Attack é uma jogada de tempo contra pagamentos sem confirmação, por isso um pouco de paciência torna o problema coisa do passado.
