"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Melhorando a rede Bitcoin usando Utreexo

Melhorando a rede Bitcoin usando Utreexo

Publicado em 31/07/2024
Navegar:588

Improving the Bitcoin network using Utreexo

O mundo está se tornando cada vez mais digital a cada dia e cada vez mais aspectos de nossas vidas se tornam cada vez mais intangíveis. A moeda não foi deixada de lado, desde dinheiro físico até sistemas sem dinheiro e agora criptomoedas. Desde o início do primeiro bloco de Bitcoin em 2009, sua adoção cresceu muito rapidamente e com mais adoção vem mais estabilidade e confiança na rede, o que só aumentará sua adoção.

Em primeiro lugar, o que é Bitcoin e como funciona o Bitcoin?

Bitcoin é uma moeda digital descentralizada de rede ponto a ponto criada em 2008 por uma entidade pseudo anônima chamada Satoshi Nakamoto. A rede Bitcoin é uma rede composta por computadores, também chamados de nós, que estão interligados entre si e ajudam a propagar e validar transações em toda a rede. Esta rede utiliza a moeda digital bitcoin (BTC). Essas transações são armazenadas em um livro-razão público descentralizado que usa tecnologia blockchain.
A blockchain Bitcoin é composta de blocos que estão vinculados a cada bloco anterior, exceto o primeiro bloco, também conhecido como bloco Genesis, que não está conectado a nenhum bloco anterior. Os blocos são compostos por diversas transações que foram validadas e cuidadosamente adicionadas a um bloco pelos mineradores, antes de realizar o processo de mineração. Uma transação é basicamente uma transferência de valor entre carteiras bitcoin. Os mineradores são responsáveis ​​por realizar o trabalho principal na rede que confirma ou “minera” novos blocos e os adiciona ao blockchain.
Existem vários recursos para aprender sobre Bitcoin disponíveis online. Esses recursos fornecem mais detalhes sobre o funcionamento do bitcoin.
Apesar das grandes vantagens do bitcoin, a escalabilidade sempre foi um grande problema. Os blocos Bitcoin são limitados a um tamanho de 1 MB, com um bloco extraído aproximadamente a cada 10 minutos. Isso colocou o tamanho atual do blockchain Bitcoin em cerca de 580 GB no momento em que este livro foi escrito, o que representa um aumento de cerca de 18% em relação ao ano passado. Para que os nós completos se juntem ao blockchain e verifiquem as redes, eles precisam baixar todo o blockchain e começar a realizar a validação em todos os blocos antigos e nos blocos recém-adicionados. É quase certo que esse tamanho continuará crescendo a cada dia e, em algum momento, pode se tornar muito grande, tanto que dissuade alguns usuários normais de ingressar na rede devido às restrições de recursos.
Além do tamanho do blockchain, os nós também verificam e armazenam o estado atual da rede. Este estado é o atual conjunto de saída de transações não gastas (UTXO), que é relativamente menor em tamanho para todo o blockchain; no entanto, esse estado também continuará crescendo rapidamente à medida que mais e mais usuários realizam mais transações na rede. Este conjunto é o conjunto de todas as saídas de transações não gastas na rede.

Então, o que é Utreexo?

Utreexo introduz um acumulador dinâmico baseado em hash que permite reduzir significativamente o tamanho do estado atual. Ele permite que os nós verifiquem completamente as entradas de uma transação sem conhecer todo o estado do sistema. Ele consegue isso permitindo que o proprietário dos fundos mantenha uma prova de que os fundos realmente existem e, em seguida, apresente esses fundos quando estiver prestes a gastá-los.
Utreexo introduz um novo tipo de nó chamado Compact State Node. Esses nós armazenam apenas uma representação acumuladora do estado. Para que esses nós possam verificar as transações, eles precisam de uma prova de inclusão. Essa prova é fornecida pela transação de gasto quando está prestes a gastar alguns insumos.

Como o Utreexo melhora a rede Bitcoin?

Como visto acima, Utreexo permite representar o estado da rede Bitcoin como um acumulador dinâmico, esses acumuladores têm apenas alguns kilobytes de tamanho, em oposição ao estado atual do Bitcoin, que tem mais de 5 GB.
Para entender como funciona o Utreexo, temos que primeiro entender o que é um acumulador criptográfico e como funciona. Um acumulador criptográfico nos permite consultar um conjunto sem armazenar ou revelar todos os membros do conjunto. Esta abordagem de construção de acumulador funciona muito bem para o conjunto UXTO de Bitcoins porque, para cada transação, gostaríamos de consultar se os TXOs gastos são de fato membros do conjunto UTXO e, se não, rejeitar a transação.
Os nós regulares, ao ingressarem na rede, precisam baixar todo o histórico do blockchain, que tem mais de 580 GB, verificar as transações e construir sua própria cópia do conjunto UTXO. Eles então precisam verificar todas as mudanças de estado que atingem o nó. Todos esses processos são operações que consomem muitos recursos, o que limita o número de participantes na rede, o que limita a escalabilidade.
Este processo de sincronização inicial, também conhecido como Download de Bloco Inicial (IBD) pode demorar muito, dependendo da conexão com a Internet e dos recursos de hardware. Um dos principais fatores que afetam a velocidade desta operação IBD é o tipo de disco de armazenamento usado e a velocidade das operações de E/S, especialmente a capacidade de realizar rapidamente leituras de acesso aleatório. É por isso que os computadores que usam uma unidade de estado sólido, que normalmente tem tempos de leitura de acesso aleatório muito superiores, podem usar 30 vezes menos tempo para verificar as transações, em comparação com computadores com uma unidade de disco rígido.
Com Utreexo, o tipo de disco usado não faria uma diferença tão grande, pois veremos apenas uma ligeira diferença de desempenho entre computadores SSD e computadores HDD
Utreexo apresenta um acumulador dinâmico baseado em hash sem configuração confiável ou requisitos de gerenciamento. Conforme mencionado acima, os acumuladores são representações compactas de um conjunto, às quais elementos podem ser adicionados e comprovados. Um acumulador Utreexo utiliza uma floresta de árvores Merkle perfeitas que permite remoções eficientes de elementos do acumulador, reduzindo o número total de folhas na floresta quando ocorrem exclusões.
As adições são computáveis ​​sem quaisquer dados além do acumulador e do elemento a ser adicionado, e as exclusões são computáveis ​​com uma prova de inclusão dos dados a serem excluídos.
O design do acumulador é uma floresta de árvores hash binárias perfeitas. A representação do acumulador que deve ser armazenado inclui: o número de elementos armazenados e a raiz de cada árvore da floresta.
A estrutura lógica da árvore binária perfeita está além do escopo deste artigo, pois este foi apenas um artigo introdutório. No entanto, o artigo completo da Utreexo pode ser encontrado aqui.

Conclusão

O acumulador baseado em hash Utreexo visa reduzir o tamanho do estado do bitcoin para apenas alguns kilobytes, permitindo que praticamente qualquer dispositivo se junte à rede bitcoin e comece a verificar transações sem a necessidade de hardware caro e de primeira linha. Isso aumentará muito a escalabilidade da rede Bitcoin à medida que o tamanho do acumulador cresce muito lentamente (Onlogn) na complexidade do espaço.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/alainjr10/improving-the-bitcoin-network-using-utreexo-1dcb?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3