Quando falamos na evolução do Bitcoin ao longo de mais de dez anos de sua existência, é impossível não passarmos pelos soft forks da rede e pelos hard forks que foram feitos para criar moedas concorrentes a partir de seu código.
Portanto, entender o que são soft forks e hard forks não apenas o ajudará a compreender o funcionamento das moedas digitais, mas também o auxiliará a entender a história do Bitcoin e os impactos que esses tipos de mecanismos podem causar na rede e no patrimônio que você mantém em Bitcoin.
Neste artigo, vamos explicar o que são e como funcionam os soft forks e hard forks.
Animados?!
Tópicos abordados:
O que são forks?
Vamos começar explicando de uma forma mais ampla o que são forks.
“Fork” significa garfo em inglês e, no Bitcoin, é um mecanismo que ocorre quando há uma alteração nas regras do protocolo. Essa mudança pode ser simples (soft forks), sem interferir completamente na cadeia de blocos, ou pode ser drástica (hard forks), ramificando a blockchain, assemelhando-se a um garfo, daí o nome “fork”.
Os forks podem ocorrer por várias razões:
- Melhorias e Atualizações: Conforme a tecnologia e as necessidades da rede evoluem, podem surgir propostas para melhorar o funcionamento do Bitcoin. Estas propostas, se implementadas, podem necessitar de um fork.
- Correção de Bugs: Se um erro crítico for descoberto, um fork pode ser necessário para corrigi-lo.
- Divergências Filosóficas: Pode ocorrer divergência na comunidade em relação a como o Bitcoin deve evoluir, levando a forks. Isso aconteceu no Bitcoin em 2017, durante a Guerra dos Blocos (explicaremos a seguir).
- Ataques ou ameaças à rede: Em casos raros, um fork pode ser necessário como resposta a um ataque ou ameaça à rede.
Existem dois tipos de forks que podem ser feitos: o soft fork e o hard fork.
Bora entender mais sobre cada um deles?
O que é e como funciona um Soft Fork?
Soft fork é uma atualização que torna as regras mais restritivas, é compatível com versões anteriores e não exige consenso unânime.
Portanto, este é um tipo de atualização compatível com versões anteriores. Significa que as mudanças introduzidas são tão sutis que não são incompatíveis com as regras anteriores. Os nodes que não desejam atualizar seus softwares para a versão mais recente ainda podem participar plenamente na rede.
Um exemplo seria restringir ainda mais o tamanho do bloco ou mudar a forma como algumas informações são armazenadas. Mesmo que alguns participantes da rede não atualizem para a nova versão, eles ainda poderão validar e reconhecer os novos blocos de acordo com as regras antigas.
Assim, é feita uma proposta de melhoria e uma atualização que não modifica profundamente a rede.
Ao longo da história do Bitcoin, várias atualizações que resultaram em soft forks foram propostas e implementadas. Essas propostas são feitas por meio de BIPs.
O que são BIPs no Bitcoin?
BIP é a sigla para “Bitcoin Improvement Proposal“, que, traduzido para o português, significa “Proposta de Melhoria do Bitcoin”. Depois de aprovada pela comunidade, ela é implementada.
Aqui estão algumas das atualizações notáveis que resultaram em soft forks:
- BIP16 (Pay to Script Hash – P2SH): Introduzido em 2012, o P2SH permitiu maior flexibilidade na criação de transações, incluindo a capacidade de criar transações multi-assinatura. Isso possibilitou que várias partes autorizassem uma transação, enviando bitcoins para um script em vez de um endereço específico.
- BIP30 (Evitar duplicação de transações): Este soft fork restringiu a inclusão de duas transações com o mesmo ID de transação em blocos.
- BIP34 (Versão de bloco para prevenção de duplicatas): Ativado em 2013, o BIP34 exigia que os mineradores incluíssem a versão do bloco e o hash da altura do bloco no cabeçalho do bloco. Isso ajudou a garantir uma cadeia única de blocos ao prevenir a repetição de blocos em diferentes alturas.
- BIP66 (Strict DER Signatures): Ativado em 2015, este soft fork tornou as assinaturas não-DER inválidas, ajudando a solucionar um problema potencial de maleabilidade de transações.
- BIP68, BIP112 e BIP113 (Controles de lock-time baseados em sequência): Introduzidos em 2016, esses BIPs permitiram que os usuários definissem um tempo relativo (em vez de um tempo absoluto) após o qual uma transação poderia ser incluída em um bloco.
- BIP141 (Segregated Witness – SegWit): Ativado em 2017, o SegWit é um dos soft forks mais significativos e discutidos na história do Bitcoin. Ele abordou vários problemas, incluindo a maleabilidade de transações e a escalabilidade da rede, segregando a parte testemunha das transações (as assinaturas) dos principais dados de transação.
Esses soft forks foram propostos e implementados para melhorar a segurança, escalabilidade e flexibilidade do protocolo Bitcoin.
Vale lembrar que, para que um soft fork seja bem-sucedido, ele precisa ganhar amplo apoio da rede, especialmente dos mineradores, para ser ativado e adotado pela maioria.
O que é e como funciona um Hard Fork?
O hard fork é uma atualização que torna as regras mais permissivas, é incompatível com versões anteriores e requer consenso unânime para evitar a divisão da rede.
Ele é muito diferente de um soft fork. É chamado de “hard” porque as alterações são drásticas, profundas, a ponto de não serem compatíveis com as versões anteriores dos blocos.
Assim, diferentemente do soft fork, no hard fork os nodes que não foram atualizados para a nova versão do protocolo não podem ser executados. A atualização para versão mais recente é obrigatória, caso contrário, os nodes não poderão validar blocos e continuar mantendo a rede.
Quando os desenvolvedores alteram o código de uma moeda digital a ponto de não se parecer mais com o código original, eles criam uma segunda moeda.
Isso não tem mais nada a ver com a primeira. Como o Bitcoin é de código aberto, várias criptomoedas fizeram hard forks a partir dele, como é o caso do Bitcoin Cash e do Bitcoin SV, que não têm os mesmos fundamentos do Bitcoin e estão em um processo espiral de morte.
Em resumo, algumas criptomoedas surgiram com um código completamente novo e outras simplesmente fizeram forks copiando e dando uma alterada em um código já existente.
Vários hard forks se originaram do Bitcoin ao longo dos anos, alguns deles devido a divergências dentro da comunidade.
Aqui estão alguns dos hard forks mais conhecidos:
1. Bitcoin Cash (BCH)
Em 2017, o debate sobre o tamanho do bloco do Bitcoin estava acalorado. Alguns queriam que o bloco ficasse maior, aumentando de 1MB para 8MB, assim comportando mais transações por bloco, diminuindo o valor das taxas e tornando as confirmações mais rápidas. Outros queriam deixar o Bitcoin como estava.
Essa época foi tão simbólica e dividiu tanto as opiniões que acabou recebendo até um nome: A Guerra do Tamanho dos Blocos (The Block Size War), que acabou virando até um livro.
Depois de muita discussão, o grupo que queria mudar as regras do Bitcoin acabou criando um hard fork do Bitcoin, e assim nasceu o Bitcoin Cash.
Ao longo do tempo, o Bitcoin Cash perdeu relevância e valor, claramente porque não possui as mesmas propriedades do Bitcoin, não apresenta um caso de uso real e não tem demanda significativa.
2. Bitcoin SV (BSV)
Em 2018, surgiu o fork do fork. O Bitcoin SV (Satoshi Vision) é um fork do Bitcoin Cash. A principal razão para este fork foi um desacordo sobre as propostas de atualização do Bitcoin Cash.
O BSV aumentou ainda mais o tamanho do bloco, para 128 MB, e posteriormente para tamanhos ainda maiores, com o objetivo de seguir mais fielmente o que seu grupo acredita ser a “visão original” de Satoshi Nakamoto.
Esse projeto enfrentou desafios e passou por momentos difíceis, incluindo diversos ataques de negação de serviço (DDOS) e atualmente respira por aparelhos.
3. Bitcoin Gold (BTG)
Também naquela época, em 2017, surgiu o Bitcoin Gold, mais uma tentativa de copiar o Bitcoin.
Dessa vez, a justificativa para o hard fork foi democratizar a mineração, introduzindo um novo algoritmo de prova de trabalho (Equihash) resistente à mineração com ASICs.
Bem, como você já deve saber, sequer se ouve falar dessa criptomoeda hoje em dia.
Estes são apenas alguns dos muitos hard forks que se originaram do Bitcoin. Vários desenvolvedores criaram suas próprias moedas com base no projeto do Bitcoin. Aqui trouxemos apenas alguns exemplos. Curiosamente, todos eles utilizaram o nome “Bitcoin”, provavelmente para se vender como melhor que o Bitcoin.
Conclusão
Forks sempre estiveram presentes no Bitcoin, mas algo importante a se notar é que, por mais que copiem o Bitcoin, não é possível reproduzir sua natureza descentralizada e suas propriedades.
As pessoas sempre vão optar pelo Bitcoin original, o que de fato tem valor. Ou seja, a história nos mostra que fazer hard forks na maioria das vezes não é a melhor solução.
É por isso que toda vez que alguém propõe algo inovador no Bitcoin que demanda hard forks, a comunidade fica cautelosa e com mil pés atrás.
Já os soft forks, por não alterarem completamente o código e a dinâmica da rede, têm sido usados para as atualizações eventuais e necessárias no Bitcoin, sempre após muito debate e consenso.
Espero que tenha ficado claro para você as diferenças entre hard e soft forks e, caso queira aprender mais a ponto de se tornar um expert em Bitcoin, no Bitcoin Starter, ensinamos tudo o que você precisa saber para mergulhar de cabeça nesse universo.
Até o próximo artigo e opt out!
Compartilhe em suas redes sociais:
Uma das principais educadoras de Bitcoin no Brasil e fundadora da Area Bitcoin, uma das maiores escolas de Bitcoin do mundo. Ela já participou de seminários para desenvolvedores de Bitcoin e Lightning da Chaincode (NY) e é palestrante recorrente em conferências sobre Bitcoin ao redor do mundo, bem como Adopting Bitcoin, Satsconf, Bitcoin Atlantis, Surfin Bitcoin e mais.
Curtiu esse artigo? Considere nos pagar um cafezinho para continuarmos escrevendo novos conteúdos! ☕