Entenda o SegWit2x: O que está por trás do Hard Fork do Bitcoin

Um grupo de empresas de Bitcoin planeja implantar um hard fork para duplicar o limite do bloco do Bitcoin para oito megabytes em novembro. Conhecido como “SegWit2x”, esta mudança de protocolo incompatível segue o New York Agreement (NYA) e é incorporada no cliente do software BTC1.

SegWit2x é altamente controverso. A maioria da comunidade de desenvolvimento do Bitcoin, uma série de outras empresas, algumas pools de mineração e – se as pesquisas públicas e os mercados de futuros são representativos – a maioria dos usuários e o mercado não estão a bordo com este hard fork. Alguns deles estão envolvidos em uma espécie de movimento de protesto, sob a bandeira “NO2X”.

Para aqueles que não acompanharam o debate, aqui está uma visão geral dos principais argumentos para e contra a parte do hard fork 2x do SegWit2x.

Nota do autor: Claro que nem todos os defensores do SegWit2x concordam com todos os argumentos em favor do hard fork e nem todos os oponentes concordam com todos os argumentos contra ele. Esta é apenas uma visão geral (e provavelmente incompleta) dos vários argumentos lá fora.

2X

SIM para baixar taxas de transação e/ou confirmações mais rápidas

Muitos proponentes de um aumento do limite do tamanho do bloco acreditam que uma das principais proposições de valor do Bitcoin é seu potencial como um meio de pagamento. Eles preferem as transações dentro da blockchain por ser mais barato e mais rápido do é atualmente, e acho que isso é o que a maioria silenciosa dos usuários quer também. Os proponentes do SegWit2x também estão um pouco mais dispostos a arriscar outras características definidoras do Bitcoin, como a resistência à censura.

Com blocos de Bitcoin maiores, a rede pode lidar com mais transações. Isso deve reduzir as taxas médias e as transações confirmarem mais rapidamente. Ou deve, pelo menos, tornar mais caro para os atacantes enviar spam à rede com transações falsas. Os proponentes da SegWit2x, portanto, pensam que um hard fork para duplicar o tamanho do bloco do Bitcoin irá embarcar mais usuários mais rapidamente.

Uma adoção mais rápida poderia, por sua vez, beneficiar o Bitcoin de várias maneiras. A taxa de câmbio de Bitcoin poderia aumentar, o que também aumentaria a receita de mineração, o que deveria se traduzir em mais poder de hash para proteger a rede. Enquanto isso, mais usuários podem executar nodes completos para beneficiar a descentralização da rede. Além disso, o aumento da popularidade pode até tornar mais difícil para os governos proibirem o Bitcoin.

SIM para o comprometimento

O acordo de Nova York nasceu no calor do debate de escala do Bitcoin sob a ameaça iminente de um hard fork liderado pela implementação do protocolo alternativo Bitcoin Unlimited. Este esforço foi, em grande medida, liderado por defensores de um aumento de limite de tamanho de bloco e opositores da atualização do protocolo SegWit, como Bitmain e Bitcoin.com.

Essas empresas alavancaram o poder de hash de seus pools de mineração para atrasar a ativação do SegWit, enquanto planejava aumentar o limite do tamanho do bloco com um hard fork. Isso poderia ter “dividido” a rede Bitcoin em duas blockchains e moedas incompatíveis.

SegWit2x foi apresentado como um compromisso intermediário entre os dois campos de guerra do debate em escala. “Um lado” obteria o SegWit, enquanto o “outro lado” receberia um hard fork de aumento de capacidade. A maioria dos signatários acreditava, pelo menos no momento do acordo, que esta seria uma solução que deveria manter a rede Bitcoin junta.

SIM para manter sua palavra

Embora a duplicação do tamanho do bloco do Bitcoin (provavelmente) diminua as taxas médias e/ou os tempos de confirmação, a ativação recente do SegWit já diminuiu um pouco. O que pode, portanto, ser mais importante para os signatários restantes do NYA não é tanto o aumento do peso do bloco, mas sim o acordo por si só. Sair do acordo “no meio do caminho” – após a ativação do SegWit, mas antes do fork – seria uma violação do acordo que assinaram.

