Bitcoin lança nova atualização do software; entenda o que muda | Portal do Bitcoin
Bitcoin lança nova atualização do software; entenda o que muda
Desenvolvedores do Bitcoin Core lançaram o primeiro software com suporte ao Taproot
14 set, 2021 11:29
Foi lançado na segunda-feira (13) o Bitcoin Core 22.0, a 22º versão do software original do Bitcoin criado por Satoshi Nakamoto quase 13 anos atrás.
Supervisionado pelo principal desenvolvedor do Bitcoin Core, Wladimir van der Laan, a nova versão do software contou com a participação de mais de cem colaboradores em um período de oito meses.
Resultado de cerca de 800 colaborações, o Bitcoin Core 22.0 é o primeiro grande lançamento de uma versão do software que oferecer suporte ao Taproot — a atualização mais importante que o BTC recebe em quatro anos, prevista para ser ativada em novembro —, ao mesmo tempo que oferece várias outras melhorias em relação às versões anteriores do Bitcoin Core.
Além disso, esse também é o primeiro lançamento a retirar o 0 do início do número que indica sua versão: é Bitcoin Core 22.0 — não Bitcoin Core 0.22.0.
Abaixo estão algumas das mudanças mais notáveis.
Suporte a carteiras de hardware na GUI
Carteiras de hardware são dispositivos projetados para manter segura as chaves privadas dos usuários e permitir assinar transações sem que as chaves privadas saiam do dispositivo.
Ainda assim, para realizar transações, as carteiras de hardware geralmente precisam ser usadas em combinação com uma carteira de software. Várias carteiras de software têm a compatibilidade necessária para fazer isso, mas a carteira do Bitcoin Core por algum tempo não foi uma delas.
Isso começou a mudar há alguns anos: o Bitcoin Core é compatível com carteiras de hardware desde a versão 0.18.0. No entanto, os usuários tiveram que usar inicialmente a interface de linha de comando (CLI) para usar esse recurso.
Desde a versão 0.20.0 do Bitcoin Core, os usuários também podiam usar parcialmente a interface gráfica do usuário (GUI), mas isso ainda exigia um copia e cola manual para assinar as transações.
O Bitcoin Core 22.0 é o primeiro lançamento a oferecer suporte a GUI completa para carteiras de hardware. Ao usar o software Hardware Wallet Interface (HWI) como uma espécie de complemento, os usuários do Bitcoin Core poderão usar a carteira do software sem problemas em combinação com dispositivos Ledger, Trezor, BitBox, KeepKey e Coldcard.
Suporte a I2P
Uma maneira de desanonimizar os usuários de bitcoin é analisar a blockchain e rastrear de quais nodes as transações específicas se originam. Os endereços IP associados a esses nodes podem ser vinculados a identidades do mundo real.
Para proteger sua privacidade, os usuários do Bitcoin Core já podiam se conectar ao ecossistema do BTC por meio da rede de anonimato Tor. Mas o Tor não é a única rede anônima que existe.
O Projeto de Internet invisível (Invisible Internet Project, I2P) é outra rede de comunicação anônima descentralizada, ponto a ponto, em camadas sobre a internet normal.
Assim como o Tor, o I2P permite que os usuários se comuniquem roteando mensagens através de uma rede, usando diferentes camadas de criptografia para cada etapa da cadeia de transmissão para mascarar a própria mensagem, bem como os endereços IP do remetente e do destinatário.
(A diferença entre Tor e I2P é sutil e está além do escopo deste artigo. Mas, em resumo, o I2P pode ter uma solução mais distribuída para mapear a rede, que é necessária para o roteamento de mensagens. Também seria melhor orientada para suporte a serviços ocultos, como sites que só estão disponíveis na própria rede I2P. O Tor, por outro lado, tem melhor suporte para nós de saída, que permite que os usuários se comuniquem com a internet normal.)
O Bitcoin Core 22.0 agora também oferece suporte à conexão com a rede do BTC por meio de I2P. Depois do Tor, isso torna o I2P a segunda rede de anonimato que os usuários podem utilizar para proteger seu endereço IP de outras pessoas na rede, permitindo-lhes proteger melhor sua privacidade.
Suporte ao Taproot
O Bitcoin Core 0.21.1 foi o primeiro lançamento do Bitcoin Core a incluir a lógica de ativação do Taproot, a próxima atualização do protocolo que será ativada em novembro deste ano. Agora, o Bitcoin Core 22.0 é a primeira versão principal a oferecer suporte à atualização.
Obviamente, isso significa que o Bitcoin Core 22.0 validará totalmente as novas regras do Taproot. A partir do momento em que a atualização for ativada em novembro, todas as transações do Taproot terão suas validades verificadas de acordo com as novas regras do protocolo.
Além disso, a carteira Bitcoin Core suportará a criação de saídas básicas do Taproot ("endereços"). Os usuários do Bitcoin Core poderão aceitar pagamentos para saídas Taproot que podem ser gastas com uma única chave privada, mas que é protegida usando a lógica Taproot.
Claro, isso não oferece muitos benefícios (se tiver algum) em comparação com o que já era possível antes com o software de carteira; os tipos mais complexos de contratos inteligentes que o Taproot suporta, presumivelmente, serão suportados em versões futuras do Bitcoin Core.
Nos bastidores, o Bitcoin Core também dará suporte a criação de descritores específicos para o Taproot, que conseguem identificar as saídas do algoritmo. Essa categorização pode beneficiar aplicativos que dependem do software, como carteiras externas.
Melhorias no mempool
A retransmissão de pacote é um projeto contínuo para atualizar a forma como as transações são transmitidas pela rede bitcoin. No momento, as transações só são retransmitidas se incluírem uma taxa alta o suficiente para serem incluídas no pool de memória (mempool) dos nodes de BTC. Se uma transação não inclui uma taxa alta o suficiente, ela não é aceita por um node e não é encaminhada para outros nodes na rede bitcoin.
No entanto, essa lógica difere um pouco de como as transações são selecionadas para inclusão em um novo bloco de BTC. Para determinar se uma transação está incluída em um bloco, a taxa de uma transação não é considerada apenas por si só, mas também é levado em consideração se essa transação ajudaria a obter a confirmação de outras transações. Nesse caso, também é considerada a combinação de taxas de transação.
Isso permite que os usuários obtenham uma transação com uma taxa baixa que está "descolada", esperando no mempool, gastando novamente as moedas em uma nova transação com uma taxa alta para compensar.
Para obter a segunda taxa (mais alta), os mineradores vão querer aceitar as duas transações ao mesmo tempo. Esse truque é chamado de Child-Pays-For-Parent (CPFP) e pode ser particularmente útil no contexto de alguns protocolos de segunda camada, como a Lightning Network.
A diferença da política que determina quais transações são incluídas no mempool ou em um bloco pode, em alguns casos, frustrar a solução CPFP.
Se a primeira transação não incluir uma taxa alta o suficiente para ser aceita em mempools em primeiro lugar, uma nova transação para voltar a gastar as moedas com uma taxa ainda mais alta não será aceita em um bloco, porque precisa que a primeira transação também seja confirmada antes de ser considerada válida.
Para resolver isso, a retransmissão de pacotes permite que as transações sejam transmitidas pela rede bitcoin em pacotes. Em vez de considerar as transações e suas taxas individualmente, as combinações de transações seriam consideradas para serem incluídas no mempool, assim como acontece para inclusão em um bloco.
Bitcoin Núcleo 22.0 inclui uma etapa para a realização de retransmissão de pacote: os aplicativos conectados ao Bitcoin Core podem testar se as transações seriam incluídas em seus próprios mempools, enviando várias transações como um único pacote.
No entanto, a transmissão ou aceitação de tais pacotes pela rede ponto a ponto ainda não é suportada nesta versão.
Expansão de assinaturas do Segwit
As saídas multisig representam as moedas que exigem assinaturas de várias chaves privadas para serem gastas. Isso pode ser, por exemplo, duas assinaturas de duas chaves privadas diferentes, ou três assinaturas de um conjunto de cinco chaves privadas, ou mesmo sete assinaturas de um conjunto de oito chaves privadas e assim por diante.
O multisig pode ser usado para diversos fins. Um exemplo é proteger fundos usando vários dispositivos para que, mesmo se um dispositivo for comprometido ou perdido, as moedas ainda estejam seguras e acessíveis.
Da mesma forma, o multisig pode ser usado para compartilhar o controle sobre fundos entre várias pessoas, exigindo cooperação entre elas para gastar as moedas. O multisig também pode ser usado em algumas soluções de segunda camada.
Até então, o software Bitcoin Core suportava a criação de saídas multisig para um máximo de 16 chaves em saídas Segregated Witness (Segwit), embora o protocolo do BTC não tenha tal limite. Agora a versão 22.0 do software expande a capacidade multisig do Segwit para até 20 chaves.
Para obter mais detalhes, consulte as notas de lançamento do Bitcoin Core 0.22. Você pode baixar o Bitcoin Core 22.0 aqui.
*Este artigo foi traduzido com permissão do autor e publicado originalmente na Bitcoin Magazine.
Aaron van Wirdum é editor-técnico da Bitcoin Magazine. Cobre Bitcoin e mercado de criptomoedas desde 2013, com foco em privacidade e escalabilidade.