Skip to main content

Gasto Duplo | Bitcoin Glossary | Mapping Bitcoin

Gasto Duplo

Segurança

Also known as: double spend, double spend attack

Tentativa de gastar o mesmo bitcoin duas vezes com transações conflitantes. O consenso de prova de trabalho previne esse ataque com ordenação definitiva.

Visão Geral

O gasto duplo é o problema fundamental que o Bitcoin foi projetado para resolver: como evitar que uma moeda digital seja copiada e gasta mais de uma vez sem depender de um intermediário confiável. Em sistemas digitais tradicionais, uma autoridade central (como um banco) mantém um livro-razão para evitar gastos duplicados. O Bitcoin substitui isso por um mecanismo de consenso descentralizado baseado em prova de trabalho.

Como o Gasto Duplo Poderia Ser Tentado

Alice tem 1 BTC em um UTXO

Tentativa de gasto duplo:
┌──────────────────────────────────────────┐
│                                          │
│  TX-A: Alice → Bob    (1 BTC por bens)   │──► Transmitir
│                                          │
│  TX-B: Alice → Alice  (1 BTC de volta)   │──► Transmitir
│                                          │
│  Ambas referenciam o mesmo UTXO          │
│  Apenas UMA pode ser confirmada          │
└──────────────────────────────────────────┘

Tipos de Ataques de Gasto Duplo

Ataque de corrida: O atacante envia duas transações conflitantes em rápida sucessão, esperando que o comerciante veja uma enquanto os mineradores confirmam a outra. Isso afeta principalmente comerciantes que aceitam transações de zero confirmações.

Ataque Finney: Um minerador pré-minera um bloco contendo uma transação que envia moedas de volta para si mesmo, então gasta essas mesmas moedas em um comerciante. O minerador imediatamente libera o bloco pré-minerado para substituir a transação do comerciante.

Ataque de 51%: Um atacante com hash power majoritário minera uma cadeia secreta que exclui a transação da vítima, depois a libera para sobrescrever a cadeia pública assim que for mais longa. Esta é a forma mais poderosa de gasto duplo, mas requer recursos enormes.

Como o Bitcoin Previne o Gasto Duplo

  1. Propagação de transações: Quando os nós recebem uma transação, rejeitam qualquer transação subsequente que tente gastar o mesmo UTXO
  2. Mineração: Os mineradores incluem apenas uma das transações conflitantes em seu bloco
  3. Confirmações: Cada confirmação adicional torna exponencialmente mais difícil reverter uma transação
  4. Regras de consenso: Todos os nós verificam independentemente que nenhum UTXO é gasto duas vezes

Melhores Práticas para Comerciantes

  • Para pagamentos pequenos, transações de zero confirmações carregam risco mínimo
  • Para valores moderados, esperar por 1-3 confirmações
  • Para transações grandes, a recomendação tradicional é esperar por 6 confirmações
  • Os pagamentos da Lightning Network alcançam finalidade quase instantânea para transações cotidianas

Conceitos Errôneos Comuns

  • O Bitcoin não foi gasto duplamente com sucesso na rede principal em condições normais. Gastos duplos relatados tipicamente envolvem transações de zero confirmações ou exchanges que creditaram depósitos prematuramente.
  • RBF (Replace-By-Fee) às vezes é confundido com gasto duplo, mas é uma funcionalidade deliberada para aumentar taxas em transações não confirmadas, não um ataque.