O que é um hard fork na blockchain?
Um hard fork em palavras simples
As regras da blockchain estão escritas no software que os computadores da rede rodam; esses computadores são chamados de nós. Cada nó confere sozinho cada bloco novo segundo essas regras e descarta o bloco que não as cumpre. Com o tempo, as regras mudam, para corrigir um erro ou acrescentar uma função. A versão nova do software é escrita pelos desenvolvedores, mas cada dono de nó decide por conta própria se vai instalá-la1.
Após o hard fork, o nó com a versão antiga confere os blocos novos pelas regras antigas e os descarta como inválidos2. Por isso quem quer continuar na rede comum atualiza o software, e quem não atualiza fica na cadeia de blocos antiga.
Imagine um grupo de amigos que há anos joga um jogo de tabuleiro com as mesmas regras e anota o placar de todas as partidas num caderno comum. Alguém propõe uma regra nova para contar os pontos. Se todos concordam, a partir do próximo encontro o jogo segue a regra nova, e o caderno continua sendo um só. Se parte do grupo recusa, os jogadores passam a sentar em duas mesas e a manter dois cadernos, com as primeiras páginas iguais e as anotações diferentes a partir da discussão. O hard fork funciona da mesma forma, só que no lugar das páginas do caderno estão blocos com transferências.
O que acontece com as suas moedas num hard fork
Preciso fazer algo como detentor num hard fork planejado?
Não. Quem atualiza o software são os donos de nós, as carteiras e as corretoras, e a criptomoeda fica onde estava. Foi o que aconteceu quando o Ethereum passou a funcionar com validadores, em 2022. Não era preciso fazer nada com a criptomoeda nem com a carteira, e não existe ETH «velho» ou «novo». O ethereum.org chamou de prováveis golpistas os que diziam o contrário3.
O que vai acontecer com as minhas moedas depois da divisão da rede?
A rede nova herdou todo o histórico de transferências, com os saldos, por isso as suas moedas estão nas duas redes. As moedas recém-surgidas não precisam ser transferidas nem «resgatadas»: já estão na sua carteira, e a mesma frase-semente das moedas originais dá acesso a elas. Foi o que aconteceu, por exemplo, com os donos de carteiras Trezor na divisão da rede Bitcoin em 20174. A partir daí as moedas das duas redes seguem separadas, e uma transferência numa rede não aparece na outra. O que você vai ver na prática depende de onde as moedas estão:
- na sua própria carteira, cuja chave só você conhece, essas moedas só aparecem num aplicativo que dê suporte a essa rede. Use uma carteira conhecida que tenha anunciado esse suporte oficialmente;
- numa corretora, quem guarda as moedas é a corretora, e ela decide sozinha se vai creditar aos clientes moedas da rede nova, então acompanhe o anúncio dela5.
Logo depois da divisão, não tenha pressa de transferir moedas. Se a rede nova não tiver proteção contra repetição, uma transferência numa rede pode se repetir na outra, e as moedas saem nas duas. Espere até que a sua carteira ou a corretora avise que as transferências são seguras.
As moedas recebidas numa divisão da rede podem ser tributadas. Na Nova Zelândia, por exemplo, elas podem ser tributadas no recebimento, na venda ou nos dois momentos6. ⚖️ Como tratar os impostos no seu país é tema do guia de impostos.
Como os golpistas se aproveitam dos hard forks
Os golpistas oferecem «moedas grátis da rede nova» e pedem que você digite a chave privada (o código secreto com que a carteira aprova as transferências) ou a frase-semente. Em novembro de 2017, o site mybtgwallet funcionava assim: prometia entregar moedas Bitcoin Gold, e quem enviou a ele as próprias chaves privadas teve bitcoins e outras criptomoedas roubados78.
Em que um hard fork difere de um soft fork
As regras também podem mudar de um jeito que deixa os nós antigos funcionando na mesma rede. Essa mudança se chama soft fork, ou bifurcação suave, e nela os blocos novos continuam passando na conferência dos nós antigos2.
A diferença fica clara com arquivos de computador. O hard fork lembra um formato de documento novo, que o programa antigo não abre enquanto não for atualizado. O soft fork lembra uma regra nova de escrever todos os documentos numa só fonte. O programa antigo continua abrindo qualquer arquivo; apenas as opções de formatação diminuem.
| Soft fork | Hard fork sem divisão | Hard fork com divisão | |
|---|---|---|---|
| O software antigo aceita os blocos novos? | sim | não | não |
| É preciso atualizar o software do nó? | não | sim | sim |
| A rede continua sendo uma só? | sim | sim | não |
| Surge uma moeda nova? | não | não | sim |
Por que a rede nem sempre se divide depois de um hard fork
A blockchain não tem uma chefia capaz de obrigar todos a atualizar, por isso cada mudança de regras é discutida antes. Como os participantes da rede chegam a um acordo sobre o registro correto é tema do artigo o que é o consenso.
Em geral, o hard fork é combinado com antecedência, e o software dos nós passa para as regras novas no mesmo momento; a divisão da rede por uma disputa sobre um hard fork é rara9. É assim que o Ethereum se atualiza regularmente, e as atualizações passadas e previstas, com datas, estão na página de história da rede.
Quando parte dos participantes é contra a mudança e outra parte a faz mesmo assim, a rede pode se dividir1. Daí em diante, cada uma das duas redes tem blocos próprios, mineradores ou validadores próprios e moeda própria. Quem adiciona os blocos à rede é explicado no artigo mineradores e validadores.
Como as redes se dividiram por causa de um hard fork
Em 2016, um projeto da rede Ethereum, o programa The DAO, teve muitos ETH retirados por causa de uma falha no código dele. A maioria dos participantes decidiu mudar as regras e devolver as moedas às vítimas9. Parte dos participantes não quis mudar, por entender que o erro estava num único programa e que as regras da rede funcionavam bem. Com eles continuou a rede anterior, sem o hard fork, que recebeu o nome de Ethereum Classic, e a rede com o hard fork virou a atual rede Ethereum, com a moeda ETH1.
Em 1º de agosto de 2017, a rede Bitcoin se dividiu, e surgiu a rede Bitcoin Cash. Os apoiadores dela queriam que coubessem mais transferências em cada bloco, e o software novo aumentou o limite de tamanho do bloco10. Quem tinha 1 BTC naquele momento recebeu também 1 BCH11.
Em 15 de novembro de 2018, foi a vez da própria rede Bitcoin Cash se dividir, e a segunda rede recebeu o nome de Bitcoin SV12.
Mais detalhes sobre como as decisões são tomadas e sobre forks conhecidos
No Ethereum, qualquer pessoa pode escrever uma proposta de mudança nas regras. Os desenvolvedores dos programas para nós a discutem em reuniões abertas por chamada1. Entre os hard forks planejados do Ethereum estão, por exemplo, a atualização London, em agosto de 2021, e a Pectra, em maio de 20259.
Um exemplo de soft fork é a atualização Taproot, que passou a valer na rede Bitcoin em 14 de novembro de 2021, no bloco 709 6321314.
Do The DAO saíram mais de 3,6 milhões de ETH. O hard fork que levava essas moedas para um programa de devolução às vítimas recebeu mais de 85% dos votos e entrou em vigor em 20 de julho de 2016, no bloco 1 920 0009. A proteção contra repetição do Ethereum foi descrita numa proposta separada, a EIP-155, em outubro de 2016, para que uma transferência no Ethereum não funcionasse no Ethereum Classic15.
No Bitcoin Cash, o tamanho máximo do bloco subiu para 8 MB10. Até o bloco 478 558, inclusive, os históricos do Bitcoin e do Bitcoin Cash são iguais11.