Conjunto de membros do cluster1 é uma reformulação completa de como o mempool lida com a organização e classificação de transações, conceituada e implementada por Suhas Daftuar e Pieter Wuille. O projeto visa simplificar a arquitetura geral, alinhar melhor a lógica de classificação de transações com os incentivos dos mineradores e melhorar a segurança dos protocolos de segunda camada. Foi incorporado ao Bitcoin Core em PR #336292 em 25 de novembro de 2025.
O mempool é um conjunto gigante de transações pendentes que seu nó precisa acompanhar por vários motivos: estimativa de taxas, validação de substituição de transação e construção de bloco, se você for um minerador.
São muitos objetivos diferentes para uma única função do seu nó de serviço. O Bitcoin Core até a versão 30.0 organiza o mempool de duas maneiras diferentes para ajudar nessas funções, tanto do ponto de vista relativo de qualquer transação: taxa combinada olhando para frente da transação e seus filhos (taxa descendente), e taxa combinada olhando para trás da transação e seus pais (taxa ancestral).
Eles são usados para decidir quais transações expulsar do seu mempool quando ele estiver cheio e quais incluir primeiro ao construir um novo modelo de bloco.
Como meu Mempool é gerenciado?
Quando um minerador está decidindo se deve incluir uma transação em seu bloco, seu nó analisa essa transação e quaisquer ancestrais que devem ser confirmados primeiro para que ela seja válida em um bloco, e observa a taxa média por byte em todos eles juntos, considerando as taxas individuais que pagaram como um todo. Se esse grupo de transações se enquadrar no limite de tamanho do bloco e, ao mesmo tempo, superar outros em taxas, ele será incluído no próximo bloco. Isso é feito para cada transação.
Quando seu nó está decidindo quais transações expulsar de seu mempool quando estiver cheio, ele analisa cada transação e todos os filhos que possui, despejando a transação e todos os seus filhos se o mempool já estiver cheio com transações (e seus descendentes) pagando uma taxa mais alta.
Veja o exemplo de gráfico de transações acima, as taxas são mostradas como tal entre parênteses (taxa ancestral, taxa descendente). Um minerador que olhasse para a transação E provavelmente a incluiria no próximo bloco, uma pequena transação que paga uma taxa muito alta com um único ancestral pequeno. No entanto, se o mempool de um nó estivesse sendo preenchido, ele analisaria a transação A com dois filhos enormes pagando uma taxa relativa baixa e provavelmente a despejaria ou não a aceitaria e a manteria se acabasse de ser recebida.
Essas duas classificações, ou ordenações, estão completamente em desacordo. O mempool deve propagar de forma confiável o que os mineradores irão minerar, e os usuários devem ter certeza de que seu mempool local prevê com precisão o que os mineradores irão minerar.
O mempool funcionando desta forma é importante para:
- Descentralização da mineração: obtendo todos mineradores o conjunto de transações mais lucrativo
- Confiabilidade do usuário: estimativa precisa e confiável de taxas e tempos de confirmação de transação
- Segurança de segunda camada: execução confiável e precisa de transações de aplicação em cadeia de protocolos de segunda camada
O comportamento actual do mempool não se alinha totalmente com a realidade dos incentivos à mineração, o que cria pontos cegos que podem ser problemáticos para a segurança da segunda camada, criando incerteza sobre se uma transacção chegará a um mineiro, bem como pressão para canais de radiodifusão não públicos para os mineiros, agravando potencialmente o primeiro problema.
Isto é especialmente problemático quando se trata de substituir transações não confirmadas, seja simplesmente para incentivar os mineradores a incluir uma substituição mais cedo ou como parte de um protocolo de segunda camada que está sendo aplicado na cadeia.
A substituição de acordo com o comportamento existente torna-se imprevisível dependendo da forma e tamanho da rede de transações em que a sua está presa. Em uma situação simples de aumento de taxas, isso pode falhar na propagação e substituição de uma transação, mesmo quando a mineração, a substituição seria melhor para um minerador.
No contexto dos protocolos de segunda camada, a lógica atual permite que os participantes potencialmente consigam que as transações ancestrais necessárias sejam despejadas do mempool, ou impossibilite que outro participante envie uma transação secundária necessária para o mempool sob as regras atuais devido a transações secundárias criadas pelo participante mal-intencionado, ou à expulsão de transações ancestrais necessárias.
Todos estes problemas são o resultado destas classificações inconsistentes de inclusão e despejo e dos desalinhamentos de incentivos que criam. Ter uma classificação global única resolveria esses problemas, mas reordenar globalmente todo o mempool para cada nova transação é impraticável.
É tudo apenas um gráfico
As transações que dependem umas das outras são um gráfico ou uma série direcionada de “caminhos”. Quando uma transação gasta resultados criados por outra no passado, ela está vinculada a essa transação passada. Quando gasta adicionalmente os resultados criados por uma segunda transação passada, ele vincula ambas as transações históricas.
Quando não confirmadas, cadeias de transações como esta deve tenha as transações anteriores confirmadas primeiro para que as posteriores sejam válidas. Afinal, você não pode gastar resultados que ainda não foram criados.
Este é um conceito importante para a compreensão do mempool, pois é explicitamente ordenado direcionalmente.
É tudo apenas um gráfico.
Pedaços fazem clusters fazem Mempools
No cluster mempool, o conceito de um conjunto é um grupo de transações não confirmadas que estão diretamente relacionadas entre si, ou seja, resultados de gastos criados por outros membros do cluster ou vice-versa. Isto se torna uma unidade fundamental da nova arquitetura mempool. Analisar e ordenar todo o mempool é uma tarefa impraticável, mas analisar e ordenar clusters é muito mais gerenciável.
Cada cluster é dividido em pedaçospequenos conjuntos de transações do cluster, que são então classificados na ordem da maior taxa por byte para a menor, respeitando as dependências direcionais. Então, por exemplo, digamos que da taxa mais alta para a mais baixa, os pedaços no cluster (A) sejam: (A,D), (B,E), (C,F), (G, J) e por último (I, H).
Isso permite a pré-classificação de todos esses pedaços e clusters e uma classificação mais eficiente de todo o mempool no processo.
Os mineradores agora podem simplesmente pegar os pedaços com taxas mais altas de cada cluster e colocá-los em seu modelo. Se ainda houver espaço, eles podem ir para os próximos pedaços com taxas mais altas, continuando até que o bloco esteja quase cheio e só precise descobrir as últimas transações que ele pode caber. Este é aproximadamente o método ideal de construção de modelo de bloco, assumindo acesso a todas as transações disponíveis.
Quando os mempools dos nós ficam cheios, eles podem simplesmente pegar os pedaços com taxas mais baixas de cada cluster e começar a expulsá-los de seu mempool até que não ultrapasse o limite configurado. Se isso não bastasse, ele passa para os próximos pedaços de taxa mais baixa e assim por diante, até estar dentro dos limites do mempool. Feito desta forma, elimina casos extremos estranhos que não estão alinhados com os incentivos à mineração.
A lógica de substituição também é drasticamente simplificada. Compare o cluster (A) com o cluster (B) onde a transação K substituiu G, I, J e H. O único critério que precisa ser atendido é que o novo pedaço (K) deve ter uma taxa de pedaço mais alta do que (G, J) e (I, H), (K) deve pagar mais em taxas totais do que (G, J, I, H) e K não pode ultrapassar o limite superior de quantas transações está substituindo.
Em um paradigma de cluster, todos esses diferentes usos estão alinhados entre si.
O Novo Mempool
Esta nova arquitetura nos permite simplificar os limites do grupo de transações, removendo as limitações anteriores sobre quantos ancestrais não confirmados uma transação no mempool pode ter e substituindo-as por um limite de cluster global de 64 transações e 101 kvB por cluster.
Este limite é necessário para manter o custo computacional de pré-classificação dos clusters e seus pedaços baixo o suficiente para ser prático para os nós funcionarem de forma constante.
Este é o verdadeiro insight chave do cluster mempool. Ao manter os pedaços e clusters relativamente pequenos, você simultaneamente torna barata a construção de um modelo de bloco ideal, simplifica a lógica de substituição de transações (aumento de taxas) e, portanto, melhora a segurança da segunda camada e corrige a lógica de despejo, tudo de uma vez.
Chega de computação dinâmica e cara e lenta para construção de modelos, ou comportamento imprevisível no aumento de taxas. Ao corrigir o desalinhamento de incentivos na forma como o mempool gerenciava a organização das transações em diferentes situações, o mempool funciona melhor para todos.
Cluster mempool é um projeto que está sendo elaborado há anos e terá um impacto material ao garantir que modelos de blocos lucrativos estejam abertos a todos os mineradores, que os protocolos de segunda camada tenham comportamentos de mempool sólidos e previsíveis para serem construídos e que o Bitcoin possa continuar funcionando como um sistema monetário descentralizado.
Para aqueles interessados em se aprofundar nos detalhes de como o cluster mempool é implementado e funciona nos bastidores, aqui estão dois tópicos Delving Bitcoin que você pode ler:
Visão geral da implementação de alto nível (com justificativa do design): https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393
Como funcionam os diagramas de Feerate do Cluster Mempool: https://delvingbitcoin.org/t/mempool-incentive-compatibility/553
Não perca a chance de possuir A questão central — apresentando artigos escritos por muitos Desenvolvedores Principais explicando os projetos nos quais eles trabalham!
Esta peça é a Carta do Editor apresentada na última edição impressa da Bitcoin Magazine, The Core Issue. Estamos compartilhando isso aqui como uma prévia das ideias exploradas ao longo da edição completa.
FonteCoinDesk
Cointelegraph
Decrypt
Bitcoin Magazine