Cada pessoa que usou Bitcoin já usou um mempool. Então, o que é um mempool?
Do ponto de vista técnico, não existe um chamado "pool de memória único". Cada nó completo de Bitcoin opera o seu próprio pool de memória, que é um cache de transações Bitcoin válidas que foram transmitidas para a rede, mas ainda não confirmadas em um bloco. Os nós trocam mensagens entre si para ver quais transações possuem ou não, e trocam transações que não possuem.
Cada pool de memória é essencialmente uma "ilha" independente, com seu próprio conjunto de transações não confirmadas e, às vezes, até seus próprios parâmetros de configuração e definições. O tamanho do pool de memória pode ser configurado, com um valor padrão de 300 MB. Além disso, há uma taxa mínima que é ajustada dinamicamente e pode ser configurada para um valor. Isso é utilizado para decidir quais transações serão removidas do pool de memória quando ele estiver cheio e mais transações continuarem a entrar. Existem também outras opções configuráveis, como as opções datacarrier e datacarriersize, que afetam as transações que incluem a saída OP_RETURN.
As razões pelas quais diferentes nós executam pools de memória variam, portanto, as necessidades também são diferentes, mas, no final, a satisfação dessas necessidades é alcançada através da execução sincronizada dos respectivos pools de memória por todos os nós e da interação entre eles.
Você pode imaginar cada pool de memórias como uma verdadeira piscina, conectadas entre si através de canais subjacentes. Quanto maior o pool de memórias, mais fundo será o pool subjacente. Mineradores, exchanges, exploradores de blocos, todos eles se tornarão as piscinas mais profundas. Todos têm suas próprias motivações para querer entender cada transação não confirmada que está aguardando ser empacotada em um bloco. Os mineradores, para garantir que eles tenham as transações mais lucrativas no próximo bloco. As exchanges, para garantir que eles entendam todas as transações pendentes. Os exploradores de blocos, porque todo o seu serviço visa apresentar o conjunto de dados sobre blockchain e pools de memória de forma o mais completa possível. Seu nó comum na verdade só precisa ser suficientemente profundo para incluir a parte de maior taxa no "pool de memórias".
Agora, imagine cada transação como uma gota de líquido; quanto maior a taxa, maior a densidade do líquido. Esses líquidos fluem pelos canais entre as pools de mineração e, ao chegarem a cada pool, a gota de líquido recebida será copiada e, em seguida, enviada por meio do canal para qualquer outra pool que ainda não tenha recebido aquele líquido. À medida que as pools de mineração se enchem, quando o líquido transborda, o líquido de menor densidade (com taxa mais baixa) transbordará primeiro pela borda da pool.
No final, alguns mineradores sortudos vão retirar uma certa quantidade de líquido do fundo do pool de mineração e despejá-lo na mais recente canalização de vidro, formando um longo e sinuoso canal de vidro, preenchido com líquido, que permanecerá lá para sempre (blockchain). Esta é apenas uma forma intuitiva de pensar sobre o sistema e abranger a maior parte de suas dinâmicas.
Este arranjo de interconexão de pools de mineração oferece diferentes utilizações para diferentes usuários.
Trader
Quando um usuário faz uma transação, o mempool serve a dois propósitos. A primeira, e mais importante, é enviar suas transações para os mineradores. Se a transação não entrar no mempool do minerador, é impossível ser empacotado em blocos. Os mempools vinculam e compartilham transações uns com os outros, garantindo que, uma vez que uma transação é colocada em um mempool, ela acaba no mempool de todos os mineradores. Ter uma rede robusta e descentralizada que garante que as transações possam eventualmente ser enviadas dos usuários para todos os mineradores, independentemente das mudanças e fragmentação da conectividade da rede, é inestimável.
O segundo uso é a estimativa de custos, que é especialmente importante para os usuários do Layer 2, pois eles precisam garantir a confirmação oportuna das transações de resposta a estados inválidos a qualquer momento. Apenas observando as taxas das transações nesses blocos, pode-se estimar os custos até certo ponto, mas isso não fornece nenhuma informação sobre o estado do pool de memórias após o bloco mais recente. Não consegue explicar picos repentinos, a entrada de especuladores no pool de memórias, ou um aumento nas transações que ainda não terminou. Como não é possível visualizar o pool de memórias, a estimativa de custos não pode garantir se considera o estado atual das transações pendentes.
Recipiente
Quando você recebe Bitcoin, seu nó valida a transação e todo o bloco que contém essa transação. A transação paga a você será transmitida e, eventualmente, entrará no pool de memória dos mineradores, que encontrarão um bloco que será transmitido para a rede, e então seu nó fará o download e validará esse bloco.
Mas o funcionamento real não é assim (a menos que você desative o pool de memória do nó e opere apenas no modo de bloco). Seu nó valida cada transação quando a recebe pela primeira vez no pool de memória e a armazena como uma transação de Bitcoin válida. Quando um minerador encontra um bloco, ele na verdade apenas encaminha o cabeçalho do bloco e uma pequena quantidade de informações comprimidas (devido à falta de uma explicação mais simples), essas informações podem ser usadas para determinar quais transações estão incluídas no bloco. Em seguida, seu nó captura as transações previamente validadas, valida o cabeçalho do bloco e, se tudo passar, encaminha o "bloco compacto".
Esta otimização é, na verdade, o motivo pelo qual os mineradores não dependem mais de redes de retransmissão centralizadas e com permissão, como o FIBRE, mantido anteriormente por Matt Corrallo, e a brevemente existente Falcon Network. Devido à velocidade de retransmissão lenta da rede ponto a ponto, os mineradores no passado precisavam se conectar à Falcon Network para garantir uma baixa latência de retransmissão de blocos com outros mineradores.
Minerador
Os mineradores claramente desejam ver tudo. Eles são entidades movidas por lucros e esperam poder filtrar as transações em espera que contenham as taxas de pagamento mais altas, a partir do maior conjunto possível de transações pendentes. Esta é a forma como maximizam os lucros e geram receita para continuar a expandir seus negócios e manter a competitividade.
Eles na verdade obtêm fundos do pool de memórias. A motivação que eles têm para obter qualquer transação paga válida é tão forte que ao longo da história, agora e quase com certeza no futuro, eles estabeleceram muitos sistemas, até mesmo arranjos informais disponíveis na sociedade, com o intuito de permitir que os usuários enviem transações diretamente para os mineradores, em vez de através de uma rede ponto a ponto aberta.
Explorador de blocos, ferramentas de análise em cadeia, etc.
Eles, assim como os mineradores, esperam ver cada transação pendente que foi criada e transmitida para o mundo. A principal diferença entre os dois é que os mineradores lucram diretamente cobrando taxas dessas transações, enquanto os exploradores de blockchain e as empresas de análise lucram indiretamente exibindo, analisando e fornecendo análises de informações dessas transações em produtos rentáveis.
Não consigo listar exemplos específicos relacionados a dados de pool de memória cache, mas é bem conhecido que empresas de análise on-chain compram regularmente metadados de atividades de transações on-chain adquiridos em particular. Elas também operam nós de Bitcoin de bruxa, que se conectam o mais amplamente possível com nós em toda a rede para restringir o alcance do nó que inicialmente broadcastou a transação.
Os exploradores de blocos também lucram com a visualização dos dados da blockchain e da memória, e todo o seu modelo de negócios gira em torno disso. Se for possível apresentar essas informações de uma forma prática ou inovadora, então acessar mais dados e mostrá-los aos usuários significa que se pode obter mais informações de lucro potencial.
A Informação Deseja Fluir
Todos esses diferentes tipos de usuários beneficiam-se de um "pool de memória público" comum, e a razão é simples: a informação flui livremente entre eles. Desde que haja taxas suficientes passando pelo filtro de retransmissão mínimo, isso atende ao consenso e não coloca um único nó em risco de recusa de serviço legítima ou exaustão de recursos, ele pode fornecer valor para a disseminação de informações em cada pool de memória individual na rede para todos os tipos de usuários.
Se não houver um pool de memória pública totalmente funcional, a única alternativa viável para todos esses usuários individuais com diferentes propósitos é uma solução centralizada ou uma situação caótica difícil de gerenciar, ou seja, tentar de forma apressada e desorganizada construir pools de memória pública fragmentados, onde cada usuário precisa acompanhar individualmente esses pools de memória pública.
Isto não só pode trazer preocupações sobre a manipulação dos dados das taxas, enganar os utilizadores e o valor extraível para os mineradores devido a transações de retransmissão privadas. Sem um pool de memórias públicas saudável e aberto, estes são problemas que o Bitcoin deve enfrentar.
Nos artigos seguintes, irei investigar essas questões, bem como os diferentes tipos de filtros de pool de memória e as razões para a sua existência.
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
Enciclopédia Dourada | O que é o pool de memória do Bitcoin? Como funciona?
Fonte: Bitcoin Magazine; Compilado por: Wu Zhu, Jinse Caijing
Cada pessoa que usou Bitcoin já usou um mempool. Então, o que é um mempool?
Do ponto de vista técnico, não existe um chamado "pool de memória único". Cada nó completo de Bitcoin opera o seu próprio pool de memória, que é um cache de transações Bitcoin válidas que foram transmitidas para a rede, mas ainda não confirmadas em um bloco. Os nós trocam mensagens entre si para ver quais transações possuem ou não, e trocam transações que não possuem.
Cada pool de memória é essencialmente uma "ilha" independente, com seu próprio conjunto de transações não confirmadas e, às vezes, até seus próprios parâmetros de configuração e definições. O tamanho do pool de memória pode ser configurado, com um valor padrão de 300 MB. Além disso, há uma taxa mínima que é ajustada dinamicamente e pode ser configurada para um valor. Isso é utilizado para decidir quais transações serão removidas do pool de memória quando ele estiver cheio e mais transações continuarem a entrar. Existem também outras opções configuráveis, como as opções datacarrier e datacarriersize, que afetam as transações que incluem a saída OP_RETURN.
As razões pelas quais diferentes nós executam pools de memória variam, portanto, as necessidades também são diferentes, mas, no final, a satisfação dessas necessidades é alcançada através da execução sincronizada dos respectivos pools de memória por todos os nós e da interação entre eles.
Você pode imaginar cada pool de memórias como uma verdadeira piscina, conectadas entre si através de canais subjacentes. Quanto maior o pool de memórias, mais fundo será o pool subjacente. Mineradores, exchanges, exploradores de blocos, todos eles se tornarão as piscinas mais profundas. Todos têm suas próprias motivações para querer entender cada transação não confirmada que está aguardando ser empacotada em um bloco. Os mineradores, para garantir que eles tenham as transações mais lucrativas no próximo bloco. As exchanges, para garantir que eles entendam todas as transações pendentes. Os exploradores de blocos, porque todo o seu serviço visa apresentar o conjunto de dados sobre blockchain e pools de memória de forma o mais completa possível. Seu nó comum na verdade só precisa ser suficientemente profundo para incluir a parte de maior taxa no "pool de memórias".
Agora, imagine cada transação como uma gota de líquido; quanto maior a taxa, maior a densidade do líquido. Esses líquidos fluem pelos canais entre as pools de mineração e, ao chegarem a cada pool, a gota de líquido recebida será copiada e, em seguida, enviada por meio do canal para qualquer outra pool que ainda não tenha recebido aquele líquido. À medida que as pools de mineração se enchem, quando o líquido transborda, o líquido de menor densidade (com taxa mais baixa) transbordará primeiro pela borda da pool.
No final, alguns mineradores sortudos vão retirar uma certa quantidade de líquido do fundo do pool de mineração e despejá-lo na mais recente canalização de vidro, formando um longo e sinuoso canal de vidro, preenchido com líquido, que permanecerá lá para sempre (blockchain). Esta é apenas uma forma intuitiva de pensar sobre o sistema e abranger a maior parte de suas dinâmicas.
Este arranjo de interconexão de pools de mineração oferece diferentes utilizações para diferentes usuários.
Trader
Quando um usuário faz uma transação, o mempool serve a dois propósitos. A primeira, e mais importante, é enviar suas transações para os mineradores. Se a transação não entrar no mempool do minerador, é impossível ser empacotado em blocos. Os mempools vinculam e compartilham transações uns com os outros, garantindo que, uma vez que uma transação é colocada em um mempool, ela acaba no mempool de todos os mineradores. Ter uma rede robusta e descentralizada que garante que as transações possam eventualmente ser enviadas dos usuários para todos os mineradores, independentemente das mudanças e fragmentação da conectividade da rede, é inestimável.
O segundo uso é a estimativa de custos, que é especialmente importante para os usuários do Layer 2, pois eles precisam garantir a confirmação oportuna das transações de resposta a estados inválidos a qualquer momento. Apenas observando as taxas das transações nesses blocos, pode-se estimar os custos até certo ponto, mas isso não fornece nenhuma informação sobre o estado do pool de memórias após o bloco mais recente. Não consegue explicar picos repentinos, a entrada de especuladores no pool de memórias, ou um aumento nas transações que ainda não terminou. Como não é possível visualizar o pool de memórias, a estimativa de custos não pode garantir se considera o estado atual das transações pendentes.
Recipiente
Quando você recebe Bitcoin, seu nó valida a transação e todo o bloco que contém essa transação. A transação paga a você será transmitida e, eventualmente, entrará no pool de memória dos mineradores, que encontrarão um bloco que será transmitido para a rede, e então seu nó fará o download e validará esse bloco.
Mas o funcionamento real não é assim (a menos que você desative o pool de memória do nó e opere apenas no modo de bloco). Seu nó valida cada transação quando a recebe pela primeira vez no pool de memória e a armazena como uma transação de Bitcoin válida. Quando um minerador encontra um bloco, ele na verdade apenas encaminha o cabeçalho do bloco e uma pequena quantidade de informações comprimidas (devido à falta de uma explicação mais simples), essas informações podem ser usadas para determinar quais transações estão incluídas no bloco. Em seguida, seu nó captura as transações previamente validadas, valida o cabeçalho do bloco e, se tudo passar, encaminha o "bloco compacto".
Esta otimização é, na verdade, o motivo pelo qual os mineradores não dependem mais de redes de retransmissão centralizadas e com permissão, como o FIBRE, mantido anteriormente por Matt Corrallo, e a brevemente existente Falcon Network. Devido à velocidade de retransmissão lenta da rede ponto a ponto, os mineradores no passado precisavam se conectar à Falcon Network para garantir uma baixa latência de retransmissão de blocos com outros mineradores.
Minerador
Os mineradores claramente desejam ver tudo. Eles são entidades movidas por lucros e esperam poder filtrar as transações em espera que contenham as taxas de pagamento mais altas, a partir do maior conjunto possível de transações pendentes. Esta é a forma como maximizam os lucros e geram receita para continuar a expandir seus negócios e manter a competitividade.
Eles na verdade obtêm fundos do pool de memórias. A motivação que eles têm para obter qualquer transação paga válida é tão forte que ao longo da história, agora e quase com certeza no futuro, eles estabeleceram muitos sistemas, até mesmo arranjos informais disponíveis na sociedade, com o intuito de permitir que os usuários enviem transações diretamente para os mineradores, em vez de através de uma rede ponto a ponto aberta.
Explorador de blocos, ferramentas de análise em cadeia, etc.
Eles, assim como os mineradores, esperam ver cada transação pendente que foi criada e transmitida para o mundo. A principal diferença entre os dois é que os mineradores lucram diretamente cobrando taxas dessas transações, enquanto os exploradores de blockchain e as empresas de análise lucram indiretamente exibindo, analisando e fornecendo análises de informações dessas transações em produtos rentáveis.
Não consigo listar exemplos específicos relacionados a dados de pool de memória cache, mas é bem conhecido que empresas de análise on-chain compram regularmente metadados de atividades de transações on-chain adquiridos em particular. Elas também operam nós de Bitcoin de bruxa, que se conectam o mais amplamente possível com nós em toda a rede para restringir o alcance do nó que inicialmente broadcastou a transação.
Os exploradores de blocos também lucram com a visualização dos dados da blockchain e da memória, e todo o seu modelo de negócios gira em torno disso. Se for possível apresentar essas informações de uma forma prática ou inovadora, então acessar mais dados e mostrá-los aos usuários significa que se pode obter mais informações de lucro potencial.
A Informação Deseja Fluir
Todos esses diferentes tipos de usuários beneficiam-se de um "pool de memória público" comum, e a razão é simples: a informação flui livremente entre eles. Desde que haja taxas suficientes passando pelo filtro de retransmissão mínimo, isso atende ao consenso e não coloca um único nó em risco de recusa de serviço legítima ou exaustão de recursos, ele pode fornecer valor para a disseminação de informações em cada pool de memória individual na rede para todos os tipos de usuários.
Se não houver um pool de memória pública totalmente funcional, a única alternativa viável para todos esses usuários individuais com diferentes propósitos é uma solução centralizada ou uma situação caótica difícil de gerenciar, ou seja, tentar de forma apressada e desorganizada construir pools de memória pública fragmentados, onde cada usuário precisa acompanhar individualmente esses pools de memória pública.
Isto não só pode trazer preocupações sobre a manipulação dos dados das taxas, enganar os utilizadores e o valor extraível para os mineradores devido a transações de retransmissão privadas. Sem um pool de memórias públicas saudável e aberto, estes são problemas que o Bitcoin deve enfrentar.
Nos artigos seguintes, irei investigar essas questões, bem como os diferentes tipos de filtros de pool de memória e as razões para a sua existência.