Se tem estado atento ao mundo das criptomoedas em geral – e da Bitcoin em particular – é provável que tenha notado muita conversa ao redor de forks
Um fork é um evento técnico que ocorre numa blockchain.
Na sua forma mais básica um fork é uma bifurcação de uma blockchain em dois potenciais caminhos em frente – é a criação de uma versão alternativa da blockchain, passando a coexistir duas blockchains na rede.
Como resultado, aqueles que utilizam a blockchain têm de mostrar o seu apoio a uma das opções disponíveis.
Alguns forks, alimentados por forte discordância no seio da comunidade, podem causar a separação permanente da rede, criando duas blockchains – e duas criptomoedas diferentes. Mais: existem vários tipos de forks e os mesmos são ativados de forma diferente – sendo também diferentes os riscos associados a cada um.
Segue-se um resumo de como funcionam os diferentes tipos de fork.
Noções básicas
O recurso a forks tem vindo a aumentar – sendo crucial a correta compreensão dos mesmos.
Ocorre um fork sempre que dois mineiros encontram um bloco quase ao mesmo tempo. A ambiguidade é resolvida quando são acrescentados blocos subsequentes: uma blockchain torna-se mais longa (continua a receber blocos) – e a outra fica “órfã” (não recebe mais blocos). Basicamente é abandonada pela rede.
Porém, os forks também podem ser introduzidos de forma voluntária na rede. Tal ocorre quando os programadores procuram mudar as regras que o software base utiliza para decidir se uma transação é válida ou não.
Quando um bloco contém transações inválidas o mesmo é ignorado pela rede e o mineiro que o encontrou perde a recompensa associada ao mesmo. Como tal, os mineiros apenas querem minerar blocos válidos, construindo blockchains mais longas.
Seguem-se alguns dos forks mais comuns e as suas principais características.
Hard fork
Em que consiste?
Um hard fork é uma atualização de software que introduz uma nova regra na rede que não é compatível com o software anterior. Pode pensar num hard fork como uma extensão das regras (por exemplo: uma nova regra que permita que a dimensão dos blocos seja de 2MB em vez de 1MB exigirá um hard fork).
O que acontece?
Os nós que continuam a executar a versão antiga do software irão considerar as novas transações inválidas. Assim, para mudarem para a nova blockchain e continuarem a minerar blocos válidos todos os nós da rede precisam de se atualizar.
O que pode correr mal?
Surgem problemas quando se verifica algum tipo de impasse político – e uma porção da comunidade decide manter as regras antigas. A taxa de hash, ou potência de computação da rede, por detrás da antiga blockchain é irrelevante. O que importa é que os seus dados (e conjunto de regras) continuam a ser encarados como tendo valor – o que significa que os mineiros pretendem continuar a minerar a blockchain antiga e os programadores pretendem continuar a apoiá-la.
Outros detalhes
O hard fork da Ethereum é um estudo de caso perfeito de como a comunidade se pode dividir quanto às regras. Existem agora duas blockchains a utilizar as respetivas variantes do software – Ethereum e Ethereum Classic, cada qual com uma moeda diferente.
Soft fork
Em que consiste?
Um soft fork, por contraste, é qualquer alteração que é compatível com versões anteriores. Digamos que em vez de blocos de 1MB uma nova regra poderá apenas permitir blocos de 500K.
O que acontece?
Os nós não atualizados irão observar as novas transações como válidas (uma vez que 500K é inferior a 1MB, por exemplo). No entanto, se os nós não atualizados continuarem a minerar blocos, os blocos minerados serão rejeitados pelos nós atualizados. É por isso que os soft forks exigem maioria de potência de hash na rede.
O que pode correr mal?
Quando um soft fork apenas é apoiado por uma minoria de potência de hash na rede poderá tornar-se na blockchain mais curta – ou seja, abandonada pela rede. Por outro lado poderá converter-se num hard fork.
Outros detalhes
Os soft forks têm sido a opção mais utilizada para atualizações à blockchain da Bitcoin até agora pois apresentam menor risco de divisão da rede. Exemplos passados de soft forks bem sucedidos incluem as atualizações de software BIP66 (lidou com a validação de assinaturas) e P2SH (alterou a formação de endereços de Bitcoin).
Soft fork ativado pelos utilizadores
Em que consiste?
Um soft fork ativado pelos utilizadores (user-activated soft fork ou UASF na sigla original) é uma ideia controversa que explora como uma atualização pode ser acrescentada à blockchain sem ser diretamente apoiada por aqueles que fornecem a potência de hash da rede.
A ideia por detrás do UASF é que em vez de se esperar por um mínimo de apoio por parte de grupos de mineração, a potência para ativar um soft fork poderá surgir de plataformas, carteiras e empresas que executem nós completos (um nó completo – no caso da Bitcoin –, mesmo que não seja um nó de mineração, é responsável pela validação de blocos).
O que acontece?
A maioria das principais plataformas terá de apoiar publicamente a mudança antes de esta ser introduzida numa nova versão do código. Depois disso, o novo software (que tem um ponto de ativação algures no futuro) é instalado nos nós que pretendem participar no soft fork.
O que pode correr mal?
Este método exige um tempo de execução muito mais longo do que o necessário para um soft fork impulsionado pela potência de hash. Na verdade, acredita-se que pode levar tanto como um ano ou mais (a introdução de novo código e a preparação de todos os envolvidos).
Além disso, se a maioria dos mineiros não “entrar na linha” a sua esmagadora potência de hash poderá dividir a rede.
Outros detalhes
Esta ideia é ainda teórica – nunca foi implementada.