Lançamento do Bitcoin Core 0.20.0: o que mudou?

Bitcoin Core 0.20.0 é uma atualização na rede Bitcoin realizada para tornar o sistema ainda mais seguro, estável e confiável. Veja o que mudou na nova versão!

0 145

Assim como outras tecnologias, o Bitcoin passa por atualizações frequentes a fim de otimizar suas funções e prevenir possíveis falhas que possam afetar a rede. Essas ações tornam o sistema da criptomoeda mais seguro, estável e confiável. A esse sistema chamamos de “Bitcoin Core”.

 

A versão mais recente da atualização foi lançada no primeiro semestre de 2020, como o Bitcoin Core 0.20.0, marcando o vigésimo upgrade do software original, lançado por Satoshi Nakamoto em meados de 2009.

 

O lançamento representa seis meses de trabalho realizados por 119 desenvolvedores, visando um único objetivo: otimizar a rede do Bitcoin.

 

Dessa forma, a lista de atualizações é grande e bastante específica. Contudo, antes de explorarmos as novidades do Bitcoin Core 0.20.0, é preciso contextualizar um pouco a trajetória da moeda digital criptografada.

 

O Bitcoin nasceu em 2009, como o primeiro criptoativo do mundo. Com base em uma tecnologia chamada blockchain, capaz de registrar dados através da criptografia, em uma espécie de livro de registros públicos que assegura a transparência das operações, o ativo foi o pontapé inicial para a construção de um universo novo no mercado econômico e também para a criação de outras criptomoedas.

 

Desde então, o Bitcoin se mantém firme como a criptomoeda mais capitalizada do mundo, destacando-se por sua descentralização.

 

Assim, atualizações vão e vem, de modo a promover total segurança para as transações e, principalmente, garantir uma rede fluída para os usuários.

 

Mas, o que de fato mudou com o Bitcoin Core 0.20.0?

 

Novos recursos, correções de bugs e melhorias de desempenho são algumas das mudanças que veremos ao longo deste artigo!

 

 

O que é o Bitcoin Core 0.20.0?

Com supervisão do mantenedor Wladimir van der Laan, o Bitcoin Core 0.20.0 foi lançado no início de 2020. A atualização contou com mais de 500 sugestões de mudança integradas, que visam limpar e endurecer a base do código do Bitcoin Core.

 

Logo, o Bitcoin Core 0.20.0 representa uma nova atualização do código da criptomoeda, que muda de tempos em tempos. A versão anterior a esta lançada era conhecida como Bitcoin Core 0.19.1.

 

O termo Bitcoin Core, embora usado para determinar uma etapa de atualizações, também pode ser empregado para determinar a relação de descendência de um software com a moeda original. Ou seja, ele representa uma categoria diferente de moedas que, diferente de como acontece com os hard forks, são resultados de pequenas alterações na blockchain do Bitcoin, assim, sendo consideradas como descendentes da criptomoeda primária.

 

O Bitcoin Core 0.20.0 diz respeito à atualizações, que acontecem por meio de propostas BIP (Bitcoin Improvement Proposals). Por se tratar de uma rede descentralizada, não existe uma estrutura formal e hierárquica que envolva a comunidade do Bitcoin, sendo assim, não há uma única autoridade capaz de decidir quais mudanças serão implementadas.

 

Dessa forma, para contribuir com sugestões e propostas, é necessário desenvolver e apresentar a ideia seguindo especificações técnicas, para que todos possam compreender. As propostas com as sugestões, por sua vez, são feitas por meio do BIP.

 

As mudanças, então, são debatidas em fóruns de discussão da comunidade e quando validadas, as alterações são implementadas por times de desenvolvedores. Em agosto de 2011, o primeiro BIP foi adotado e dizia respeito do funcionamento da dinâmica das propostas.

 

Após isso, muitas alterações foram submetidas até chegar no Bitcoin Core 0.20.0, sua versão mais atual.

 

 

Principais Mudanças

Bitcoin Core 0.20.0: o que mudou?
Bitcoin Core 0.20.0: o que mudou?

Desenvolvido com o intuito de promover a otimização da rede e a solução de bugs que afetam o sistema, o Bitcoin Core 0.20.0 trouxe uma lista grande de novidades, que vão desde a atualização de RPCs, P2P e outras mudanças na rede.

 

