Glossário / Transações e taxas
Mempool
Outros nomes: Pool de memória.
- O que é uma mempool?
- Uma mempool é o conjunto de transações válidas das quais um nó tem notícia, mas que ainda não viu em um bloco, mantidas na memória enquanto esperam que um minerador as inclua.
Não existe uma única mempool. Cada nó mantém a sua, limitada, no Bitcoin Core, a 300 megabytes por padrão, e descarta as transações mais baratas quando esse limite é atingido. O que um site de mempool mostra é a visão da fila de um único nó, próxima o bastante para escolher uma taxa, mas nunca a palavra final.
Como funciona
A chegada é um processo de filtragem, não uma senha de fila. Quando uma transação chega a um nó, ela é verificada em relação às regras de consenso e depois em relação à política de retransmissão daquele nó, e somente se passar nas duas o nó a armazena e a encaminha aos pares. Uma transação rejeitada simplesmente não é repassada, e se pares suficientes a rejeitarem, ela nunca chega a nenhum minerador.
O armazenamento é limitado, o que surpreende quem espera que uma sala de espera seja infinita. A configuração -maxmempool tem como padrão 300 megabytes, e quando o armazenamento se enche, o nó expulsa as transações com a menor taxa por unidade de tamanho e eleva o próprio piso de aceitação acima do mínimo habitual. Tudo o que ainda estiver esperando depois de -mempoolexpiry horas também é descartado, e esse padrão é de 336 horas, ou exatamente 14 dias. Desde o Bitcoin Core 0.14.0, o conteúdo sobrevive a uma reinicialização porque é gravado em um arquivo mempool.dat, então desligar seu nó não apaga mais o que ele sabia.
A ordem é pelo preço por unidade de tamanho. Um minerador que monta um bloco candidato ordena pela taxa por unidade e preenche de cima para baixo o orçamento de 4.000.000 unidades de peso, julgando uma transação junto com quaisquer transações pai não confirmadas das quais ela dependa. O Bitcoin Core 31.0 reconstruiu a mempool exatamente em torno dessa ideia, agrupando transações conectadas em clusters de até 64 membros e classificando-as pela taxa à qual elas realmente seriam mineradas. O horário de chegada não conta para nada, e é por isso que uma transação transmitida esta manhã pode ser ultrapassada durante toda a tarde por outras posteriores que pagam mais.
Como cada nó aplica suas próprias configurações, o conteúdo varia de máquina para máquina. Um nó que foi reiniciado há uma hora sabe menos que um que está rodando há um mês, um nó que executa o Bitcoin Knots filtra de forma diferente de um que executa o Bitcoin Core, e os mineradores podem receber diretamente transações que nunca trafegaram pela rede.
Por que isso importa quando você compra bitcoin
Verificar a fila antes de mover bitcoins é o hábito mais barato que existe no bitcoin. O mesmo saque pode custar algumas centenas de satoshis em um fim de semana tranquilo e dezenas de milhares durante um pico, e nada na sua carteira avisa em qual situação você está. Uma olhada na taxa atual do próximo bloco antes de clicar em sacar vale mais do que qualquer configuração de taxa que uma carteira ofereça.
A corretora que você usa muda o quanto isso importa. A Binance, a Kraken e a Coinbase precificam os saques de bitcoin pela rede, então o valor que elas cotam sobe quando a fila está cheia e cai quando ela se esvazia, e esperar por uma hora tranquila vale dinheiro de verdade. As plataformas que em vez disso publicam uma taxa de saque fixa cobram o mesmo valor independentemente do que a fila esteja fazendo, o que as torna punitivas em um dia calmo e uma pechincha durante o congestionamento. Saber em qual modelo você está diz se esperar lhe traz algum benefício.
O congestionamento também chega sem aviso e por motivos sem relação com pagamentos. As ondas de emissão de tokens de 2023 e o lançamento do Runes em abril de 2024 encheram blocos de dados, empurrando poupadores comuns para uma guerra de lances na qual eles não tinham nenhum interesse em entrar. Se você faz compras recorrentes pela Swan ou pela River com saques automáticos, a resposta sensata é um limite que mova bitcoins em menos transações e de maior valor, em vez de um cronograma semanal fixo que ignora o estado da fila.
Ler a fila antes de clicar em sacar
Abra qualquer painel de mempool e você verá três coisas: as transações em espera, as faixas de taxa nas quais elas se encontram e os blocos projetados que essas faixas preencheriam. Uma faixa marcada para o próximo bloco é o que você paga para ser minerado em cerca de dez minutos; as faixas mais baixas são o que você paga para esperar.
Coloque números nisso com uma varredura de uma entrada para uma saída. Essa transação tem cerca de 110 bytes virtuais com uma entrada SegWit nativa, então a 2 sat/vB ela custa 220 satoshis e a 90 sat/vB ela custa 9.900 satoshis. A transação é idêntica byte a byte nos dois casos. Só o momento que você escolheu é diferente, e essa é toda a lição.
O piso também vale conhecer. Dê um lance baixo demais e sua transação pode nunca ser aceita pelos pares, então ela não aparecerá nos exploradores e não poderá ter a taxa aumentada. Dê um lance um pouco baixo de propósito e você está apostando que a fila se esvaziará em 14 dias, depois dos quais os nós a descartam e os bitcoins da sua carteira voltam a ser gastáveis.
Mempool vs política de mempool
Uma mempool é um contêiner; a política é o porteiro. O contêiner guarda tudo o que passou nas verificações, e seu tamanho e sua expiração são configuráveis da mesma forma que a política, mas os dois respondem a perguntas diferentes. A política decide se uma transação pode entrar e ser retransmitida adiante; a mempool decide o que acontece com ela depois, incluindo quais transações são expulsas quando falta espaço.
Mempool vs bloco
Um bloco é um registro firmado e permanente com um limite rígido de 4.000.000 unidades de peso; uma mempool é uma estimativa temporária, privada e, em princípio, ilimitada do que os próximos blocos podem conter. As transações saem da mempool quando são mineradas, e saem dela de novo se o ramo que as contém for abandonado, caso em que voltam a esperar. Estar em uma mempool não é um compromisso de ninguém.