O que é o “Child Pays for Parent” (CPFP)
O Child Pays for Parent (CPFP) é um mecanismo de substituição de taxas utilizado nas redes de Bitcoin e, em versões adaptadas, também em Ethereum. Ele permite que uma transação “filha” (child) pague uma taxa maior para que a transação “pai” (parent), que está presa por ter uma taxa baixa, seja confirmada mais rapidamente pelos mineradores.
Por que o CPFP é necessário?
Em períodos de alta congestão, as mempools ficam cheias de transações com diferentes valores de taxa. Quando uma transação é criada com uma taxa insuficiente, ela pode ficar “preso” na mempool por muito tempo. Como as transações são processadas em ordem de taxa, a única forma de acelerar a confirmação é aumentar a taxa da própria transação – algo que não é possível depois que ela já foi enviada. O CPFP resolve esse impasse ao criar uma nova transação que gasta a saída da transação original e oferece uma taxa suficientemente alta. Os mineradores, ao verem que a soma das taxas das duas transações (pai + filho) é atrativa, incluem ambas no bloco.
Como funciona na prática?
- Uma transação pai é enviada com taxa baixa e fica presa na mempool.
- O remetente (ou um terceiro) cria uma transação filho que gasta a saída não‑gasta (UTXO) da transação pai.
- A transação filho inclui uma taxa alta o suficiente para tornar a soma das duas taxas competitiva.
- Os mineradores, ao validar o bloco, verificam que a transação filho depende da transação pai; assim, ambas são incluídas juntas.
Esse processo garante que a taxa total paga seja suficiente para a confirmação rápida, sem a necessidade de substituir a transação original.
Vantagens e desvantagens do CPFP
Vantagens:
- Flexibilidade: permite ajustar a taxa após o envio da transação original.
- Segurança: evita a necessidade de criar uma nova transação que substitua a original, mantendo a integridade dos UTXOs.
- Compatibilidade: funciona em quaisquer carteiras que suportem a criação de transações dependentes.
Desvantagens:
- Custo adicional: a taxa da transação filho é paga em conjunto com a taxa da transação pai.
- Complexidade: requer conhecimento técnico ou o uso de carteiras que automatizem o processo.
CPFP e o ecossistema MEV
O CPFP está intimamente ligado ao conceito de MEV (Maximal Extractable Value). Quando miners priorizam transações que oferecem maiores recompensas, a soma das taxas pai+filho pode gerar oportunidades de MEV, especialmente em operações de arbitragem ou liquidations. Para mitigar impactos negativos, consulte o artigo Soluções para mitigar o MEV, que apresenta estratégias como Flashbots e Proposer‑Builder Separation (PBS).
Como usar CPFP nas principais carteiras
Algumas carteiras já implementam o CPFP de forma automática:
- Electrum: permite marcar a transação como “Replace‑by‑Fee” (RBF) ou criar uma transação filho manualmente.
- Bitcoin Core: oferece a opção “Bump Fee” que, na prática, cria uma transação filho com taxa maior.
- Carteiras móveis (BlueWallet, Wasabi): incluem um botão “Acelerar” que gera o CPFP.
Para usuários avançados, a criação manual de um CPFP pode ser feita via linha de comando bitcoin-cli
ou usando bibliotecas como bitcoinjs-lib
.
Conclusão
O Child Pays for Parent (CPFP) é uma ferramenta poderosa para quem precisa garantir a velocidade de confirmação de transações em redes congestionadas. Ao entender seu funcionamento, vantagens e riscos, usuários e desenvolvedores podem otimizar custos e melhorar a experiência de uso da blockchain.