A versão 0.20.0 também inclui o reparo do BIP 61, uma proposta antiga implementada no release 0.19.0, que possibilita aos operadores de node transmitir mensagens de rejeição para seus pares, em caso de transações ou blocos inteiros serem barrados pelo node. Tal alteração, no entanto, foi problemática, pois nodes, geralmente, não são confiáveis para o envio de mensagens válidas. Logo, fez-se necessária a mudança.

 

No entanto, as alterações vão muito além. Veja quais são as principais mudanças do Bitcoin Core 0.20.0 abaixo:

 

 

Integração de carteira de hardware na GUI

Nas versões anteriores do Bitcoin Core, para realizar transações com uma carteira de hardware através da interface gráfica do usuário (GUI), era necessário o uso da interface da linha de comando (CLI). Sendo assim, mesmo com a compatibilidade entre carteiras de hardware, disponibilizadas na versão 0.18.0, ainda era possível a integração na GUI.

 

Mas, com o Bitcoin Core 0.20.0 a problemática foi resolvida. Dando um passo em direção à integração das carteiras hardware por meio da GUI, agora quem utiliza a rede pode realizar transações sem que seja necessária uma assinatura da interface gráfica, utilizando o método de transação de assinatura parcialmente assinada (PSBT).

 

Assim, é só copiá-la para a área de transferência e conectar com a carteira de hardware para obter a assinatura.

 

Porém, no Bitcoin Core 0.20.0, esta transação ainda não acontece de forma automatizada e para utilizá-la, o uso da CLI ainda é obrigatório.

 

A integração permite uma maior versatilidade para os usuários da rede e representa um avanço em relação à usabilidade do sistema. Neste sentido, a tendência é de que nas próximas atualizações as carteiras de hardware sejam incorporadas em ainda mais processos.

 

 

Asmap para se conectar à rede com mais segurança

Uma das funções do Bitcoin Core é mapear os nós existentes na rede com base nos endereço IP, com o intuito de estabelecer uma ligação entre colegas de várias regiões e com diversos IPs (Internet Service Providers) para os usuários.

 

O Core é capaz de se conectar com uma infinidade de pares na rede. Deste modo, se um nó recebe blocos e transações de pares dissipados, localizados em diferentes regiões do mundo, o risco de retenção de dados é menor.

 

Isso, por sua vez, acontece por meio do mapeamento de endereços IP realizado por grupos de operadores de rede do Bitcoin Core. Contudo, há um problema quanto a isso: muitos dos grupos de operadores fazem parte do sistema autônomo (AS), que juntos formam agrupamentos de operadores que compartilham rotas na web e, assim, acabam por presenciar os mesmos gargalos de roteamento.

 

A fim de solucionar isso, uma das mudanças propostas pelo Bitcoin Core 0.20.0 inclui uma opção de configuração da rede chamada Asmap. O recurso mapeia endereços de IP através de números de sistema autônomos (ASNs), permitindo que os nós se conectem com pares de AS diferenciados, evitando os gargalos da rede e, consequentemente, limitando o risco de retenção dos dados.

 

 

Remoção do BIP 61

Como mostrado anteriormente, a remoção do BIP 61 foi uma das principais mudanças promovidas pelo Bitcoin Core 0.20.0. A proposta permitia que mensagens de rejeição fossem enviadas para nós da rede, uma vez que uma transação recebida de um par fosse rejeitada.

 

A mensagem identificava o porquê do bloqueio (transação inválida, taxas não suficientes, etc). No entanto, o recurso era considerado por muitos desenvolvedores algo dispensável, já que o não recebimento da mensagem de rejeição não significa, necessariamente, que uma transação foi de fato aceita.

 

Sendo assim, não se deve presumir o retorno de uma BIP 61 de forma segura.

 

Nesse sentido, existem outras maneiras de certificar a conclusão de uma transação, o que faz com da mensagem de rejeição um recurso pouco útil, que limita a utilidade das mensagens.

 

A negativa acerca da função já era grande e, recentemente, o recurso havia sido desativado na rede. Logo, a atualização do Bitcoin Core 0.20.0 removeu de vez o BIP 61, apagando a função por completo.

 

 