Não só isso, mas abandonar agora também pode ser visto como uma admissão de que o SegWit na verdade não foi ativado por causa da NYA em primeiro lugar – mas sim por causa do BIP 148, um fork ativado pelo usuário (UASF). Devido à natureza polêmica do BIP 148, não pelo menos entre alguns dos signatários da NYA, muitos podem estar ansiosos para evitar a percepção de que este UASF foi um sucesso.

SIM para “atacar” o Bitcoin Core

Atualmente, a maioria das pessoas que executam nodes completos escolhe usar um cliente de software Bitcoin Core, tornando esta a implementação dominante na rede Bitcoin. Alguns até consideram o “cliente de referência” que define o protocolo do Bitcoin.

O SegWit2x parece ser pelo menos parcialmente motivado pelo desejo de remover o poder ou a influência percebida que os contribuidores do Bitcoin Core têm sobre o desenvolvimento do protocolo do Bitcoin, fazendo a maioria das empresas e os mineradores alternando para o cliente do software BTC1. (Note-se que, neste contexto, o “despedimento” realmente significa “não usar mais o software mantido por esses desenvolvedores”. Os contribuidores do Bitcoin Core são essencialmente voluntários e não podem ser literalmente acionados, enquanto a maioria do código no cliente BTC1 é bifurcado do Bitcon Core e assim escrito pelos desenvolvedores do Bitcoin Core de qualquer maneira.)

Os contribuidores do Bitcoin Core poderiam, claro, lançar um novo cliente do Bitcoin Core que adote o fork SegWit2x para torná-lo compatível com o BTC1 e, portanto, compatível com essas empresas e mineradores. Na verdade, isso pode até ser o que muitos signatários da NYA esperam. Nesse caso, o BTC1 efetivamente se tornaria o novo cliente de referência do Bitcoin, pelo menos na perspectiva de alguns desses signatários.

Outros signatários podem preferir que o time de desenvolvimento do Bitcoin Core cesse completamente. Em alguns casos, o suporte para o hard fork pode ser principalmente impulsionado pelo ressentimento em relação ao projeto do Bitcoin Core e um desejo de tomar qualquer ação percebida para desacreditá-lo.

SIM aos mineradores sendo o fator decisivo

Mais de 90 por cento dos mineradores (por hash power) estão atualmente sinalizando suporte para o SegWit2x. Embora esta sinalização em si seja tecnicamente sem sentido, os proponentes do SegWit2x assumem que os mineradores irão seguir essa intenção declarada.

Alguns defensores do SegWit2x argumentam que os mineradores decidem o futuro do protocolo Bitcoin – ou que eles devem decidir. Se um hard fork resultasse em duas blockchains incompatíveis, eles acreditam que qualquer blockchain que tenha mais poder de hash dedicado a isso é o Bitcoin “real”. Ou, pelo menos, eles vão sustentar que a blockchain com o maior poder de hash dedicado a ela será o “Bitcoin” mais seguro e funcional e, portanto, o “Bitcoin” que as pessoas vão querer usar.

NO2X

NÃO para mais compensações de segurança

As pessoas que são contra o SegWit2x geralmente concordam que o aumento do tamanho do bloco Bitcoin vem com uma série de poréns.

Por um lado, os blocos maiores aumentam os requisitos de recursos para operar um node completo, como maior uso de banda, maior tempo de sincronização para novos nodes e muito mais. Isso aumenta o custo para os usuários individuais participarem da rede de uma forma sem confiança e, portanto, de forma otimamente segura. Esse aumento de custo poderia, por sua vez, ter um efeito centralizador na rede, especialmente se resultar em menos usuários executando nodes completos.

Além disso, blocos maiores retardariam a propagação do bloco através da rede peer-to-peer, o que potencialmente beneficia os mineradores maiores e as pools de mineração: outro efeito centralizador.

E, na verdade, pode ser bom limitar a taxa de transferência da rede, uma vez que isso aumenta a pressão das tarifas, o que, por sua vez, oferece um incentivo para que os mineradores assegurem a rede à medida que as recompensas do bloco diminuem ao longo do tempo.

