O que é um Mempool e como funciona?

PrincipianteDec 03, 2023
Este artigo oferece o papel crítico do " mempool " nas transações de criptomoeda, proporcionando uma compreensão profunda do seu conceito e operações. Destaca a dinâmica e os ciclos de vida das transações tratadas dentro do mempool, explicando as possíveis razões para congestionamentos e atrasos.
O que é um Mempool e como funciona?

Se alguma vez executou uma transação de criptomoeda, como enviar fundos para outro endereço de carteira, pode ter notado um atraso. Estas transações atrasadas são normalmente mantidas no que é chamado de 'mempool. '

Este guia detalha o que é um mempool, como funciona e porque é uma parte essencial de uma transação de criptomoeda.

)

O que é um mempool?

Um mempool é uma espécie de 'sala de espera' no de uma cadeia de blocos onde as transações não mineradas são armazenadas. O termo “mempool” é uma combinação de duas palavras — “memória” e “pool” e refere-se ao espaço onde as transações pendentes aguardam na fila antes de serem adicionadas ao blockchain.

O Bitcoin foi o primeiro blockchain a introduzir e utilizar o conceito de um pool de memória de transação (mempool). Outros blockchains como o Ethereum também adotaram o termo mais tarde. Todos os blockchains têm algum tipo de mempool, mesmo que possam ter um termo diferente para isso. Por exemplo, a cadeia de blocos Parity utiliza o termo “Fila de Transações” para representar mempools na sua cadeia.

Papel nas transações de blockchain

Os mempools desempenham um papel importante na forma como os nós de blockchain operam. Para que uma transação seja concluída e registada numa cadeia de blocos, deve primeiro ser adicionada a um bloco. No entanto, nem todos os nós numa rede blockchain podem criar um novo bloco. Por exemplo, em blockchains que operam usando um mecanismo de prova de trabalho, como o Bitcoin, apenas os mineradores podem adicionar transações a um novo bloco. Quanto aos blockchains que utilizam um mecanismo de prova de participação, como o Ethereum, apenas validadores ou proponentes podem adicionar transações a um bloco.

Depois de iniciar uma transação, os utilizadores devem depender de um mineiro ou de um validador para aprovar a transação e adicioná-la à cadeia de blocos. Isso não acontece instantaneamente. Em vez disso, há um atraso entre o momento em que uma transação foi iniciada e quando será concluída. Durante este tempo, a transação é armazenada num mempool aguardando confirmação.

Como funciona o mempool?

Primeiro, deve notar que os blockchains não têm apenas um mempool. Pelo contrário, cada numa determinada rede blockchain tem o seu próprio pool de memória de transação. Por exemplo, cada nó na cadeia de blocos do Bitcoin tem o seu próprio conjunto de transações à espera de ser adicionado ao livro-razão público. Juntos, os mempools em nós individuais constituem um mempool coletivo.

Quando um utilizador inicia uma transação, é enviada para um nó. O nó irá então adicionar a transação ao seu mempool e colocá-la numa fila, aguardando validação. Assim que a transação for validada, será marcada como 'pendente'. Os mineiros só podem adicionar transações marcadas como 'pendentes' a um novo bloco.

Dinâmica de Mempool e ciclo de vida das transações

Para ilustrar a dinâmica do mempool e o ciclo de vida das transações, vamos supor que deseja enviar 0.01BTC a um amigo.

  1. Primeiro, vai indicar o endereço da carteira do seu amigo, aceitar as taxas de transação de blockchain e depois carregar em 'Enviar'.

  2. A transação será adicionada ao mempool mais próximo como uma transação 'em fila'.

  3. Em seguida, a transação será transmitida para outros nós da rede, mas ainda não estará disponível na blockchain. Em vez disso, cada nó realiza testes individuais para verificar se a transação é genuína.

  4. Se os nós aprovarem a transação, o seu estado muda de “em fila” para “pendente”.

  5. Eventualmente, a transação pendente será escolhida por um mineiro e adicionada a um novo bloco.

  6. Em seguida, o mineiro vai transmitir este bloco de volta a todos os nós. Como resultado, todos os nós terão agora acesso a todas as transações incluídas no novo bloco.

  7. Nesta fase, os nós que ainda têm a sua transação armazenada nos seus mempools irão eliminá-la.

  8. Finalmente, a sua transação está concluída e o seu amigo recebe o 0.01 BTC.

