Agora que o SegWit está fechado, a guerra civil de três anos do Bitcoin parece estar perto do fim. Embora não estejamos completamente resolvidos ainda - continuam as questões pendentes sobre o aumento do tamanho dos blocos neste outono e sobre a viabilidade a longo prazo do Bitcoin Cash - o conflito parece estar quase resolvido.
O próximo passo é a ativação do SegWit, que chegará cerca de duas semanas após a dificuldade de mineração do Bitcoin se repetir novamente. Uma vez que o SegWit está ativado, mais transações poderão caber em cada bloco de 1 MB, e o congestionamento na rede irá cair. Outras melhorias, como a rede lightning poderão avançar, talvez revolucionando a moeda digital.
Voltar ao início
Do que é o esperado fim, olhemos para o início. É fácil ficar atraído à política e abraçar o ponto de vista do seu lado, mas é muito mais difícil olhar para trás de forma objetiva e buscar as causas reais do infame "debate do tamanho de blocos".
No início de 2014, era óbvio que teria que haver mudanças no código do Bitcoin para permitir a escala da rede. A rede Bitcoin só conseguia processar cerca de quatro transações por segundo e o interesse pelo Bitcoin estava crescendo. Embora ainda não houvesse uma carteira de transações, ficou claro que, a menos que uma ação fosse tomada, eventualmente seria.
Big Blockers vs. Core
Em termos aproximados, a comunidade dividiu-se em dois campos: aqueles que apoiavam blocos maiores que poderiam, por sua vez, realizar mais transações e aqueles que favoreceram uma solução mais tecnicamente matizada. No final, esses lados vieram a ser conhecidos como "the big blockers" e os seguidores do "SegWit" ou "Core".
Visão de Satoshi
Quando Satoshi originalmente criou o Bitcoin, ele previu uma rede na qual todos iriam executar um nó. Cada nó contém todo o Blockchain (e serve para pares), garantindo que o Blockchain fosse imutável e não pudesse ser controlado por uma única entidade. Na época, o Blockchain era muito pequeno, e executar um nó era quase gratuito.
Ao longo do tempo, à medida que a popularidade do Bitcoin cresceu, também o fez tamanho do Blockchain. À medida que o Bitcoin Blockchain crescia, executar um nó completo exigia um computador com um grande disco rígido e muita largura de banda da internet. Como o espaço de armazenamento e a largura de banda são caros, vários nós voluntários começaram a abandonar a rede.
Eu gosto de grandes blocos...
Quando se encontrou com desafios de escalabilidade em 2014, a solução dos big blockers foi simples: aumentar o tamanho do bloco. Se cada bloco pode armazenar mais dados, a rede pode processar mais transações por segundo. A desvantagem é que quanto maiores os blocos, maior o Blockchain.
Um Blockchain maior leva a menos nós (uma vez que é mais caro armazenar e servir essa quantidade de dados). Menos nós conduzem a uma menor descentralização. Os big blockers insistiram que isso estava bom, porque voluntários suficientes ainda executariam nós que o Bitcoin poderia permanecer descentralizado.
Oposição dos desenvolvedores
A maioria dos desenvolvedores do núcleo do Bitcoin se alinharam por trás de uma solução diferente: o Segregated Witness. Esta solução permitiria que os dados da transação e as assinaturas fossem divididos. As assinaturas podem ser "compactadas" e mais transações podem caber em blocos de tamanho normal (1 MB). Basicamente, o Core estava defendendo um tipo sofisticado de compressão de dados.
Essa compressão manteria o bloco menor, permitindo que outros nós o hospedassem. No entanto, houve alguns problemas com isso. No primeiro caso, o SegWit é bastante complicado e alguns desafios de implementação foram esperados. Ninguém estava bastante seguro, por exemplo, se exigiria um soft fork ou um hard fork.
No segundo caso, a maioria dos desenvolvedores principais que apoiam o SegWit eram empregados de uma empresa privada chamada Blockstream. Muitos na comunidade viram isso como uma tomada de poder por uma empresa privada tentando exercer influência indevida sobre um projeto descentralizado.
Descentralizado ou distribuído?
Apesar dos inúmeros problemas paralelos, o cerne do debate sobre a escalabilidade abrangia a questão:
"Quanta descentralização é o bastante?"
O problema é que ninguém sabe a resposta a essa pergunta. A descentralização tornou-se um mantra tão poderoso na comunidade de criptomoedas que parece que o conceito fica um pouco confuso. Uma rede descentralizada é aquela que não é controlada por nenhuma entidade ou grupo de entidades e é resistente a ataques dela.
Filosoficamente falando, dezenas ou mesmo centenas de milhares de nós seriam ideais, mas isso não é realmente prático. Essa rede seria distribuída, não descentralizada. Uma rede distribuída é uma que é massivamente descentralizada, onde praticamente todos executam um nó. Dado o custo de executar um nó, é improvável que o Bitcoin se torne verdadeiramente distribuído.
Ao mesmo tempo, um projeto com algumas dúzias de nós não pode ser chamado de forma descentralizada e resistente a ataques, também. Agora, há pouco mais de 9200 nós que atendem à rede Bitcoin. Isso é suficiente para manter o projeto verdadeiramente descentralizado? 4000 nós seriam bons o suficiente? 1000 seriam?
Antes de avançar com discussões sobre outros aprimoramentos de escalabilidade, como a rede lightning, a comunidade precisa chegar a um consenso sobre uma questão básica, mas fundamental:
Qual é a quantidade de descentralização suficiente?