Todos esses tipos de riscos podem, em última instância, levar a um Bitcoin mais centralizado e, portanto, menos resistente à censura e menos permissível. Isso às vezes é referido como o “risco do PayPal 2.0”, onde Bitcoin se degrada para perder o que os adversários do SegWit2x consideram ser suas características definidoras e principais proposições de valor.

Com a ativação de Segregated Witness, o Bitcoin permite blocos de quatro megabytes, aumentado de um megabyte. Alguns consideram que isso já é um compromisso bastante arriscado. SegWit2x dobraria esse risco para até de oito megabytes, os adversários do SegWit2x geralmente consideram muito grande por enquanto.

NÃO para “acordos de portas fechadas”

Enquanto os detalhes são um pouco incertos (e isso faz parte do problema), o SegWit2x foi criado entre um grupo relativamente pequeno de executivos (principalmente) de empresas de Bitcoin proeminentes durante uma reunião de apenas convidados em um hotel em Nova York, organizado pelo Digital Currency Group.

Depois de concordar sobre o que consideraram um compromisso entre os dois lados do debate sobre a escala, eles chegaram a outras empresas para se inscreverem no acordo. A base de clientes agregada de todos esses signatários é reivindicada como representada pelo acordo, assim como todo o poder de hash conectado às pools de mineração participantes.

Além disso, enquanto o BTC1 tecnicamente tem uma lista de discussão de desenvolvimento aberto e um canal de discussão aberto (embora ambos tenham sido inicialmente fechados), não há muita discussão em nenhum desses locais. Isso quer dizer que nenhuma discussão de desenvolvimento está ocorrendo – ou que essas discussões estão ocorrendo também em um ambiente fechado e desconhecido.

Tudo isso contrasta radicalmente com o caráter do código aberto em que Bitcoin nasceu e que ainda permeia o processo de desenvolvimento do Bitcoin hoje. Os colaboradores do Bitcoin Core, por exemplo, se reúnem e discutem publicamente no IRC, enquanto as potenciais alterações de protocolo (BIPs) são discutidas em uma lista de email pública; Ambos os canais de comunicação são relativamente ativos.

Além disso, os oponentes do SegWit2x normalmente consideram que é uma característica fundamental do Bitcoin que os usuários estão no controle de seu próprio dinheiro. Embora as empresas possam prestar serviços, os oponentes do SegWit2x não pensam que essas empresas devem decidir o que define o Bitcoin em nome de seus clientes e definitivamente não deve fazê-los em nome de todos os usuários de Bitcoin.

Tudo isso não é apenas uma questão de princípio: os opositores acreditam que o SegWit2x pode realmente criar um precedente ruim. Se um pequeno grupo de empresas se mostrar efetivamente no controle do protocolo Bitcoin, essas empresas poderiam se tornar uma espécie de ponto central de falha. Os governos poderiam, por exemplo, exercer pressão sobre eles para introduzir listas negras ou outras infracções (o que consideram) os principais recursos da Bitcoin.

NÃO para “atacar” o Bitcoin Core

Embora o Bitcoin Core seja de fato o cliente dominante na rede Bitcoin, isso é apenas porque os usuários voluntariamente optam por executar este software – e muitos oponentes do SegWit2x, pelo menos, estão felizes em fazê-lo. Eles não desejam “atacar” a equipe de desenvolvimento do Bitcoin Core.

Também não está claro se algum grupo de desenvolvedores pode ou irá substituir os atuais contribuidores do Bitcoin Core caso eles sejam “demitidos”. Muitas pessoas no mundo não têm uma compreensão tão profunda da base de códigos do Bitcoin ou do funcionamento interno como eles.

BTC1, por exemplo, realmente tem apenas um desenvolvedor que faz a maior parte do trabalho: CEO da Bloq, Jeff Garzik. Garzik tem experiência trabalhando na base de código do Bitcoin Core, mas sua principal experiência não está trabalhando no código crítico de consenso. Isso também significa que testar e revisar o BTC1 é bastante mínimo.

