Поделиться этой статьей

Desvendando o Bitcoin: Por que Russell Yanofsky está desmontando o código mais antigo da criptomoeda

Um desenvolvedor está trabalhando discretamente na divisão da base de código do bitcoin – um esforço que visa dar mais flexibilidade aos usuários e mais clareza aos desenvolvedores.

lego, blocks

Os desenvolvedores costumam usar palavras como "monolítico", "bolha" e "emaranhado" para descrever o código que sustenta o Bitcoin.

Essas palavras pintam um quadro de quão difícil o código pode ser de compreender e, por sua vez, trabalhar, e não é exatamente um pensamento reconfortante para uma rede que suporta US$ 61 bilhões em dólares de investidores. Isso não quer dizer que o Bitcoin T funcione – funciona – mas o estado da base de código deixa algo a desejar, tanto para usuários que podem desejar mais flexibilidade quanto para os desenvolvedores que querem melhorá-la.

Продолжение Читайте Ниже
Не пропустите другую историю.Подпишитесь на рассылку Crypto for Advisors сегодня. Просмотреть все рассылки

Então, embora mudanças como a otimização de código Segregated Witness (SegWit) e a filosofia das chamadas atualizações de "hard fork" tenham atraído mais atenção ultimamente, vários desenvolvedores de Bitcoin estão trabalhando sob o radar desembaraçarA arquitetura confusa do bitcoin.

Russell Yanofsky, da Chaincode, por ONE, está tentando resolver uma parte do problema com algo chamado "separação de processos" no código do Bitcoin CORE , a opção de software mais usada.

Yanofsky disse ao CoinDesk:

"Bitcoin é uma base de código mais antiga. Ela mudou muito ao longo do tempo. Há muitas partes dela onde, se estivéssemos escrevendo tudo do zero, provavelmente faríamos as coisas de forma diferente. Mas, como temos esse legado de código, temos que encontrar maneiras de mantê-lo."

Abandone o monólito

Para começar a entender a técnica de separação de processos de Yanofksy, você deve primeiro entender que o software Bitcoin CORE é composto de muitas partes diferentes e dois chamados "processos" que são agrupados, alguns diriam, de forma aleatória.

O primeiro processo é chamado de "bitcoind" e, de acordo com Yanofsky, é composto de algumas coisas: o código ponto a ponto, que conecta os nós na rede; o código de validação, que verifica se as transações e os blocos que um nó recebe são válidos; e o código da carteira, que armazena as chaves privadas do usuário.

O segundo processo, "bitcoin-qt", executa todas essas coisas com a adição de uma interface de usuário para que usuários com pouca experiência em tecnologia possam executar um nó completo sem usar a linha de comando.

Yanofsky acha que seria melhor separar alguns desses aspectos do código. Para esse fim, ele está criando um novo processo, "bitcoin-walletd", que separa o código da carteira do bitcoind. E ele está removendo todo o código do bitcon-qt, exceto a interface do usuário.

Seus slides de uma apresentação da BitDevs em Nova York esta semana mostram a diferença na estrutura:

slide1
slide1
slide2
slide2

Em um alto nível, pode parecer que os vários processos de Bitcoin já estão completamente separados, mas em termos de codificação eles T estão. Então agora, Yanofsky está essencialmente construindo barreiras entre os diferentes componentes.

Dessa forma, quando o código estiver concluído, a parte da carteira não poderá tocar em outras partes do código.

Misture e combine

Então, o que isso significaria para os usuários? Mais flexibilidade, principalmente.

Os usuários podem mover as coisas como um quebra-cabeça, misturando e combinando as peças que Yanofsky está dividindo. Por exemplo, com a carteira não vinculada ao nó, os usuários podem pegar a carteira e usá-la com qualquer nó de Bitcoin .

"Talvez se você estiver usando uma carteira antiga que T suporta novos recursos e T quiser se livrar dela — ou T quiser transferir seu dinheiro para fora", a opção de levar a carteira para um nó diferente pode ser útil, disse ele.

Da mesma forma, os usuários podem querer usar a interface de usuário do bitcoin-qt com diferentes nós do bitcoind.

"Você poderia basicamente ter um nó Bitcoin rodando em um servidor em algum lugar. Talvez você queira apenas rodar a GUI para verificar qual é o uso de largura de banda ou suas conexões ponto a ponto", disse Yanofsky.

Criando mais opções para os usuários, algo que os entusiastas do Bitcoin estão particularmente atentos a, é por isso que Yanofsky está trabalhando no projeto.

Embora ele admita que suas mudanças podem deixar as coisas um pouco mais lentas ou dificultar a depuração de código para os desenvolvedores, o projeto recebeu a aprovação do GitHub de vários Colaboradores do Bitcoin CORE , incluindo o mantenedor líder Wladimir J. van der Laan e o colaborador Daniel Cousen.

E isso ocorre em parte porque as vantagens T são apenas para o usuário, disse Yanofksy, acrescentando:

"Há recursos visíveis ao usuário que surgem disso, mas também há um grande componente de limpeza arquitetônica e de código."

Revisão de gargalo

Embora Yanofsky tenha dito que está quase terminando de escrever o código para a atualização principal, ainda há uma série de coisas que precisam acontecer antes que ela possa ser oficialmente adicionada ao Bitcoin CORE.

"O maior problema com a revisão é chamar a atenção das pessoas", disse ele.

Como vários desenvolvedores de Bitcoin de código aberto precisam revisar cada alteração de código antes que ela possa ser adicionada, e há um número limitado de desenvolvedores com experiência para revisar alterações de código, o processo pode ser ONE.

Yanofsky também espera que algumas outras mudanças, como as adições de código ponto a ponto de Cory Fields e as mudanças no código de carteira de seu colega da Chaincode, Matt Corallo, também tenham precedência sobre sua mudança de separação de processos.

"Agora o foco definitivamente não está nessa área", disse Yanofsky. "Nossa maior prioridade agora é obter melhor suporte ao SegWit. Esse recurso terá que esperar sua vez."

Mas, embora ainda não esteja na lista de prioridades, o trabalho ainda promete ser uma mudança importante, conforme destacado pelo comentário do CTO da Blockstream, Greg Maxwell, sobre oGithub de Yanofsky:

"Acho que deveríamos ter feito algo assim há muito tempo."

Aviso Importante:A CoinDesk é uma subsidiária do Digital Currency Group, que possui participação acionária na Blockstream.

Legoimagem via Shutterstock

Alyssa Hertig

Repórter colaboradora de tecnologia na CoinDesk, Alyssa Hertig é uma programadora e jornalista especializada em Bitcoin e Lightning Network. Ao longo dos anos, seu trabalho também apareceu na VICE, Mic e Reason. Atualmente, ela está escrevendo um livro explorando os meandros da governança do Bitcoin . Alyssa possui alguns BTC.

Alyssa Hertig