Início Coluna Bitcoin 2.0 (parte 1): as divisões e atualizações da rede do Bitcoin

Bitcoin 2.0 (parte 1): as divisões e atualizações da rede do Bitcoin

555
1
Bitcoin 2.0 (parte 1): as divisões e atualizações da rede do Bitcoin

Este artigo é fruto da parceria entre o Criptomoedas Fácil e a Blockchain Academy na busca de trazer à comunidade de criptomoedas conteúdos conceituais e técnicos que ajudam na educação e compreensão deste novo universo disruptivo. 

Muitas pessoas ainda têm dúvidas, ou simplesmente se esqueceram, sobre o que exatamente são forks (ou o mais comentado hard fork), como funcionam, porque existem. A respostas para essas e outras perguntas você irá conferir no conteúdo a seguir.

O que é um Fork?

Um Fork nada mais é do que uma bifurcação (Y), uma divisão ou separação de alguma coisa em dois ramos ou braços, uma forquilha. No caso do Bitcoin, um Fork acontece por alguns motivos e, nesses casos, os nós (nodes) devem escolher por qual caminho querem seguir, alocando sua capacidade de processamento naquela nova corrente.

Porque existem Forks?

Em resumo, como a rede do Bitcoin é distribuída e descentralizada, é necessário que haja consenso para que uma possível modificação ou atualização na rede seja efetivamente colocada em prática. Então, toda e qualquer alteração que é realizada na rede do Bitcoin, seja no protocolo, no formato dos blocos, das transações ou até mesmo nas regras de negócio, resulta em um Fork.

Os tipos de Fork:

Existem três tipos de Fork. Um deles acontece com certa frequência na rede do Bitcoin e os outros dois acontecem somente na forma de atualizações.

O tipo mais comum se dá quando dois mineradores publicam blocos diferentes ao mesmo tempo, isso faz com que ocorram duas correntes simultâneas sendo mineradas na rede, cada uma com uma certa quantidade de processamento.

Os Forks de atualização são:

  • Soft-Fork: acontece quando a atualização é compatível com todas as versões anteriores do software dos clientes, ou seja, os clientes que não passaram por atualização continuam funcionando normalmente;
  • Hard-Fork: ao contrário do tipo anterior, esse acontece quando a modificação faz com que os clientes com versões anteriores deixem de funcionar.

Em algum momento depois de um Fork, uma das correntes possui mais força computacional do que a outra, o que faz com que os blocos sejam solucionados mais rapidamente e consequentemente que sua publicação seja recebida por mais nós. Isso faz com que uma das correntes tenha seis blocos a mais que a outra. Neste momento, a corrente menor é abandonada por todos os nós participantes, que passam a trabalhar na corrente mais longa.

O Fork mais famoso do Bitcoin

O Fork mais famoso da rede do Bitcoin aconteceu em agosto de 2017, quando ela passou pelo que foi, até hoje, sua maior provação.

Após três anos de desenvolvimento de uma nova versão do cliente Bitcoin pelo time de desenvolvimento Bitcoin Core, incontáveis reuniões entre desenvolvedores, e algumas reuniões às escondidas entre empresários, o medo se instaurou entre os usuários do Bitcoin, pois na época poucos sabiam o que era um Hard-Fork.

Além da atualização proposta pelo time oficial de desenvolvedores, o Bitcoin Core, também existia uma proposta criada por grandes players do mercado conhecida como New York Agreement (Acordo de Nova York) ou NYA, na qual os desenvolvedores do Bitcoin Core não foram convidados. Nesta reunião ficou decidido que seriam feitas duas atualizações: primeiramente a publicação do protocolo SegWit e depois de 90 dias, o aumento do bloco para 2MB, o famoso SegWit2X.

Assim que perceberam que o SegWit2X não teria a tração necessária, foi criado mais um time em cima da hora, o BitcoinABC, que contava com o investimento de Jihan Wu (fundador da Bitmain) e Roger Ver. Este time desenvolveu um novo cliente que produzia blocos de 8MB, mas como tudo foi feito em pouco tempo um bug foi descoberto por um desenvolvedor do Bitcoin Core pouco antes do lançamento e foi corrigido.

Então existiam três tentativas de atualização simultâneas:

  • Bitcoin Core: apostava que a melhor solução para acabar com a maleabilidade das transações, e ao mesmo tempo melhorar a capacidade de processamento da rede, seria ativar o protocolo SegWit. Este protocolo alterava a aparência dos blocos para a versão atualizada dos clientes, mantendo-a inalterada para quem utilizava um cliente desatualizado. Para que esta atualização ocorresse, era necessário que 95% da rede sinalizasse que estava pronta (um Soft-Fork);
  • NYA: defendiam o SegWit2X, onde tanto o protocolo SegWit era ativado, acabando assim com a maleabilidade das transações, quanto um aumento no tamanho dos blocos acontecesse, para melhorar a capacidade da rede;
  • BitcoinABC: não queria a ativação do SegWit, mas sim um aumento no tamanho dos blocos (em MB), o causaria um Hard-Fork já que uma das regras de consenso da rede é que os blocos não podem ultrapassar o tamanho de 1MB, fazendo com que o cliente oficial do time Bitcoin Core não validasse suas transações.

De forma resumida, como não houve consenso entre os nós ocorreu um Hard-Fork e a rede foi separada em duas pelo software do BitcoinABC, resultando na criação de uma nova moeda, o BCash.

  • Bcash: Um grupo de nós, que utilizavam o software do BitcoinABC, passou a validar apenas os blocos maiores, que tinham até 8MB e sofriam com a maleabilidade das transações;
  • BTC: O outro grupo, que continuou utilizando tanto a versão nova como versões anteriores do software do Bitcoin Core, permaneceu validando os blocos antigos assim como os novos blocos com formato SegWit, que além de corrigir a maleabilidade das transações também tinha uma capacidade maior de transações, aumentando assim o fluxo da rede.

Conclusão

Apesar do medo que esta palavra trouxe no passado, podemos concluir que os Forks são naturais em ambientes descentralizados e/ou distribuídos graças a latência da rede e dificuldades de consenso.
Além disso, tanto o Soft-Fork quanto o Hard-Fork são necessários para a atualização da rede e não são, na maioria das vezes, prejudiciais ao ecosistema.

O que vem depois?

No próximo texto da série será abordado sobre o que exatamente é o protocolo SegWit e como ele possibilitou que novas funcionalidades fossem adicionadas à rede sem a necessidade de atualização do cliente utilizando as Side Chains (correntes paralelas).

Confira aqui mais conteúdos produzidos pela parceria.

Lembrando que os leitores do Criptomoedas Fácil podem usar o cupom BACF10 e obter 10% de desconto em qualquer curso da Blockchain Academy.

loading...