Glossário / Transações e taxas
Retransmissão de pacotes
- O que é a retransmissão de pacotes?
- A retransmissão de pacotes permite que um nó aceite um grupo de transações relacionadas não confirmadas em conjunto, de modo que uma filha que paga uma taxa alta possa carregar uma mãe que a rede recusaria de outra forma.
Especificação no BIP-331.
A retransmissão de pacotes é a solução para um descompasso que durou anos: os mineradores precificavam grupos, enquanto a rede que levava as transações até eles precificava uma de cada vez. O Bitcoin Core 28.0, lançado em outubro de 2024, trouxe a retransmissão oportunista para o caso de uma mãe com uma filha, e o BIP 331 especifica a versão geral. Se você já aumentou a taxa de um pagamento recebido que estava travado e viu o aumento desaparecer, é por isso.
Como funciona
Um nó decide se mantém uma transação no instante em que ela chega e, durante a maior parte da história do bitcoin, tomou essa decisão sem saber nada sobre aquilo a que a transação estava ligada.
Imagine a falha. Uma mãe chega pagando abaixo do que o nó exige naquele momento e é descartada em vez de armazenada. Uma filha chega instantes depois gastando uma saída dessa mãe e, sem nenhum registro da mãe, o nó também não consegue validar a filha, então ela vai parar em um pequeno pool de órfãs, com cerca de cem transações por padrão, e é esquecida. A taxa que a filha carregava nunca é contada. A mineração que considera os ancestrais, presente no Bitcoin Core desde 2016, não podia ajudar, porque nada jamais chegava a um minerador.
A retransmissão oportunista de uma mãe com uma filha fecha a versão comum desse buraco. Quando surge uma órfã cuja mãe ausente foi rejeitada há pouco por pagar pouco demais, o nó reconsidera as duas como uma unidade, julga-as pela taxa combinada sobre o tamanho combinado e aceita ambas se o par ultrapassar o limite. O escopo é deliberadamente estreito: uma mãe, uma filha. Um lote com várias mães com preço abaixo do exigido continua fora de alcance.
O BIP 331 define o mecanismo geral: os pares anunciam suporte com uma mensagem sendpackages durante o handshake e depois usam ancpkginfo, getpkgtxns e pkgtxns para solicitar o conjunto completo de ancestrais de uma transação antes de julgar qualquer parte dele. Você já pode entregar um grupo ao seu próprio nó com a chamada RPC submitpackage, limitada a 25 transações e 101 kilovbytes.
Os protocolos que mais precisam disso assinam suas transações muito antes de difundi-las. Um compromisso Lightning é acertado meses antes do dia em que pode ser usado, quando ninguém sabe quais serão as taxas, então o desenho moderno o assina com taxa zero ou quase zero e deixa que o lado que precisar anexe a taxa por meio de uma saída âncora. Isso só funciona se o compromisso e sua filha que paga a taxa viajarem como uma unidade. A mesma versão acrescentou as transações TRUC, especificadas no BIP 431, que restringem a topologia para que um atacante não possa enterrar o par sob lixo.
Onde você vê isso
A retransmissão de pacotes é invisível quando funciona, e o que se nota é sua ausência: a pergunta que decide suas opções é se a mãe travada existe em algum lugar.
Se a mãe está nas mempools e confirmando devagar, um aumento de taxa comum basta e nenhum pacote está envolvido. A retransmissão de pacotes é para o caso mais difícil, em que uma corretora montou seu lote de saques abaixo do piso vigente, nenhum nó guardou uma cópia e nada que você pague do seu lado salva uma transação que a rede nunca aceitou.
Procure o id da transação em dois ou três exploradores independentes, já que cada um informa a mempool do seu próprio nó. Nada em lugar nenhum significa nada a aumentar, e a solução cabe ao remetente. Usuários da Lightning encontram a mesma engrenagem em fechamentos forçados, em que um compromisso com taxa zero mais um gasto de saída âncora é hoje a saída padrão de um canal.
Uma ressalva honesta: melhorias de retransmissão só valem entre pares que as executam, então a propagação depende da adoção em toda a rede e não da versão do seu próprio nó.
Retransmissão de pacotes vs child pays for parent
Child pays for parent é a estratégia, e a retransmissão de pacotes é o encanamento que a entrega. A primeira descreve anexar uma filha bem paga para que um minerador aceite as duas; a segunda é a capacidade da rede de mover e julgar esse par como um único objeto. Você pode usar a estratégia sem a retransmissão de pacotes sempre que a mãe já está nas mempools, o que cobre a maioria dos pagamentos travados. A retransmissão de pacotes é o que faz a técnica funcionar quando a mãe tem preço abaixo do que a rede está disposta a transportar.