Por que o Bitcoin Cash (BCH) adicionou ordenamento canônico de transações (CTOR)?

Compartilhar Artigo
Em novembro passado, o Bitcoin Cash teve outra atualização programada de hard fork. Houve muito debate na comunidade sobre porquê algumas dessas mudanças são necessárias. Uma dessas mudanças foi a ordem de transação canônica (CTOR).

A ordem canônica é uma alteração na maneira como as transações são ordenadas em cada bloco. O método atual é topológico e a diferença mais importante a saber entre os dois é que uma ordem topológica pode ter muitos ordenamentos válidos diferentes, enquanto o canônico tem apenas uma maneira válida de ordenar transações em um bloco.



O objetivo de mudar para o ordenamento canônico é permitir blocos muito maiores na rede do que o ordenamento atual. Ele ajuda principalmente em duas frentes: melhorar a propagação e a validação de blocos.

Propagação de bloco é como os nós da rede compartilham novos blocos na blockchain. Todos os nós da rede estão enviando e recebendo transações um do outro a uma taxa razoavelmente constante. Essas transações são armazenadas no pool de memória de cada nó, mas esperam que um mineiro as coloque em um bloco aproximadamente a cada 10 minutos: um mineiro pega todas as transações, as coloca em um bloco e envia para todos os outros nós para serem validadas. Isso causa um grande aumento de informações a cada dez minutos e é o que causa a maioria dos gargalos da largura de banda. O fato é que todo nó já possui as transações necessárias no pool de memória e o bloco está enviando todas pela segunda vez em uma enorme explosão de dados.



Para melhorar isso, podemos enviar um bloco com uma série de IDs mais curtas, que correspondem a cada transação, para que cada nó possa extrair os dados da transação correspondente do pool de memória e construir eles próprios o bloco. Esta é a premissa básica entre coisas, como blocos xthin, compact e grafeno.

O poder do grafeno

O grafeno é de longe o método mais eficiente dos três e o caso de uso principal para ordenamentos canônicos. O grafeno não usa IDs curtos, mas usa um conjunto de filtros de bloom para verificar quais transações estão em cada bloco. O problema é que os filtros de bloom apenas nos permitem saber quais transações entram em nosso bloco, não nos informam qual ordem, então precisamos obter essas informações separadamente. Essas informações sobre ordenamento representam cerca de 85% dos dados do bloco em um bloco de grafeno. A chave aqui é que, se houver apenas uma maneira possível de ordenar essas transações, não precisaremos desses dados de ordenamento volumosos.

Se as transações estiverem em uma ordem canônica, precisamos apenas saber quais transações estão no bloco. O ordenamento canônico permite que os blocos de grafeno sejam cerca de sete vezes mais eficientes. Ou seja, ao contrário de outras mudanças em que você pode obter um desempenho dez ou vinte por cento maior, estamos falando de setecentos por cento para blocos grandes.

Ordenamentos canônicos também permite o processamento paralelo. Grandes blocos exigem muito processamento para validar. O problema aqui é que a velocidade do clock da CPU não está melhorando, visto que atingimos as limitações físicas; portanto, os fabricantes de CPUs estão adicionando mais núcleos a cada CPU. Esses núcleos trabalham em paralelo, dividindo o processamento entre si.

A ordenação topológica não se presta muito bem a ser processada em paralelo. No entanto, devido à sua simplicidade, o pedido canônico faz isso muito melhor e é escalável com a tecnologia ao longo do tempo.

Resumo da Ópera

Portanto, a ordem canônica:

  1. melhora os blocos de grafeno em cerca de setecentos por cento
  2. escala muito melhor com a tecnologia e, como é muito mais simples que a ordem topológica,
  3. reduz o tempo de criação de blocos em cerca de setenta por cento e
  4. elimina a chance de mineração egoísta.

Os benefícios do ordenamento canônico não serão realmente óbvios para a maioria até que haja um volume significativo de transações na rede. Assim, alguns membros da comunidade acreditam que devemos esperar até que isso seja necessário para fazer uma alteração. Todavia o ordenamento das transações está um nível de mudança de protocolo. É necessário atualizar coisas como exploradores de bloco, implementações de nós e tudo o que tem a ver com o processamento de um bloco completo para fazer alguma alteração para acomodar essa mudança ao nível do protocolo.

Cada uma dessas alterações tem um custo, e é melhor fazê-las agora enquanto a rede é pequena e o custo é baixo. Qualquer alteração na camada base precisa acontecer o quanto antes e o protocolo precisa ser desconectado assim que algumas correções são feitas. Se esperarmos até que a mudança seja necessária, os custos percebidos podem superar os benefícios.

E você acha que adotar o CTOR é uma boa idéia? Deixe seus comentários abaixo

Isenção de responsabilidade

Todas as informações contidas em nosso site são publicadas de boa fé e apenas para fins de informação geral. Qualquer ação que o leitor tome com base nas informações contidas em nosso site é por sua própria conta e risco.
Share Article

Vini se formou em geologia pela Universidade Federal de Minas Gerais, Brasil e trabalhou com gerenciamento de projetos na área de exploração mineral em empresas como BHP Billiton e Vale. Ele se envolveu com o bitcoin em 2011, quando comprou suas primeiras moedas através do jogo online “Second Life”, mas usou a maioria de suas primeiras moedas aprendendo a fazer transações e negociar. Depois disso, ele se tornou um entusiasta da tecnologia blockchain e desde então focou sua carreira para esse campo. Recentemente, ele se dedica à programação frequentando o Le Wagon Coding Bootcamp e Ivan On Tech Academy.

SEGUIR O AUTOR

Sinais grátis de compra e venda de criptos, análises do Bitcoin e chat com traders. Entre já no nosso Telegram!

Vamos lá

Sinais grátis de compra e venda de criptos, análises do Bitcoin e chat com traders. Entre já no nosso Telegram!

Vamos lá