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.
)
Um mempool é uma espécie de 'sala de espera' no nó 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.
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.
Primeiro, deve notar que os blockchains não têm apenas um mempool. Pelo contrário, cada nó 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.
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.
Primeiro, vai indicar o endereço da carteira do seu amigo, aceitar as taxas de transação de blockchain e depois carregar em 'Enviar'.
A transação será adicionada ao mempool mais próximo como uma transação 'em fila'.
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.
Se os nós aprovarem a transação, o seu estado muda de “em fila” para “pendente”.
Eventualmente, a transação pendente será escolhida por um mineiro e adicionada a um novo bloco.
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.
Nesta fase, os nós que ainda têm a sua transação armazenada nos seus mempools irão eliminá-la.
Finalmente, a sua transação está concluída e o seu amigo recebe o 0.01 BTC.
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:
Média de transações de Bitcoin por gráfico de blocos: Ycharts.com
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.
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.
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.
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:
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.
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.
Agora, vamos ver como funcionam os mempools no Bitcoin e no Ethereum, os dois maiores blockchains a nível mundial.
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.
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.
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.
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.
)
Um mempool é uma espécie de 'sala de espera' no nó 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.
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.
Primeiro, deve notar que os blockchains não têm apenas um mempool. Pelo contrário, cada nó 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.
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.
Primeiro, vai indicar o endereço da carteira do seu amigo, aceitar as taxas de transação de blockchain e depois carregar em 'Enviar'.
A transação será adicionada ao mempool mais próximo como uma transação 'em fila'.
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.
Se os nós aprovarem a transação, o seu estado muda de “em fila” para “pendente”.
Eventualmente, a transação pendente será escolhida por um mineiro e adicionada a um novo bloco.
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.
Nesta fase, os nós que ainda têm a sua transação armazenada nos seus mempools irão eliminá-la.
Finalmente, a sua transação está concluída e o seu amigo recebe o 0.01 BTC.
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:
Média de transações de Bitcoin por gráfico de blocos: Ycharts.com
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.
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.
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.
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:
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.
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.
Agora, vamos ver como funcionam os mempools no Bitcoin e no Ethereum, os dois maiores blockchains a nível mundial.
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.
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.
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.