Na tecnologia blockchain, hard forks e soft forks são duas maneiras diferentes de atualizar e atualizar protocolos de rede. Eles diferem significativamente na forma como são implementados e essas diferenças podem afetar diretamente a estrutura e a operação de uma rede blockchain.
Garfo Duro
Um hard fork é uma mudança de regra na qual a nova versão da rede não é mais compatível com a versão antiga. Como resultado, o blockchain se divide em duas ramificações separadas que funcionam em paralelo e não afetam uma à outra.
Garfo macio
Um soft fork é uma mudança de regra na qual os nós que adotam as novas regras ainda podem interagir com os nós que não foram atualizados. Neste caso, a nova versão da rede permanece compatível com a versão antiga.
Comparação
** Garfo Duro **
Exemplo: DAO 2016
A versão antiga não é compatível com a nova rede
Funciona em protocolos diferentes
** Garfo macio **
Exemplo: SegWit 2017
A nova rede permanece compatível com a versão antiga
Opera sob a mesma estrutura geral de protocolo
Análise da Situação
Garfo Duro
Por exemplo, suponha que metade dos nós da rede queira aumentar o tamanho do bloco de 2MB para 3MB. Se um bloco de 3 MB for enviado para nós da versão antiga, esses nós o rejeitarão porque suas regras ainda definem 2 MB como o tamanho máximo do bloco. Nesse caso, a rede se divide em dois protocolos separados e cada filial pode usar uma moeda diferente. Todos os saldos das contas são copiados da cadeia original para a nova cadeia. Por exemplo, se um usuário mantivesse 20 BTC antes da bifurcação, esse usuário manteria 20 BTC na cadeia original e 20 novos BTC na nova cadeia.
Garfo macio
Por exemplo, se o tamanho do bloco original for 2 MB e metade dos nós da rede introduzir uma regra mais rígida limitando o tamanho do bloco a 1 MB, os blocos maiores que 1 MB serão tratados como inválidos pelos nós atualizados. No entanto, os nós da versão antiga ainda podem receber e transmitir blocos. Nesta situação, a nova rede ainda pode cobrir todos os nós sem ser restringida por diferentes versões de regras. O Segregated Witness (SegWit) do Bitcoin é um exemplo típico de soft fork. Esta atualização introduziu um novo formato de bloco e transação de uma forma inteligente. Os nós que não foram atualizados ainda podem receber informações de bloco, mas não participam da validação do novo formato de transação.
