O desenvolvimento do Bitcoin tem seu epicentro no software Bitcoin Core, um incrível código herdado do desconhecido Satoshi Nakamoto e que possibilita a operação do Bitcoin em todo o seu esplendor.

EEntre todas as implementações de Bitcoin , sem dúvida, há quem é a mãe de todos eles, sendo os mais conhecidos. Se trata de Bitcoin Core, um desenvolvimento de código aberto sob licença MIT que carrega o peso do desenvolvimento do protocolo Bitcoin. Ele é responsável por todo o protocolo Bitcoin e pela implementação do  cliente completo benchmark para Bitcoin. Desta forma, Bitcoin Core tem tudo que você precisa para verificar pagamentos de forma autônoma. E por último, mas não menos importante, é a implementação que começou muito Satoshi Nakamoto, o criador do Bitcoin.

Até a data, O Bitcoin Core é o único que implementa o protocolo Bitcoin em sua totalidade. Portanto, é uma referência na qual os outros clientes desenvolvidos confiam. É composto de um programa que cria nós full, que faz o download de todo o blockchain para que eles possam validá-lo completamente. Bem como por uma carteira que opera e gerencia os bitcoins e verifica todas as operações realizadas.

Como funciona?

O software Bitcoin Core pode ser baixado como qualquer outro programa em nosso computadorDe fato, basta visitar este web para fazer isso. Mas antes disso vários aspectos devem ser levados em consideração. Primeiro O Bitcoin Core implementa todos os aspectos da rede Bitcoin; portanto, ao fazer o download, você se tornará um nó completo da rede. Isso inclui uma cópia exata e completa de todas as operações que foram realizadas com o Bitcoin desde o seu lançamento em 2009. E, claro, ele será atualizado constantemente. Portanto, a demanda por espaço de armazenamento disponível no disco rígido será de pelo menos 400 gb.

Segundo, O Bitcoin Core implementa uma carteira, através da qual todas as transações feitas com a cópia do blockchain. Portanto, o download e a sincronização em um computador levarão alguns dias antes que você possa usá-lo. Portanto, embora ofereça altos níveis de segurança e privacidade, é recomendado apenas para usuários avançados.

Outra característica importante do Bitcoin Core é que ele usa um programa interno (demônio) chamado bitcoind. Um daemon (demônio em espanhol) é um programa executado em segundo plano para uso através de linhas de comando e chamadas de procedimento remoto (RPC). O nome "demônio" está intimamente relacionado aos sistemas UNIX e derivados como GNU / Linux. O Bitcoin Core também é capaz de criar um testnet, uma rede de teste em que os desenvolvedores verificam as alterações que desejam fazer. Dessa forma, eles podem analisar em detalhes como as alterações ou melhorias que desejam na rede funcionam antes de incorporá-las a ela.

Além disso, o Bitcoin Core também contém um programa chamado bitcoin-cli. Esta é uma interface de linha de comando, através da qual os usuários podem enviar comandos RPC a bitcoind e execute qualquer operação suportada pelo Bitcoin.

Carteira Bitcoin Core, a carteira oficial Bitcoin

Quanto você sabe, cryptonuta?

O Bitcoin Core é a única maneira de criar um nó completo para o Bitcoin?

FALSO!

Existem outras opções para ativar um nó Bitcoin completo, uma dessas opções é o Libbitcoin de Amir Taaki. Mas o único que implementa totalmente as opções é o Bitcoin Core.

Desenvolvimento e melhorias do Bitcoin Core

O desenvolvimento do Bitcoin Core começou com a versão 0.1.0. Esta é considerada a primeira implementação do software Bitcoin criado por Satoshi Nakamoto. Estava disponível apenas para Windows. Na versão 0.2.0, o suporte aos sistemas Linux foi introduzido pela primeira vez e depois pelo MacOS.

Nakamoto participou do desenvolvimento e aprimoramento do Bitcoin Core até a versão 0.3.19 em 2010, depois abandonou o projeto, deixando-o nas mãos de Gavin Andresen. Foi Andresen quem mais tarde, em 2014, entregou o projeto à Wladimir J.van der Laan e outros grandes desenvolvedores.