Congestionamento de Mempool e atraso

O congestionamento num mempool de transações ocorre quando a procura de transações excede o número de transações que podem caber num bloco. Vários fatores podem desencadear o backlog do mempool. Estes incluem:

  • Congestionamento na rede: Se a rede blockchain estiver a experimentar grandes volumes de transações, irá pressionar o espaço de bloco disponível, eventualmente levando ao congestionamento do mempool. Por exemplo, o número médio de transações num bloco na cadeia de blocos Bitcoin é atualmente cerca de 2800. Se o número de transações pendentes ultrapassar muito este número durante várias horas, a rede ficará congestionada e, como resultado, os mempools também ficarão congestionados.

Média de transações de Bitcoin por gráfico de blocos: Ycharts.com

  • Eventos ou notícias: Eventos e notícias que afetam diretamente a indústria de blockchain, como lançamentos de tokens, airdrops ou suporte de personalidades famosas, podem causar picos repentinos na procura de transações. Estes picos podem levar a um atraso temporário do mempool.
  • Forks ou actualizações de rede: As atividades de rede como bifurcações ou uma actualização para uma rede blockchain podem causar congestionamento momentâneo do mempool à medida que os nós da rede atualizam as alterações.

Compreender esses fatores e como eles afetam o congestionamento do mempool é importante para os utilizadores e programadores. Permite-lhes antecipar potenciais atrasos e fazer os ajustes necessários para poupar nas taxas de gás e evitar atrasos.

Gerir a prioridade e as taxas da transação

Com muitas transações ocorrendo ao mesmo tempo, existem vários fatores que determinam quais transações são priorizadas dentro de um mempool. Destacamos alguns deles abaixo.

Estimativa de taxas e inclusão de transações

Um dos principais fatores que determinam a ordem de execução de transações dentro de um mempool são as taxas associadas a cada transação. Os mineiros e validadores são movidos pelo lucro e podem escolher quais transações querem adicionar a um novo bloco. Sem surpresa, favorecem transações com taxas mais elevadas associadas a eles uma vez que isso se traduz em maiores recompensas.

Portanto, as taxas associadas a uma transação influenciam fortemente as suas hipóteses de ser incluída num bloco. Os mineiros normalmente organizam transações dentro dos seus mempools em termos de taxas por unidade de dados de transação, normalmente representados como satoshis/byte. A partir daí, priorizam as transações com as taxas mais altas até que o bloco esteja cheio.

Esta abordagem baseada em taxas cria um mercado competitivo dentro dos mempools. Força os utilizadores a escolher entre pagar taxas mais altas para a conclusão rápida da transação ou taxas mais baixas à custa de períodos de espera mais longos.

No entanto, os utilizadores podem estimar a taxa ideal que não é demasiado cara mas ainda assim garantiria uma confirmação atempada. Isso pode ser conseguido considerando alguns fatores, como dados históricos, volume de transações, congestionamento de rede e distribuição de taxas dentro do mempool. A maioria das plataformas populares, como carteiras cripto e bolsas, têm ferramentas que podem analisar o estado atual de um mempool e recomendar as taxas mais apropriadas.

Ainda assim, fazer estimativas precisas de taxas não é uma ciência exata e os desafios permanecem. Por exemplo, as condições da rede podem mudar rapidamente, tornando os dados históricos pouco fiáveis. Além disso, as taxas podem tornar-se altamente voláteis durante períodos de alta procura, levando a flutuações inesperadas das taxas.

Impacto do congestionamento da rede

O congestionamento da rede afeta a forma como as transações são processadas e a dinâmica das taxas de gás de várias maneiras:

  1. Aumento dos tempos de confirmação: Quando há congestionamento, os mineiros começam a priorizar as transações que pagam taxas de gás mais elevadas. Isso geralmente leva a tempos de confirmação mais longos. Se o mempool permanecer congestionado, as transações que pagam as taxas de gás mais baixas podem levar horas ou até dias a serem concluídas.
  2. Competição de taxas: O congestionamento no mempool muitas vezes faz com que os utilizadores comecem a competir para que as suas transações sejam adicionadas a um bloco rapidamente. Isto significa que para os mineiros ou validadores priorizarem a sua transação, tem de pagar taxas mais altas. Isto resulta em taxas mais elevadas durante os horários de pico.

Sincronização de Mempool e espaço em bloco

