Fundamentos da Blockchain – Parte 5: Forks

Nesse quinto capítulo sobre os fundamentos da Blockchain vamos entender porque existem os forks na Blockchain.

O fork é apenas uma maneira de atualizar uma blockchain, mas é importante no contexto complicado de redes descentralizadas. Outro uso interessante do fork é ter sua própria cópia de uma blockchain específica e ser capaz de fazer o que quiser com ela.

Um fork é uma palavra comumente usada no mundo do desenvolvimento de software de código aberto para descrever um projeto dividido em duas, ou mais versões de si mesmo, geralmente após um desacordo sobre o caminho a seguir.

Em um contexto de blockchain, o fork pode levar a uma “divisão da cadeia”, uma condição em que o estado da blockchain diverge em diferentes cadeias, onde cada cadeia começa seguindo regras de consenso separadas. É também um método aplicado quando todos estão dispostos a mudar para uma nova versão do software ao mesmo tempo.

Os forks de consenso são uma forma de permitir que uma comunidade mude certas regras enquanto mantém a segurança que vem com a regra da cadeia mais longa. A regra da cadeia mais longa garante que a rede reconhecerá a “cadeia válida com mais trabalho” como a cadeia principal. O trabalho de uma cadeia é igual ao número esperado de hashes que alguém levaria para replicar uma cadeia com o mesmo número de blocos e exatamente os mesmos passos de dificuldade. Assim como vimos nos capítulos anteriores sobre os fundamentos da blockchain.

Os forks também são muito usados para aplicar atualizações ou upgrades de software, adicionar novos recursos, aprimorar os recursos atuais e melhorar a confiabilidade dos protocolos de segurança em um mundo descentralizado.

O fork é particularmente útil em situações em que as pessoas não conseguem encontrar um acordo comum sobre uma atualização planejada de blockchain ou mudança de direção que possa ir contra os princípios ou idéias originais da blockchain.

Um dos principais benefícios por trás do fork da blockchain é que permite aos desenvolvedores começar a partir de uma única blockchain, onde todos concordam com o estado atual da blockchain, e usar esse acordo como ponto de partida para o estado futuro da blockchain. Eles podem se separar da blockchain original, levando o último estado validado naquela blockchain com eles, e continuar a partir daí. As pessoas simplesmente divergem e começam a concordar em outro caminho para os blocos da nova cadeia.

O que acontece com a cadeia original após o fork?

O futuro da cadeia original depende muito do tipo de fork que foi aplicado nela, se foi um fork soft ou hard, mas não se deixe enganar por esses nomes. O termo “soft” não significa que será fácil e “hard” será mais exigente. Eles não descrevem a dificuldade da tarefa, mas o quão diferente será o estado final da cadeia após o processo do fork.

Os soft forks são considerados mais fáceis, porque nem todos os nós e mineradores precisam atualizar para que o fork seja seguro, para ativar sem risco de divisão da cadeia. Considerando que, com um hard fork, você geralmente precisa de todos os mineradores e nós para atualizar para evitar uma divisão da cadeia.

Soft Fork

Com um soft fork, as regras ficam mais rígidas. Isso significa que os nós que executam uma versão mais antiga do software ainda podem participar da rede, mas não podem minerar novos blocos.

A aceitação de um soft fork é uma continuação do original, ainda é a mesma blockchain, mas aprimorada com novo código, recursos e correções introduzidos pelo fork. Aplicar um soft fork não cria novos tokens se o fork não resultar em uma divisão da cadeia.

Hard fork

Um hard fork cria duas blockchains onde a “forkeada” é, essencialmente, um clone com regras de consenso alteradas do original antes do momento do fork. Na altura do bloco que foi executado o fork, um caminho segue a blockchain “forkeada” e suas novas regras de consenso, e o outro caminho continua junto com as regras de consenso antigas.

Com um hard fork as regras ficam menos rígidas. Isso significa que os nós que executam uma versão mais antiga do software não podem participar da nova rede bifurcada, uma vez que há uma transação que depende das novas regras de fork para ser considerada válida.

Um hard fork é uma divergência permanente da versão anterior da blockchain, e as transações entre essas duas blockchains não são mais possíveis. Mudar para um hard fork requer que todos os nós atualizem e concordem com a versão mais recente.

O que o fork significa para as criptomoedas.

Quando ocorre um hard fork, às vezes, os tokens de criptomoeda são copiados, resultando em duas versões, idênticas em todos os aspectos, exceto no nome. Mas nem sempre é assim. Alguns hard forks resultam em versões não idênticas, já que um hard fork pode introduzir qualquer alteração arbitrária de regra, certamente pode haver alterações nos tokens.

Os proprietários dos tokens originais obtêm a mesma quantidade de novos tokens. No entanto, o valor dos tokens é inicialmente zero, mas frequentemente aumenta rapidamente por meio da especulação. Além disso, em antecipação a um hard fork, o valor dos tokens originais também podem aumentar, pois obtê-los antes do fork significa obter mais tokens de fork “de graça” e como sabemos, o aumento da demanda aumenta o valor.

Forks são uma situação arriscada na vida de uma blockchain. Em um mundo descentralizado, aplicar uma atualização de software não é tão fácil quanto atualizar um aplicativo em um celular. Os desenvolvedores de uma blockchain podem querer usar um fork para adicionar recursos adicionais ou corrigir bugs no software, ou mesmo ocasionalmente, reverter transações “problemáticas” como no caso do hack DAO, que resultou no fork do Ethereum em uma nova cadeia, com a cadeia original sendo chamada de “Ethereum Classic”.

Foto de Neidson Soares
Foto de Neidson Soares O autor:

Conheceu esse universo dos criptoativos em 2016 e desde 2017 vem intensificando a busca por conhecimentos na área. Hoje trabalha juntamente com sua esposa no criptomercado de forma profissional. Bacharelando em Blockchain, Criptomoedas e Finanças na Era Digital.

neidson8