No post anterior eu expliquei o que eram os forks, e o que isso tinha a ver com o Bitcoin XT. Nesse post vou tentar esmiuçar um pouco o que é o Bitcoin XT.

Histórico

Desde os primórdios do bitcoin, o tamanho do bloco é o principal fator limitador da capacidade da rede de processar transações. No modelo atual, um bloco pode ter no máximo um megabyte de tamanho, o que limita o numero de transações a cerca de 7 por segundo . Hoje isso parece ser o suficiente, e a não ser em casos onde tentam fazer um “flood” na rede . Mike Hearn, o principal desenvolvedor do bitcoin XT fez estimativas usando o valor corrigido de 3,2 transações por segundo seria atingido ainda no primeiro semestre de 2016 .

Surgiram então ao menos 3 propostas de aumento dos blocos, defendidas por diferentes membros do “core developers” . O Jeff Garzik criou o BIP 100 , que propunha um sistema de votação para aumento dos blocos e o BIP 102 que aumenta o bloco para 2Mb uma única vez. O Gavin Adresen propôs o BIP 101 , que propunha um aumento fixo inicial para 8Mb, dobrando esse tamanho a cada 2 anos até o limite de 20Mb. Por ultimo, o Pieter “sipa” Wuille fez uma proposta conciliatória que ficou conhecida como BIP “sipa” e não chegou a ganha numeração definitiva . Essa proposta aumenta o blockchain gradualmente a cada 97 dias, numa média de 17.7% ao ano a partir de 2017. Os outros dois desenvolvedores do grupo se posicionaram contra o aumento do tamanho do bloco, por entre outros motivos acharem que forçar um hard fork sem consenso da comunidade seria arriscado.

Nesse contexto, a comunidade e os desenvolvedores não conseguiram entrar em consenso. O Gavin Adresen como lider nominal do grupo se sentia pressionado para que uma decisão fosse tomada rapidamente . Aqui entra em cena o Mike Hearn que já estava descontente com a forma como time de core developers tomava as decisões sobre o desenvolvimento do bitcoin e já vinha se desentendendo com alguns deles . Ele então convenceu o Gavin Andresen a ajudá-lo em um novo projeto, construído em cima do Bitcoin Core, onde o processo de tomada de decisão fosse mais ágil e mais focado em atender as necessidades do usuário. O carro chefe desse novo projeto seria a BIP 101 do Gavin, mas ele comportaria outra mudanças. Em meados de agosto o projeto gerou seu primeiro fruto, que é o Bitcoin XT.

O que vem no pacote?

O Bitcoin XT, como o próprio projeto diz, nada mais é que uma série de patches aplicados ao Bitcoin Core para conduzi-lo na direção que os novos desenvolvedores, em especial o Mike Hear, acham correta . O pacote completo de patches inclui, além do BIP 101, as seguintes funcionalidades:

Retransmissão de double spending pelos clientes (para facilitar a identificação de golpistas, a rede não mais filtrará as tentativas de gastar duas vezes a mesma moeda);

BIP 64 – “getutxos”, que permite que informações sobre transações sejam requisitadas na rede, auxiliando na implementação de carteiras descentralizadas e permitindo melhorias na interface;

Melhorias na lista de DNS seeds, permitindo maior diversidade e robustez nas conexões da rede;

Funcionalidades anti DoS – Duas propostas de proteção contra DoS, uma do Mike Hearn, outra do Tom Harding foram implementadas;

Votação e entrada em operação

O aumento de blocos não é uma mudança trivial, e não pode ser feito com uma mera atualização do software. É preciso forçar um hard fork na rede. Não existe uma forma de fazer a transição suave (usando soft forks), porque os blocos de tamanho maior seriam fatalmente rejeitados pelos clientes antigos, e não há uma maneira alternativa de encaixá-los no protocolo já que foi implementado como uma regra fixa em todos os clientes. . Um hard fork é uma medida arriscada, que pode gerar prejuízos se feito apenas por uma parcela da rede. Normalmente ele é conduzido com o consenso da comunidade que atualiza os principais nós e clientes da rede antes de um prazo pré estabelecido. Entretanto a implementação do aumento de blocos ainda é um assunto polêmico, e o consenso nunca foi atingido. Então o Bitcoin XT se utiliza de um mecanismo de “votação” para mensurar o consenso da rede, e só após esse consenso ser atingido é que ele irá ativar as novas funcionalidades. Nesse meio tempo, ele opera exatamente igual a um cliente bitcoin core.

A votação tem uma regra bem simples: Após 11 de janeiro de 2016, se em algum momento 750 dos últimos 1000 blocos minerados (75%) forem marcados com o numero de versão do Bitcoin XT, o sistema considera que o consenso foi atingido. Uma mensagem pedindo a atualização da carteira para o XT é então enviada e exibida em todas as carteiras que ainda não foram trocadas pela versão XT, e após 2 semanas, as regras do XT passam a valer. Essa regra muda a dinâmica de obtenção de consenso de forma prévia para o que os autores do XT chama de “Economic majority voting” , e é um dos principais pontos de crítica a forma como o projeto é conduzido

Não existe Bitcoin XT, apenas Bitcoin

Em todas as discussões que acompanhei na internet o que mais tenho visto é a dificuldade de entender o que exatamente é o Bitcoin XT. Apesar da discussão ser complexa e cheia de nuances, termos tecnicos especificos do bitcoin como “fork”, “blockchain” e “broadcast de transações”, um ponto é bastante claro:

O Bitcoin XT e o Bitcoin são uma coisa só.

O bitcoin XT é uma carteira que implementa um conjunto de regras mais abrangente (blocos maiores), e por isso necessita de um hard fork para entrar em operação, mas ele não cria uma moeda paralela nem “mata” o bitcoin. Mudanças de regras no bitcoin sempre foram implementadas e nem por isso ele deixou de ser “bitcoin”. O bitcoin não deixa de existir, nem é substituído pelo XT. O XT apenas atualiza as regras de validação de blocos que o bitcoin usa, estabelecendo um novo consenso na rede, agora com blocos maiores . A moeda continua sendo o bitcoin, a blockchain continua sendo a blockchain do bitcoin e a rede continua sendo a rede bitcoin. A expectativa dos desenvolvedores do XT é que o consenso seja atingido ainda durante o período de duas semanas da atualização do XT e que no momento em que o primeiro bloco maior do que 1Mb for gerado, já não existam clientes desatualizados rodando na rede.

Existe uma controvérsia quanto ao que acontecerá se o defensores radicais do bitcoin core continuarem minerando e mantendo o bitcoin core vivo e conectado à rede. O próximo artigo irá focar nesse problema e em outros possíveis problemas do XT.

Share this: Print

Facebook

Twitter

More

WhatsApp

LinkedIn



Reddit

Tumblr



Pinterest

Pocket



Telegram

Skype



Email



Like this: Like Loading...