Bitcoin Minisketch

Executar clientes Bitcoin completos é um componente vital da descentralização sustentável da rede e uma representação útil da adoção saudável da rede. Operar nós completos não é um processo conveniente para os usuários comuns acessarem o Bitcoin, no entanto.

Nós completos precisam ser sincronizados com todo o blockchain Bitcoin (~ 200 GB) e conectar-se a vários pares para retransmitir transações transmitidas pela rede. Os nós completos padrão se conectam com 8 pares, e os relés de transação são responsáveis ​​por uma grande parte da largura de banda necessária para gerenciar um nó completo.

Bitcoin Minisketch

Gregory Maxwell, desenvolvedor líder de Bitcoin e cofundador da Blockstream, estimou que as transmissões de transações representam aproximadamente 87 por cento de todos os requisitos de largura de banda do nó.

Além disso, as sincronizações de nó completo podem levar vários dias para serem concluídas e envolvem algum conhecimento técnico básico de Bitcoin. O processo frequentemente complicado de executar um nó completo é uma barreira substancial para a adoção que impede muitos usuários convencionais de iniciar um cliente completo.

Vários desenvolvimentos melhoraram o processo de lançamento e operação de um cliente completo, como Nó de hardware da Casa e Pierre Rochard’s lançador de nó – que inclui compatibilidade LN com Zap e Joule. No entanto, reduzir a carga sobre os operadores de nó completo é um empreendimento prudente de longo prazo e é o foco de várias melhorias para Bitcoin, incluindo MiniSketch.

MiniSketch é um método proposto para ‘conjunto de reconciliação’ de conjuntos de mempool entre nós na rede, com ponta de lança por Peter Wuille, Gregory Maxwell e Gleb Naumenko.

Sincronizando entre nós

Antes de mergulhar no MiniSketch, é relevante abordar o processo de sincronização entre os nós e o plano de fundo da reconciliação do conjunto.

A reconciliação de conjuntos é um processo em ciência da computação em que conjuntos de dados resolvem (ou seja, reconciliam) as diferenças entre seus conjuntos de dados para convergir em cópias precisas. Maxwell descreveu o processo em um peça pela Bitcoin Magazine como semelhante à sincronização de listas de contatos telefônicos entre duas pessoas que compartilham muitos dos mesmos contatos.

“Você poderia enviar a eles toda a sua lista, mas não cabe em um cartão postal e seria um desperdício de qualquer maneira, pois eles já conhecem a maioria dos contatos … É possível, de fato, comunicar todo o seu conjunto de contatos para enviando apenas tantas informações quanto o tamanho da diferença entre suas listas, mesmo sem qualquer ideia prévia de quais são as diferenças reais. ”

A reconciliação de diferenças entre conjuntos de dados de computadores diferentes requer largura de banda para fazer referência cruzada às discrepâncias específicas entre os dois conjuntos e convergir na cópia idêntica. Algoritmos para melhorar a reconciliação de conjuntos fornecem caminhos mais eficientes para reconciliar diferenças entre conjuntos de dados, o que reduz os requisitos de largura de banda.

MiniSketch em Bitcoin é uma implementação do PinSketch Algoritmo de esboço seguro baseado em BCH. BCH significa ‘Bose-Chaudhuri-Hocquenghem‘E são códigos usados ​​para correção de erros cíclicos em programação de computador e implantados em aplicativos como comunicações por satélite.

No Bitcoin, MiniSketch implementa PinSketch para otimizar a distribuição de transações na rede, permitindo que clientes completos se conectem a mais pares com requisitos de largura de banda reduzidos.

Os conjuntos de dados que estão sendo reconciliados no Bitcoin são as transações recebidas e retransmitidas por nós de pares. A maioria dos nós contém muitas das mesmas transações, mas a ordem em que são recebidos às vezes causa discrepâncias, o que atrasa a sincronização de dados entre seus mempools e aumenta o uso de largura de banda.

