Visão geral
Substituição por Taxa (RBF) permite a um usuário de Bitcoin substituir uma transação não confirmada no mempool por uma nova versão que paga uma taxa mais alta. Isso é essencial para a gestão de taxas em um mercado de taxas dinâmico: se uma transação está travada porque a taxa foi definida muito baixa, o remetente pode criar uma substituição com uma taxa suficiente para confirmar em um tempo razoável.
Como o RBF funciona
Cenário: Alice envia uma transação com taxa muito baixa
Passo 1: Transação original travada no mempool
┌────────────────────────────────┐
│ TX v1: Alice → Bob │
│ Taxa: 1 sat/vB (muito baixa) │
│ Sinal: RBF habilitado │
│ Status: NÃO CONFIRMADA │
└────────────────────────────────┘
Passo 2: Alice cria substituição com taxa mais alta
┌────────────────────────────────┐
│ TX v2: Alice → Bob │
│ Taxa: 15 sat/vB (competitiva) │
│ Mesmas entradas que TX v1 │
│ Status: SUBSTITUI TX v1 │
└────────────────────────────────┘
Passo 3: Mineradores preferem TX v2 (taxa mais alta)
┌──────────────────────┐
│ Novo Bloco │
│ ┌─────────────────┐ │
│ │ TX v2 confirmada│ │
│ └─────────────────┘ │
│ TX v1 é descartada │
└──────────────────────┘
RBF Opt-in vs. RBF Completo
- RBF Opt-in (BIP125) — A transação original sinaliza sua substituibilidade definindo o número de sequência de pelo menos uma entrada para menos de
0xfffffffe. Os nós que seguem BIP125 aceitarão substituições apenas para transações sinalizadas. - RBF Completo — O Bitcoin Core 24.0+ introduziu a opção
mempoolfullrbf, que permite aos nós aceitar substituições para qualquer transação não confirmada, independentemente da sinalização. A partir do Bitcoin Core 28.0, o RBF completo está habilitado por padrão, refletindo a realidade prática de que transações não confirmadas nunca foram verdadeiramente finais.
Regras do RBF
Uma substituição válida deve:
- Gastar pelo menos uma das mesmas entradas que a transação original
- Pagar uma taxa absoluta mais alta do que a original
- Pagar uma taxa alta o suficiente para cobrir o custo de retransmissão de largura de banda (taxa de retransmissão incremental)
- Não substituir mais de 100 transações no mempool
RBF vs. CPFP
RBF e Child-Pays-for-Parent (CPFP) são estratégias de aumento de taxa, mas funcionam de maneiras diferentes:
- RBF — O remetente substitui a transação original (requer acesso à carteira do remetente)
- CPFP — O destinatário (ou remetente via saída de troco) cria uma nova transação filha com taxa alta que incentiva os mineradores a confirmar a transação pai
O RBF é geralmente mais eficiente em termos de taxa, pois não requer uma transação adicional, mas o CPFP pode ser usado pelo destinatário sem o envolvimento do remetente.
Equívoco comum
O RBF não habilita o "gasto duplo" no sentido malicioso. A transação de substituição ainda paga ao destinatário pretendido. O RBF simplesmente permite ajustar a taxa. Embora um remetente pudesse teoricamente redirecionar o pagamento, isso não é diferente da incerteza inerente de qualquer transação não confirmada, motivo pelo qual os comerciantes sempre devem aguardar confirmações para pagamentos significativos.