Exclusão do protocolo de pagamento BIP 70

Assim como o BIP 61, o protocolo de pagamento do BIP 70 também foi removido da rede com o Bitcoin Core 0.20.0, junto do OpenSSL.

 

Projetado há muitos anos, o BIP 70 tinha como objetivo otimizar o processo de pagamento do Bitcoin. O recurso propunha que um usuário e um comerciante poderiam trocar informações acerca de detalhes adicionais ao pagamento, por meio de um endereço de destino não criptografado, ou seja, legível por humanos, como o nome do comerciante, por exemplo, e um endereço de reembolso.

 

A medida previa uma solução alternativa para caso houvesse algum erro na transação. O BIP 70 ficou conhecido como protocolo de pagamento, no entanto, o padrão não foi bem recebido pelos usuários, resultando em uma baixa taxa de adesão na rede.

 

Em contrapartida, uma grande porcentagem das carteiras utilizava o método de URI básico, da BIP 21, que consistia em um link acessível ou um QR code digitalizável, capaz de compartilhar o endereço e o valor do pagamento de forma simples.

 

Mas não foi somente a pouca adoção ao BIP 70 que acarretou em sua remoção. Ao longo dos anos, o protocolo sofreu com instabilidades e vulnerabilidades, prejudiciais à segurança e privacidade dos usuários. Uma das principais falhas do BIP 70 era a dependência do método à biblioteca de software OpenSSL.

 

No Bitcoin Core 0.19.0, o protocolo de pagamento foi removido da GUI, contudo, mesmo com a ação ainda era possível compilar nós por meio de configurações específicas para a utilização da ferramenta. Então, na atualização do Bitcoin Core 0.20.0 o BIP 70 foi eliminado por completo da rede.

 

 

Dumptxoutset para inicialização rápida

Outra mudança que o Bitcoin Core 0.20.0 traz é o uso do Dumptxoutset como parte do primeiro passo para o Assumeutxo de inicialização rápida. A novidade no procedimento remoto (RPC) possibilita a captação de um snapshot do conjunto UTXO.

 

O processo reflete o estado dos endereços que, no momento, possuem Bitcoins registrados na blockchain. As capturas feitas podem ser compartilhadas.

 

Assim, a proposta é trazer nos lançamentos futuros do Bitcoin Core recursos para o compartilhamento dos snapshots assim que outros usuários ingressarem na rede, garantindo que novos nós façam parte de imediato da rede, uma vez que o momento de captura é feito.

 

Paralelamente, em segundo plano, o histórico da blockchain é verificado para otimizar os processos.

 

Deste modo, o Assumeutxo do Bitcoin Core 0.20.0 conta com trade offs seguras, que rodam antes da verificação da blockchain, de forma semelhante ao atalho Assumevalid. O uso, portanto, deve ser feito com tais trocas em mente.

 

Embora essas sejam as principais mudanças, a lista completa é extensa. Para além desses fatores, detalhes como a otimização do sistema de construção da rede também podem ser notadas, da mesma forma como o update de RPCs, a alteração das configurações das carteiras e a mudança na documentação do código fonte gerado pelo Bitcoin Core.

 

Até mesmo alterações de baixo nível foram implementadas com o Bitcoin Core 0.20.0, como: mudanças em serviços de utilidade pública, nas linhas de comando, adoção e atualização de novos RPCs e, inclusive, transformações no suporte de construção do Android Native Development Kit (NDK).

 

Mais detalhes das novidades do Bitcoin Core 0.20.0 podem ser vistos no blog oficial do Bitcoin, clicando aqui.

 

Como uma atualização do Bitcoin Core, a versão 0.20.0 acarretou diversas mudanças para a rede, de modo a propor soluções capazes de otimizar a usabilidade dos usuários e tornar os mecanismos de transação mais seguros, rápidos e ágeis, eliminando ferramentas obsoletas que ainda faziam parte do sistema.

 

Deste modo, assim como as outras versões do Bitcoin Core, esta nova etapa visa a experiência do usuário e a correção de problemas na rede mundial.

 

Acompanhe mais informações sobre o Bitcoin em: braziliex.com/blog

Deixe uma resposta

Seu endereço de email não será publicado.