E enquanto alguns defensores do SegWit2x esperam e acreditam que os desenvolvedores do Bitcoin Core vão fundir o código SegWit2x ou, de outra forma, mudar seus esforços para a versão SegWit2x do Bitcoin após o fork, isso parece muito improvável: o projeto chegou a emitir uma declaração conjunta rejeitando o SegWit2x. Em vez disso, se o hard fork do SegWit2x fosse bem-sucedido e o protocolo Bitcoin atual parasse de funcionar, vários desenvolvedores do Bitcoin Core indicaram que considerariam esse resultado para representar um fracasso do próprio Bitcoin e escolheria seguir em projetos diferentes.

Por fim, deve-se notar que – enquanto dominante – o Bitcoin Core não é o único cliente de software que incorpora o protocolo Bitcoin atual. Bitcoin Knots, Libbitcoin, Bcoin e uma série de outras implementações alternativas também o fazem. SegWit2x estaria indiscutivelmente “atacando” não apenas Bitcoin Core, mas a maioria da comunidade de desenvolvimento.

NÃO para hard forks controversos

Como nem todos concordam que o hard fork do SegWit2x é o melhor caminho a seguir, ou mesmo benéfico, é controverso. E muitos críticos do SegWit2x se opõem a qualquer hard fork controverso por dois motivos principais.

O primeiro motivo é filosófico. Os oponentes do SegWit2x pensam que a resistência do bitcoin é parecida com a do ouro em relação à mudanças e é uma das principais proposições de valor. Mais especificamente, eles afirmam que as regras do sistema não devem ser alteradas em relação à vontade de um usuário: isso prejudicaria a confiança neste tipo de dinheiro.

O segundo motivo é semelhante, mas mais técnico: não só as regras não devem ser alteradas contra a vontade de um usuário, mas as regras não podem ser alteradas contra a vontade de um usuário. Enquanto os usuários executarem nodes completos e não alternar para o SegWit2x, o protocolo Bitcoin original continuará a existir. Como tal, um hard fork como o SegWit2x na verdade não alterará o Bitcoin existente; Em vez disso, criaria uma nova blockchain e uma nova moeda – uma divisão de moedas.

NÃO para hard forks apressados

Mesmo que o hard fork não fosse controverso, os oponentes do SegWit2x considerariam apressado. Uma vez que todos precisam atualizar para um hard fork para ele ser bem sucedido – ou seja, não há divisão de moedas resultante – muitos pensam que os hard forks típicos devem exigir um ano de tempo de entrega no mínimo, e talvez até dois anos ou mais.

O SegWit2x teve um prazo de três meses desde a ativação do SegWit e cerca de seis meses desde que o acordo foi feito. Os oponentes consideram isso imprudentemente curto mesmo para hard forks populares – não importa se controversos.

NÃO à falta de proteção de repetição

Se o SegWit2x conduzir a uma divisão da moeda – e a atual falta de consenso sugere que será – haveria duas blockchains e moedas com um histórico compartilhado: uma moeda que segue o protocolo Bitcoin atual e uma moeda que segue o protocolo SegWit2x. Qualquer um que possua bitcoins no momento do fork, então, será dono dessas duas moedas.

Mas isso também pode significar que a maioria das transações será igualmente válida em ambas as blockchains. Sempre que alguém quer enviar moedas em uma cadeia, esta mesma transação pode ser “repetida” na outra cadeia, o que significa que ambos os tipos de moedas são realmente gastos em ambas as blockchains, mesmo que não seja intencional. Isso é conhecido como um “ataque de repetição” e pode facilmente levar a uma perda de fundos.

Esses ataques de repetição podem ser prevenidos se o BTC1 implementar a “proteção de repetição”. Mas, como está atualmente, a equipe do BTC1 não tem intenção de implementar tal proteção; pelo menos, não de forma a resolver o problema adequadamente.

Esta falta de proteção por relevo é considerada perturbadora e até mesmo imprudente, não apenas pelos adversários do hard fork, mas também por vários signatários do NYA: alguns já abandonaram por esse motivo específico.

Para obter mais informações sobre a proteção de reprodução, consulte este artigo: SegWit2x e os Ataques de Repetição

