Os blocos do Bitcoin são limitados pelo consenso a 4 milhões de unidades de weight, o que obriga a que transações com taxas mais baixas esperem quando a capacidade fica preenchida. Às 8:00 EDT na segunda-feira, cerca de 90.617 transferências não confirmadas estavam a aguardar no mempool. A restrição desencadeia um “leilão” baseado em taxas, em que os mineiros dão prioridade a transações que oferecem comissões mais altas em satoshis por byte virtual (sat/vB), independentemente do momento em que foram submetidas. Cada nó do Bitcoin Core mantém o seu próprio mempool local, com uma capacidade de 300 MB por predefinição, e pode reter transações até 336 horas, criando um sistema descentralizado em que não existe uma fila universal de transações. O Bitcoin Core 31.0 introduziu uma arquitetura de cluster mempool para melhorar a forma como os nós agrupam, ordenam e removem transações ligadas quando os limites da memória local são atingidos.
Um bloco cheio e um mempool cheio são eventos diferentes. Os blocos do Bitcoin são limitados pelo consenso a 4 milhões de unidades de weight, uma métrica que contabiliza como os dados das transações são estruturados. Por predefinição, os nós do Bitcoin Core permitem cerca de 300 MB de memória para os seus mempools locais e podem reter transações durante até 336 horas. Um bloco pode encher-se enquanto ainda há muitas transações em memória, à espera de confirmação.
Uma transação entra primeiro no mempool de um nó, uma área temporária de retenção para pagamentos válidos que ainda não foram confirmados. Cada nó mantém a sua própria versão, aplica políticas locais e pode ver um conjunto ligeiramente diferente de transações pendentes. Não existe um mempool único e universal em toda a rede Bitcoin.
Normalmente, os mineiros não escolhem transações pela idade. Constroem “templates” de bloco com base em comissões, weight da transação e dependências entre pagamentos. A unidade prática que os utilizadores veem é a taxa de satoshis por byte virtual, ou sat/vB. Uma taxa mais alta oferece aos mineiros mais receita pelo mesmo espaço de bloco escasso, pelo que os pacotes de comissões mais fortes tendem a avançar primeiro.
Um pagamento enviado primeiro pode ser confirmado depois de um pagamento enviado minutos mais tarde. Uma transação com comissão alta pode propagar-se pela rede e cair nos próximos “templates” dos mineiros. Uma transação com comissão baixa pode permanecer abaixo do corte, mesmo depois de passarem vários blocos. As estimativas de confirmação ajudam, mas não são promessas, porque novas transações chegam continuamente e os blocos surgem em intervalos irregulares.
Quando há transações pendentes suficientes a competir por cada bloco, o mempool torna-se um ambiente concorrencial. Transações novas e com melhor remuneração podem deslocar propostas mais fracas. Se um nó do Bitcoin Core atingir o limite de memória configurado, remove o grupo ligado de transações economicamente mais fraco e aumenta a “taxa mínima” local de forma contínua (rolling). A transação removida não é inválida, e a blockchain não a cancelou. Simplesmente, aquele nó deixou de a carregar.
Para um utilizador comum, a primeira consequência é o atraso. Uma carteira pode indicar que um pagamento está pendente durante horas enquanto transações mais recentes confirmam. Para um trader, mesa de câmbio ou tesouraria, esse atraso pode adiar um depósito numa exchange, atrasar o movimento de garantias, interromper uma transferência de arbitragem ou deixar fundos indisponíveis durante um mercado rápido.
Como as comissões estão ligadas sobretudo ao peso da transação e não ao valor transferido, um pagamento de 50 dólares e uma transferência de 5 milhões de dólares podem competir de forma semelhante quando as suas estruturas de transação são comparáveis. Quanto mais sensível ao tempo for a transferência, mais caro pode tornar-se um subpagamento.
A segunda consequência é um mercado de comissões mais alto. O Bitcoin não tem uma “base fee” ao nível do protocolo. Em vez disso, os utilizadores competem com a taxa marginal que os mineiros conseguem encaixar no próximo bloco, enquanto cada nó também mantém um “piso” local de admissão. Sob pressão, esse piso dinâmico pode subir muito acima da configuração básica de retransmissão (relay) do software.
A terceira consequência é a incerteza antes do acerto. Ver uma transação num explorador de blocos é evidência de que alguns nós a conhecem, não prova de que todos os mineiros a conhecem. Um pagamento não confirmado pode ser substituído, removido ou deixar de ser visível para um nó, enquanto continua a ser um gasto válido que ainda é possível. As empresas que disponibilizam bens, creditam contas ou tratam um depósito como final com zero confirmações estão a aceitar o risco de que a congestão torne isso mais evidente.
O próprio Bitcoin dá aos utilizadores duas formas principais de reprecificar um pagamento atrasado. Replace-by-fee, conhecido como RBF, permite ao pagador substituir uma transação não confirmada por outra que paga mais. Child-pays-for-parent, ou CPFP, segue um caminho diferente: uma saída gastável da transação atrasada é usada numa nova transação filha com comissão alta, dando aos mineiros um incentivo para incluírem pai e filha em conjunto.
Nenhuma destas ferramentas é automática. Uma substituição por RBF tem de cumprir a política do nó e pagar o suficiente para ultrapassar tanto a transação que substitui como a taxa de mercado atual. Uma transação filha CPFP tem de elevar a comissão combinada do pacote inteiro, não apenas parecer cara por si. O objetivo real não é a comissão mínima de retransmissão (relay). É a taxa de comissão perto do fim (tail) do próximo bloco provável.
Fora destas duas opções, “mining accelerators” são serviços oferecidos por alguns pools de mineração que permitem aos utilizadores submeter uma transação para consideração prioritária quando está presa no mempool com uma comissão baixa. Em vez de alterar as regras de consenso do Bitcoin, o acelerador apenas pede aos mineiros participantes que incluam essa transação num dos próximos blocos que minerem. Alguns aceleradores são gratuitos, mas têm requisitos de elegibilidade, enquanto outros cobram uma taxa ou exigem que a transação cumpra uma comissão mínima. O ViaBTC transfer accelerator oferece 20 “pushes” gratuitos por hora.
O Bitcoin Core 31.0 altera algumas das “peças” por trás da seleção de transações. O seu cluster mempool agrupa transações não confirmadas ligadas (conectadas) e ordena-as pela comissão pela qual se espera que o grupo seja minerado. Os limites de cluster por predefinição são 64 transações e 101 kB em tamanho virtual. O desenho pretende melhorar a construção de blocos, decisões de remoção (eviction), retransmissão de transações (transaction relay) e substituição, sem alterar o teto de consenso de 4 milhões de unidades de weight do Bitcoin.
Outros trabalhos de engenharia procuram reduzir o custo de movimentar blocos completos pela rede. A compact block relay permite a um nó reconstruir grande parte de um novo bloco a partir das transações que já possui, reduzindo os dados e o tempo necessários para a propagação. Isto importa porque uma propagação mais lenta pode aumentar o risco de dois mineiros construírem rapidamente em pontas (tips) de cadeias diferentes.
O que acontece quando um bloco do Bitcoin atinge o limite de 4 milhões de unidades de weight?
Quando um bloco do Bitcoin atinge o limite de consenso de 4 milhões de unidades de weight, os mineiros priorizam transações pela comissão medida em satoshis por byte virtual (sat/vB). As transações que oferecem comissões mais altas são selecionadas primeiro, enquanto as transações com comissão mais baixa permanecem no mempool à espera de blocos subsequentes. O limite do bloco não invalida transações pendentes; elas continuam à espera no mempool local de cada nó, que pode retê-las até 336 horas por predefinição.
Como é que o cluster mempool do Bitcoin Core 31.0 melhora o tratamento das transações?
O Bitcoin Core 31.0 introduziu uma arquitetura de cluster mempool que agrupa transações não confirmadas ligadas e as ordena pela comissão pela qual se espera que o grupo seja minerado. Os limites de cluster por predefinição são 64 transações e 101 kB em tamanho virtual. Esta conceção melhora a construção do bloco, decisões de remoção (eviction), retransmissão de transações e tratamento de substituições, sem alterar o limite de consenso de 4 milhões de unidades de weight do bloco no Bitcoin.
Quais são os três métodos para acelerar uma transação do Bitcoin “presa”?
Os utilizadores do Bitcoin têm três métodos de aumento de comissão para transações presas: Replace-by-fee (RBF) permite ao pagador substituir uma transação não confirmada por outra que paga uma comissão mais alta; Child-pays-for-parent (CPFP) usa uma saída gastável da transação atrasada numa nova transação filha com comissão alta, incentivando os mineiros a incluírem ambos; e mining accelerators oferecidos por alguns pools, como a ViaBTC, que fornecem 20 “priority pushes” gratuitos por hora, pedem aos mineiros participantes que incluam a transação nos próximos blocos.
Notícias relacionadas
Os ETF de Bitcoin registaram entradas de 75,7 milhões de dólares na semana que termina a 17 de julho, após uma sequência de saídas de 8,2 mil milhões de dólares
A Binance e a Bybit registaram saídas de stablecoins no valor de 2,3 mil milhões de dólares ao longo de 30 dias
As carteiras de baleias de Bitcoin acumularam 66.700 BTC em 60 dias até 19 de julho.