Hard fork e soft fork – O que são e para que servem
Notícias do Bitcoin Brasil
Entre os termos que ouvimos tantas vezes no mundo das criptomoedas, temos o hard fork e o soft fork. Mesmo quem está no mercado há tempos às vezes tem dificuldades de entender exatamente o que eles são, e para o que servem.
Um exercício interessante é ir ao CoinMarketCap, clicar em “View All” e dar um Ctrl+F, pesquisando “Bitcoin”. São 29 resultados – entre eles o Bitcoin, claro, e o Bitcoin Cash, também conhecido. Quanto mais descemos na lista, mais obscuras ficam as criptomoedas: Bitcoin Dark, Bitcoin Atom, Bitcoin Red. Uma das últimas da lista, a Bitcoin Planet, possui apenas US$77 mil de valor total de mercado.
O que é um fork?
Para entender melhor o conceito, é preciso ter em mente como o Bitcoin funciona. A cada 10 minutos, aproximadamente, um grupo de transações válidas é reunido em um bloco, que é então adicionado ao blockchain. O blockchain mostra o histórico de todas as transações que já aconteceram – é assim que sabemos o saldo de cada pessoa na rede. O blockchain representa exatamente uma cadeia de blocos, unidos de forma linear.
Só que existe um pequeno problema: os computadores dos participantes podem estar fora de sincronia, e não analisando a mesma versão do blockchain ao mesmo tempo. Como a rede sabe qual a versão mais recente do blockchain? Simples: é a versão que mais de 51% dos participantes aceitaram como verdadeira.
Um fork acontece as regras do blockchain divergem, com cada parte da rede tendo uma perspectiva diferente quanto à validade das transações. Ou seja, é uma divergência de perspectiva em relação ao estado do blockchain. Forks podem ser de dois tipos: soft e hard. Também iremos falar de chain splits, que são uma categoria específica de fork.
Antes de começar as explicações, podemos citar o exemplo de um dos maiores especialistas em blockchain do mundo, Andreas Antonopoulos:
“Se um restaurante vegetariano adicionar porco no seu menu, seria um hard fork [ele deixaria de ser vegetariano]. Se eles colocarem pratos veganos, todos que são vegetarianos ainda poderiam comer nessa restaurante. Vegetarianos poderiam comer lá, e até mesmo quem come carne poderia ir lá – então isso é um soft fork”.
Soft Fork
No soft fork, a versão antiga e a nova são compatíveis. Ou seja, a atualização por parte dos usuários não é obrigatória. Um exemplo possível são as diferentes versões do Excel. Se você tiver a versão de 2005 do Excel em seu computador, ainda vai conseguir abrir uma planilha criada na versão 2018. Isso por que elas são compatíveis entre si.
A única questão é que nem tudo o que está disponível na versão de 2018 está disponível na versão de 2005. Assim, se alguém inseriu uma fórmula que só funciona na versão de 2018, a versão de 2005 acusará um erro. Contudo, o erro se restringe somente àquilo que é novo.
Exemplo Bitcoin
Qualquer um pode ver o código do Bitcoin, e propor melhorias. As propostas de melhoria são feitas pelas Bitcoin Improvement Proposals – BIPs. A BIP 16 introduziu as chamadas carteiras “multisig” – com assinaturas múltiplas. Antes dela, apenas uma pessoa podia acessar as carteiras de Bitcoin, tendo autorização para operar. A partir da BIP 16, carteiras que só podiam ser operadas com a assinatura de 2 ou mais pessoas foram introduzidas. Trata-se de uma característica muito importante para corretoras, por exemplo.
A maior parte dos Bitcoins de corretoras não está online. Para serem acessados, é necessário que várias partes introduzam suas chaves privadas ao mesmo tempo – quase como nos filmes, em que várias pessoas precisam girar a chave de acesso a bombas atômicas ao mesmo tempo para realizar o lançamento. Todas essas medidas de segurança são essenciais. Em uma de suas carteiras, a Bitifinex, uma das maiores corretoras do mundo, possui quase 184.000 BTC, ou mais de US$1,5 bilhão. Todo cuidado é pouco.
As carteiras multi-assinatura e de assinatura única são compatíveis entre si. Nada impede que elas existam no sistema juntas. Quem quiser adotar essa melhoria é livre, assim como quem não quiser. Por isso, é um soft fork.
Hard Fork
No hard fork, a versão nova e a antiga não são compatíveis. Os usuários que quiserem continuar a usar a versão nova deverão obrigatoriamente atualizar o software. Podemos pensar no Playstation 3 e no Playstation 4. Não é possível jogar os jogos de um no outro. Assim, o erro é geral, e não apenas nas novas funcionalidades.
Exemplo Bitcoin
O exemplo mais claro é a criação do Bitcoin Cash (BCH). No Bitcoin, o tamanho de bloco é de 1MB, o que limita o número de transações que podem ser aprovadas em cada bloco. Os desenvolvedores do Bitcoin Cash aumentaram esse limite para 8MB (e posteriormente para 32MB), o que o tornou incompatível com o Bitcoin. Por isso, dizemos que uma nova criptomoeda foi criada.
Bitcoin XT – O primeiro fork
O Bitcoin XT é o primeiro hard fork do Bitcoin, e procura resolver o problema de escalabilidade. Mike Hearn lançou um software em 2014 com a proposta de aumentar o tamanho do bloco de 1MB para 8MB, sendo que o bloco dobraria de tamanho automaticamente a cada 2 anos. Como muitos que vieram depois dele, algumas pessoas adotaram as mudanças. Só que para que ele fosse ativado, 75% dos participantes deveria aceitar a nova versão. Como o limite não foi alcançado, os usuários aos poucos abandonaram a proposta. Por isso também é considerado uma proposta fracassada de hard fork.
Em uma publicação futura, exploraremos todas as variações do Bitcoin.
Chain Split
Um chain split pode ocorrer tanto com um hard fork quanto com um soft fork. É um cenário no qual duas ou mais versões de um blockchain estão competindo, mas ambas dividem um passado comum. Na prática, existe a criação de uma criptomoeda. Por isso, o Bitcoin Cash é tanto um hard fork quanto um chain split.
Ambas as criptomoedas dividem um histórico comum: até agosto de 2017, seus blockchains são os mesmos. Quando houve a divisão, alguns participantes foram para a nova rede, alguns ficaram, e muitos participam das duas. Quem tinha saldo recebeu o Bitcoin Cash na mesma proporção dos Bitcoin que possuía.
O post Hard fork e soft fork – O que são e para que servem apareceu primeiro em Bitcoin Brasil.