NÃO para confusão da marca

Além da proteção de repetição, outro grande problema no caso de uma divisão de moedas poderia ser a confusão da marca entre os dois tipos de moedas.

Se os usuários (e os prestadores de serviços) em ambos os lados da divisão consideram sua moeda como o Bitcoin “real”, não é difícil imaginar como isso poderia levar a todos os tipos de complicações. Os usuários poderiam, por exemplo, comprar um tipo de moeda em uma exchange, mesmo que quisessem comprar outra. Ou eles poderiam enviar um tipo de moeda para um outro usuário enquanto eles deveriam ter enviado outra. E assim por diante.

Essa confusão poderia facilmente levar a uma perda de fundos, e talvez até a processos judiciais e problemas similares. (Mesmo com o Bitcoin Cash – que escolheu um nome um pouco novo e adicionou proteção de repetição, mas não um novo formato de endereço – há muitos casos de usuários confusos enviando bitcoins para endereços do Bitcoin Cash e vice-versa.)

Os oponentes do SegWit2x afirmam que é a moeda que resulta deste fork – a moeda que segue um novo protocolo – que deve escolher um novo nome. Mas até agora, os signatários do NYA não demonstraram vontade de fazê-lo.

NÃO para manter um acordo quebrado

Embora a intenção do NYA fosse manter a rede Bitcoin em conjunto, os oponentes do SegWit2x consideram que este acordo foi essencialmente quebrado desde então.

A SegWit ativou na rede Bitcoin, provavelmente em parte graças ao SegWit2x, mas também instigada pelo BIP 148 UASF. No entanto, alguns defensores de um hard fork para aumento no tamanho do bloco (e os oponentes do SegWit) também lançaram o Bitcoin Cash em resposta. Isso realizou uma “divisão” entre a blockchains do Bitcoin e o Bitcoin Cash. Vários signatários do NYA – incluindo a Bitmain e o Bitcoin.com – agora apoiam esse hard fork, que os adversários do SegWit2x argumentam anular o objetivo original do SegWit2x.

Além disso, vários outros signatários retiraram formalmente seu apoio, seja por causa da falta de proteção de repetição acima mencionada, quanto por outros motivos.

Os adversários SegWit2x, portanto, argumentam que o acordo, para todos os efeitos, foi quebrado e que não há motivo para que os demais signatários o mantenham.

NÃO para os mineradores sendo o fator decisivo

E, finalmente, os oponentes do SegWit2x acreditam que seus defensores não entendem como o consenso e os incentivos do Bitcoin funcionam.

Em vez de definir as regras do protocolo, os oponentes do SegWit2x afirmam que os mineradores precisam seguir as regras do protocolo, tal como são aplicadas pelos usuários e seus clientes de nodes completos. Se os mineiros mineram blocos que são incompatíveis com o protocolo Bitcoin conforme definido pelos usuários, esses mineradores não estariam realmente minerando o Bitcoin. Em vez disso, os “blocos” que eles produziriam seriam simplesmente rejeitados pela rede de usuários, e estes mineiros estariam extraindo uma moeda diferente no máximo ou desperdiçando seu poder de hash na pior das hipóteses.

E, novamente, isso não é apenas uma questão de princípio. Se os mineiros decidissem qual protocolo é válido simplesmente ao dedicar o poder de hash, isso implicaria que eles podem mudar as regras do protocolo. Isso mesmo permitiria que eles mudassem o cronograma de inflação para remover o limite de moedas de 21 milhões, roubar fundos e muito mais.

Na verdade, não é coincidência que o movimento de protesto NO2X se sobrepõe muito com a iniciativa do BIP 148 UASF: ambos afirmam que os usuários estão no comando. Os usuários decidem qual moeda eles querem comprar, aceitam para pagamento e/ou segurem. Como tal, os usuários decidem qual protocolo é (mais) valioso para dedicar o poder de hash para: o protocolo Bitcoin original ou o protocolo SegWit2x. Este é o protocolo que os mineiros querem minerar; Não o contrário.

*Texto escrito por @AaronvanW.