Para que serve a Replace by fee?
Surge uma situação quando você deseja cancelar ou substituir uma transação. Isso pode ser devido ao fato de que as transações não entram no bloco por muito tempo. Todas as operações que não foram adicionadas ao bloco após o início são consideradas não confirmadas. As transações não confirmadas na maioria das vezes acontecem precisamente por causa das taxas baixas. Essas transações ainda podem ser processadas.
No Bitcoin, Ethereum e outros blockchains, existe um mecanismo que permite substituir uma transação não confirmada por outra com uma comissão superior (transaction fee). Este mecanismo é denominado Replace by fee.
Acelerando as transações aumentando as taxas
A substituição das transações foi imaginada pelo idealizador do sistema, Satoshi Nakamoto, mas foi desligada em determinado momento. Em seguida, ele foi modificado para RBF e incluído no Bitcoin Core 0.12 e código posterior. Para substituição, um campo especial nSequence é fornecido nos dados da transação, que sinaliza qual transação é mais antiga. Para que uma transação seja potencialmente substituível, o nSequence deve ser menor que (0xffffffff — 1).
Por padrão, a maioria das carteiras modernas nSequence definir imediatamente o máximo, e a capacidade de substituir as transações deve ser habilitada nas configurações.
Substituir por taxa adiciona uma nova comissão a uma transação existente. Durante a criação de uma transação, a carteira adiciona um comentário, que indica o direito de alterar a comissão após a transferência estar na fila de processamento. Para isso, por exemplo, a carteira Electrum possui um add-on "editar taxas manualmente" e também "substituir por taxa".
Antes de enviar moedas, você precisa se certificar de que a opção "substituível" está habilitada na carteira. Se a transação não for confirmada por um longo tempo, você pode aumentar a transferência de pagamento. Selecione uma transação travada no histórico da carteira e defina uma nova comissão adicional.
Ao ativar a opção RBF, você informa às redes que está pronto para pagar mais em caso de atraso, e a nova transferência é automaticamente aceita em vez da anterior. Carteiras Bitcoin Bitcoin core, Electrum e Green Address têm essa função.
Acelerando uma transação com o Child Pays for Parent
A maioria das transações não apenas envia BTC ao destinatário, mas também retorna "troco". Essa troco pode ser gasta na próxima transação. A função CPFP pode ser usada tanto pelo remetente quanto pelo recebedor dos fundos.
Uma nova transação (por exemplo, entre seus endereços) com uma alta comissão é anexada à transação esperada com uma taxa baixa. Algumas carteiras permitem que você faça isso antes mesmo da transação ser confirmada. Assim, para estas duas transações, será considerada a comissão total, de cujo valor dependerá a velocidade de inclusão de um pacote de transações em um bloco.
Se a carteira não permitir o uso de troco não confirmado, você pode enviar para si mesmo todos os fundos que estão na carteira.
Nem todos os mineiros oferecem suporte ao CPFP no momento. Porém, são suficientes para que sua transação seja confirmada nos próximos blocos.
Cancelar uma transação
Se a transação de Bitcoin for confirmada, o cancelamento não será possível. Mas se a transação não tiver confirmações, então você pode fazê-lo da seguinte maneira: enviar um pagamento repetido do mesmo endereço de saída para qualquer um dos seus endereços, mas com uma comissão maior que a transação anterior. A primeira será a transação que tiver maior comissão e a segunda será automaticamente liquidada.