Na versão 0.3.20, o rede de teste testnet. E a partir da versão 0.5.0 de 2011, passou a ser chamada Bitcoin-QT. Isso se refere a uma implementação baseada na biblioteca de interface gráfica Qt4 licenciada pelo MIT. Foi desenvolvido pelo desenvolvedor Wladimir Van der Laan e fornece uma interface amigável para o código Bitcoin. Tudo para tornar seu uso mais fácil, amigável e intuitivo para usuários não familiarizados com a programação.

Posteriormente, na versão 0.9.0, o software recuperou o nome Bitcoin Core e, nele, as taxas de transação foram reduzidas como uma medida para incentivar a conclusão das microtransações.

Deixando o OpenSSL para trás e melhorando os recursos

Nos seus primeiros dias, o Bitcoin Core usava OpenSSL para muitas operações de criptografia. No entanto, isso começou a mudar em 2015 devido a erros descobertos no OpenSSL. Entre as falhas de segurança, havia uma que permitia ao invasor ler a memória de um servidor e obter chaves privadas. Outro bug detectado é que o OpenSSL usa uma fonte "fraca" para números aleatórios, e os desenvolvedores do Bitcoin Core decidiram criar sua própria fonte. Por esses motivos, o OpenSSL foi removido do código-fonte do Bitcoin Core.

Na versão 0.11.2, os desenvolvedores incorporaram um recurso à rede, onde determinadas condições futuras poderiam ser estabelecidas para evitar o gasto de algumas transações. Então, com a versão 0.12.1, a funcionalidade de permitir múltiplos garfos macios simultaneamente.

Quase quase 100 colaboradores trabalharam na versão 0.13.0, onde introduziram mais de dez mudanças significativas. Para 2016, o garfo macio foi ativado CheckSequenceVerify. Nesse mesmo ano, o garfo macio de SegWit como melhora para maleabilidade da transação e ao espaço dos blocos sem variar seu tamanho.

Em 2018, foi lançada a versão 0.16.0, que permitia o uso de um formato de endereço nativo para o SegWit, também chamado de formato de endereço. bech32, que foi originalmente desenvolvido por Peter wuille y Greg Maxwell

Os riscos da centralização

Como dissemos, o Bitcoin Core é o cliente Bitcoin por excelência. Não é apenas um cliente, é o mais usado. No site da Bitnodes pode ser visto Como cliente Satoshi (que é chamado internamente de Bitcoin Core), é o cliente de mais de 95% de todos os nós conectados à rede.

Isso tem uma parte positiva: todos os nós falam um protocolo muito homogêneo. No entanto, isso também tem um lado negativo e potencialmente horrível para alguns detratores: a capacidade de controle que os desenvolvedores desse cliente têm.

Embora um cliente nada mais seja do que um programa que implementa o protocolo Bitcoin, deve-se entender que o protocolo sozinho não faz nada, requer que o programa o execute. Por esse motivo, este programa tem controle sobre quais partes do protocolo implementar e quais não, por exemplo, quais BIPs integrar.

Embora seja verdade que é um programa de código aberto, no qual podemos ver seu código e até propor alterações, apenas um pequeno grupo de programadores tem o controle para que essas alterações entrem no programa. Um grupo pequeno e fechado, que é constantemente tentado com ofertas de multinacionais e governos. Afinal, o software de código aberto não dá dinheiro diretamente, e eles precisam ganhar a vida, empresas e governos sabem disso e têm a capacidade de brincar com o necessário, colocando esses programadores na folha de pagamento e fazendo lobby para que eles direcionar as funcionalidades de uma maneira ou de outra. Assim como na política com representantes.

Nessa situação, sendo o cliente por excelência e vendo como é complicado criar um novo cliente em que desenvolvedores comprometidos e anônimos sem a capacidade de serem corrompidos mantêm o código, alguns desenvolvedores optaram por hard fork Bitcoin.

O problema da centralização é algo real, um problema que o Bitcoin procura resolver, mas sem dúvida ainda existem muitas oportunidades de melhoria em torno do Bitcoin e desse conceito.