Os nós na rede Bitcoin transmitem transações por meio do protocolo de fofoca da rede, conhecido como difusão. O objetivo é retransmitir transações pela rede para a maioria dos nós muito rapidamente. Isso leva a inconsistências na ordem das transações nos mempools em comparação com os blocos sincronizados recentemente.

Minisketch

O MiniSketch foi projetado para aprimorar o processo de reconciliação de conjunto, apresentando um mecanismo mais eficiente para que os mempools de nó sincronizem e transmitam apenas os dados necessários entre eles, em vez de todos os conjuntos de dados.

Os nós desperdiçam largura de banda substancial ao discernir quais nós precisam receber quais dados de transação para a rede estar em sincronia conforme as transações são coletadas pelos mineiros do mempool. O MiniSketch permite que os nós façam referência cruzada dos dados por meio de um algoritmo baseado em os dados que ocorrem em um conjunto, mas não no outro.

Normalmente, a troca de dados entre os nós se concentra em fazer referência a todos os conjuntos de dados do mempool. O MiniSketch permite uma sincronização muito mais compacta (reconciliação) de conjuntos de mempool de transação, esboçando as diferenças entre os conjuntos de dados por meio de ‘definir somas de verificação’.

Set checksums têm uma capacidade predeterminada e podem ser usados ​​para esboçar a diferença simétrica entre dois conjuntos de dados. Por exemplo, se Alice e Bob desejam reconciliar seus conjuntos de transações de nós, eles podem usar o MiniSketch para computar um esboço dos elementos dentro de seus conjuntos de dados.

Uma das partes, digamos Bob, mede a diferença simétrica entre os dois conjuntos de dados, o que é semelhante a encontrar um número preciso de diferenças entre vários tipos de somas de dados. No entanto, Bob está apenas tentando recuperar os diferentes dados no esboço de Alice a partir de seu esboço. Ele então envia as diferenças para Alice, e os dois podem reconciliar seus conjuntos de transações com muito mais eficiência.

De acordo com MiniSketch Github Arquivo Leia-me:

“Isso sempre terá sucesso quando o tamanho da diferença (elementos que Alice tem, mas Bob não tem elementos que Bob tem, mas Alice não) não excede a capacidade do esboço que Alice enviou. A parte interessante é que isso funciona independentemente dos tamanhos reais dos conjuntos – apenas a diferença importa. ”

De acordo com Maxwell no artigo da Bitcoin Magazine, o MiniSketch poderia permitir uma redução potencial na sobrecarga de retransmissão de transação de nó em 40X, que é o que suas simulações indicaram.

As duas principais vantagens do MiniSketch são:

  1. Reduções de largura de banda do nó.
  2. A capacidade dos nós de se conectar a mais pares.

A redução da largura de banda usando MiniSketch é evidente e pode ser usada para uma propagação de blocos mais eficiente em links de satélite de baixa largura de banda.

A carga de largura de banda diminuída por nó também permitiria que os nós se conectassem com mais pares do que o normal – como 16 em vez de 8. Outras vantagens e aplicações do MiniSketch, conforme citado no repositório Github, são sua combinação potencial com redes CC para “comunicação criptográfica anônima multipartidária” e ajudando a extrair uma chave criptográfica de dados biométricos “difusos”.

Notavelmente, MiniSketch também é opcional para operadores de nó, pois não faz parte do consenso do Bitcoin que exige que os nós atualizem para a especificação de núcleo mais recente. Em vez disso, as operadoras podem optar por executar o protocolo com outras pessoas para aumentar a eficiência da largura de banda.

Um BIP formal para MiniSketch ainda não está disponível, e uma futura proposta pode ser integrada com outro protocolo conhecido como ‘Tabelas de pesquisa Bloom invertíveis‘Para melhorar a propagação de blocos. A existência opcional de MiniSketch também o torna menos propenso a ser acumulado com outras propostas de mudança de consenso formal para a criptomoeda legada.

As vantagens gerais do MiniSketch são atraentes para os operadores de nó, pois reduz a barreira para operar um nó completo e o torna mais eficiente. Mais clientes Bitcoin completos significam descentralização mais robusta e uma rede mais saudável.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me