Os Mempools não têm de manter uma lista correspondente de todas as transações à espera de serem adicionadas a um bloco. No entanto, têm de saber quais transações já foram adicionadas à cadeia de blocos para que possam removê-la do seu mempool caso ainda esteja armazenada lá. Quando um mineiro transmite um novo bloco para os nós, pode verificar esta informação e assim conseguir a sincronização do mempool. Isto garante que apenas as transações não minadas são mantidas em mempools.

O espaço em bloco, por outro lado, é a capacidade disponível para incluir transações num novo bloco. Uma vez que este espaço é limitado, os mineiros ou validadores priorizam as transações com taxas de gás mais elevadas enquanto o resto é enviado para os mempools aguardando confirmações.

Tamanho do Mempool e despejo

Cada transação adicionada a um mempool é um dado não superior a alguns kilobytes (kb). A soma de todos os bytes que compõem as transações é o tamanho do mempool. Um tamanho maior de mempool indica que existem inúmeras transações a aguardar confirmação. Também pode significar um pico no tráfego de rede.

Tabela de tamanhos Mempool. Fonte: Blockchain.com

Embora os mempools não tenham um tamanho máximo predefinido, os nós podem definir limites de tamanho para os seus mempools. Isto é normalmente fixado em 300 MB para o Bitcoin. Quando o mempool atinge este limiar, os nós podem impor um requisito mínimo de taxa de transação. Quaisquer transações com uma taxa inferior a este limite são despejadas do mempool. Ao fazê-lo, os nós podem evitar falhar devido a uma sobrecarga de transações pendentes.

Compreender como o tamanho do mempool afeta as taxas de transação e os tempos é importante, uma vez que permite aos utilizadores escolher os melhores horários para realizar uma transação. Existem vários sites que rastreiam o tamanho global do mempool na rede Bitcoin, como o mempool.space e o BitcoinTicker.co.

Mempool nas redes Bitcoin e Ethereum

Agora, vamos ver como funcionam os mempools no Bitcoin e no Ethereum, os dois maiores blockchains a nível mundial.

Bitcoin Mempool

Todas as transações válidas enviadas através da rede Bitcoin não são adicionadas à cadeia de blocos instantaneamente. Têm de esperar no Mempool Bitcoin.

Originalmente, as taxas de transação em Bitcoin eram medidas no número de satoshis por byte de transação. No entanto, isso mudou após a atualização do SegWit. Agora, as transações num mempool Bitcoin são medidas em unidades de peso. Esta atualização introduziu o que é conhecido como uma funcionalidade SegWit.

Como resultado da atualização, os blocos de Bitcoin podem agora acomodar até quatro vezes mais transações.

Ethereum Mempool

Tal como o Bitcoin, a cadeia de blocos Ethereum inicialmente utilizou o mempool Ethereum para servir como armazenamento temporário para transações que aguardavam ser adicionadas a um bloco pelos mineiros. No entanto, após a mudança do Ethereum de um mecanismo de consenso de prova de trabalho para um mecanismo de consenso de prova de participação, a rede introduziu o conceito de construtor de blocos.

Os construtores de blocos são entidades terceirizadas especializadas que compilam transações para criar um pacote de transações otimizado que pode formar um bloco. Fazem-no reordenando ou incluindo certas transações no pacote a partir de um pool de memória de transação. Eventualmente, oferecem os pacotes aos proponentes/validadores para inclusão num bloco a uma taxa.

O valor de um bloco depende das transações que ele contém. Portanto, incentiva os construtores de blocos a criar os blocos mais lucrativos, uma vez que provavelmente serão priorizados e confirmados mais rapidamente pelos validadores. Consequentemente, tal como noutras blockchains, quanto mais taxas pagar no Ethereum, maiores serão as hipóteses de a sua transação ser confirmada mais cedo.

Mempools são a chave para transações descentralizadas

Um mempool é um componente vital nas transações de blockchain. Atua como uma forma de 'sala de espera' onde transações não confirmadas aguardam validação e, finalmente, inclusão num novo bloco. Compreender a mecânica de um mempool, como filas de transações, validação e priorização de taxas, é essencial para os utilizadores de criptomoedas.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Beincrypto]. Todos os direitos de autor pertencem ao autor original [Alex Lielacher]. Se houver objeções a esta reimpressão, contacte a equipa do Gate Learn, e eles tratarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outras línguas são feitas pela equipa do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
立即註冊