Cointimes

Bitcoin Core 0.20.0 é lançado: veja o que mudou

Bitcoin Core

Hoje marca o lançamento oficial do Bitcoin Core 0.20.0, o vigésimo principal lançamento do cliente do software original do Bitcoin, lançado por Satoshi Nakamoto há mais de 11 anos.

Supervisionado pelo mantenedor do Bitcoin Core, Wladimir van der Laan, este último grande lançamento foi desenvolvido por mais de 100 colaboradores em um período de cerca de seis meses.

O resultado de mais de 500 sugestões de mudança (pull requests) integradas, o Bitcoin Core 0.20.0, limpa e endurece a base de código do Bitcoin Core, melhora a integração de carteiras de hardware, melhora a confiabilidade da rede e inclui várias outras melhorias.

Aqui estão algumas das mudanças mais notáveis.

Integração adicional de carteira de hardware na GUI

O Bitcoin Core é compatível com carteiras de hardware desde a versão 0.18.0. No entanto, os usuários ainda não podem fazer transações com uma carteira de hardware a partir da interface gráfica do usuário (GUI) do Bitcoin Core; eles devem usar a interface da linha de comandos (CLI) para fazer isso.

O Bitcoin Core 0.20.0 está dando um passo em direção à integração da carteira de hardware na GUI. Agora, os usuários podem criar uma transação sem uma assinatura na GUI do Bitcoin Core usando o formato de transação de assinatura de bitcoin parcialmente assinada (PSBT) e copiá-la para a área de transferência.

Depois de copiadas, elas podem transferir a transação para a carteira de hardware para assiná-la – no entanto, essa transferência ainda não está automatizada e a transmissão da transação ainda exige o uso da CLI.

Os futuros lançamentos do Bitcoin Core continuarão avançando na integração de carteira de hardware, facilitando a usabilidade para os usuários.

Asmap para conectividade de rede mais confiável

O Bitcoin Core se conecta a vários pares (outros nós do Bitcoin) na rede Bitcoin. O Bitcoin Core mapeia outros nós com base em seus endereços IP, com a intenção de estabelecer conexões com colegas de várias regiões e ISPs (Internet Service Providers).

Se um nó recebe blocos e transações de pares localizados em todo o mundo, diminui o risco de certos dados (como uma transação específica) serem retidos.

Atualmente, o Bitcoin Core mapeia endereços IP por grupos de operadores de rede. No entanto, vários desses grupos fazem parte do mesmo sistema autônomo (AS): agrupamentos de grupos de operadores de rede que compartilham rotas principais da Internet e, portanto, compartilham potencialmente os mesmos gargalos de roteamento nos quais os dados podem ser filtrados.

O Bitcoin Core 0.20.0 inclui uma nova opção de configuração chamada Asmap, que mapeia endereços IP por Números de Sistema Autônomos (ASNs). Isso garante que o nó se conecte com os pares de diferentes ASs, reduzindo possíveis gargalos de rede, limitando ainda mais o risco de retenção de dados específicos.

No entanto, o mapeamento de endereços IP nos grupos de operadores de rede continua sendo a configuração padrão no momento.

Remoção de mensagens de rejeição do BIP61

Mensagens de Rejeição (BIP61) são notificações que um nó retorna quando uma transação recebida de um par é rejeitada e por quê (talvez porque a transação seja inválida, talvez porque se considere não incluir taxa suficiente, ou talvez haja outro motivo para a rejeição).

Os desenvolvedores do Bitcoin Core, no entanto, não consideram as mensagens de rejeição muito úteis. Mais importante ainda, não se deve presumir que os colegas retornem uma mensagem de rejeição com segurança.

Em outras palavras, se um nó não recebe uma mensagem de rejeição, isso não significa necessariamente que a transação foi aceita. Isso limita ainda mais a utilidade das mensagens, enquanto existem soluções melhores para verificar se uma transação é válida e inclui taxas suficientes.

Enquanto isso, as mensagens estavam tornando o protocolo ponto a ponto mais complexo e ocupando espaço.

Portanto, as Mensagens de rejeição do BIP61 já haviam sido desativadas por padrão no Bitcoin Core 0.18.0. O Bitcoin 0.20.0 agora removeu o recurso por completo.

Remoção do protocolo de pagamento BIP70 (e OpenSSL)

O Protocolo de Pagamento (BIP70) foi projetado há vários anos para melhorar a experiência de pagamento do Bitcoin. Um usuário e um comerciante poderiam comunicar detalhes adicionais sobre um pagamento, como um endereço de destino legível por humanos (o nome do comerciante) e um endereço de reembolso, caso algo desse errado com a compra.

Enquanto o Bitcoin Core integrou o Protocolo de Pagamento, o padrão nunca foi amplamente adotado. Em vez disso, a maioria das carteiras ainda usa o esquema URI mais básico (BIP21): o link clicável ou o formato de código QR digitalizável que, por exemplo, comunica o endereço e o valor do pagamento.

Talvez mais importante do que a falta de adoção, o Protocolo de pagamento BIP70 sofreu várias vulnerabilidades de segurança e privacidade ao longo dos anos. Mais notavelmente, sua dependência da biblioteca de software OpenSSL para funções criptográficas exigia uma série de atualizações de emergência de curto prazo. Algumas carteiras de Bitcoin, por esses motivos, rejeitaram a implementação do BIP70 por completo.

O Bitcoin Core 0.19.0 removeu o Protocolo de Pagamento da GUI, mas os usuários ainda podem compilar seus nós com uma configuração especial para fazer uso do recurso. O Bitcoin Core 0.20.0 agora removeu completamente o Protocolo de Pagamento.

Dumptxoutset como um primeiro passo em direção ao Assumeutxo para inicialização rápida

Uma nova chamada de procedimento remoto (RPC) permite que o Bitcoin Core 0.20.0 gere uma snapshot do conjunto de UTXO, que reflete o estado de endereços que possuem bitcoins no blockchain em um momento específico. Este snapshot pode ser compartilhado.

Os lançamentos futuros do Bitcoin Core compartilharão esse snapshot quando os colegas ingressarem na rede. Isso permite que os novos nós comecem a participar imediatamente da rede a partir do momento em que a snapshot foi feita, enquanto todo o histórico da blockchain é verificado em segundo plano.

Como Assumevalid, um atalho semelhante, o Assumeutxo vem com trade offs de confiança antes de todo o blockchain ser verificado e deve até então ser usado com essas trocas em mente.

Para uma lista mais extensa de atualizações, consulte também as notas de versão do Bitcoin Core 0.20.0.

Um artigo de Aaron van Wirdum publicado originalmente em Bitcoin Magazine.

Leia outros conteúdos...

© 2024 All Rights Reserved.

Descubra mais sobre Cointimes

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading