Topics BlockchainCurrent Page

Explicação: O que é um Soft Fork e como ele funciona?

Iniciante
Blockchain
Mar 19, 2021
8 minutos de leitura

Resumo de IA

Mostrar mais

Entenda rapidamente o conteúdo do artigo e avalie o sentimento do mercado em apenas 30 segundos!

Resumo detalhado

Se você tem interesse em criptomoedas, pode ter ouvido falar de algo chamado 'forks'. Simplificando, um fork é uma mudança no protocolo de uma blockchain que foi acordada por seus participantes. 

Isso pode acontecer por várias razões, e elas podem ser classificadas em soft forks e hard forks

Neste artigo, discutiremos o conceito de um soft fork em uma blockchain — como funciona, como é ativado, alguns exemplos, e como um soft fork é diferente de um hard fork.

Quando se trata de Bitcoin, e de fato outras criptomoedas, um soft fork ocorre quando a cadeia de criptomoeda passa por uma ‘divergência temporária’. Um soft fork é uma mudança no protocolo de software que faz com que apenas blocos ou transações anteriormente válidos se tornem inválidos.

Com um soft fork, as mudanças feitas são compatíveis retroativamente — o que significa que nós antigos ainda podem adicionar novos blocos à blockchain, desde que adiram às novas regras. As regras da blockchain são chamadas de protocolo da blockchain. 

Vamos discutir e esclarecer o conceito de soft forks em relação ao protocolo da blockchain.

O Que É Um Protocolo de Blockchain?

Uma blockchain pode ser definida como um livro razão público e distribuído, que registra transações em uma rede de computadores globalmente conectada conhecida como nós. Todos os nós são iguais e conectados uns aos outros via internet. Na rede, todos os nós participantes devem verificar uma transação antes que ela seja adicionada à blockchain. 

Uma blockchain geralmente opera sob regras pré-definidas conhecidas como protocolos de blockchain, que todos os pares participantes (nós) na rede concordam. Essas regras consistem no seguinte:

  1. Instruções para autenticar e governar transações na rede

  2. Um algoritmo definindo o mecanismo pelo qual todos os nós participantes na rede interagirão uns com os outros

  3. Uma interface de programação de aplicativos (em certos casos)

Portanto, em termos deste protocolo, um soft fork é uma modificação no protocolo do software de modo que apenas blocos de transações previamente válidos são tornados inválidos. Como os nós antigos reconhecerão os novos blocos na blockchain como válidos, um soft fork é considerado compatível com versões anteriores.

Soft forks têm sido frequentemente usados como a opção mais comum para atualizar uma blockchain de Bitcoin, pois apresentam um risco reduzido de interromper a rede. Além disso, ao contrário de um hard fork, os soft forks requerem apenas que a maioria dos mineradores se atualizem para impor as novas regras.

Às vezes, um soft fork também pode ocorrer devido a uma diferença momentânea na blockchain, onde mineradores usando nós não atualizados infringem uma nova regra de consenso com a qual seus nós não estão familiarizados. Se os nós não atualizados continuarem minerando blocos, estes serão rejeitados pelos nós atualizados.  

O outro tipo de fork que pode ocorrer é conhecido como hard fork, que é uma modificação do protocolo que requer que todos os nós da rede atualizem seu software para a versão mais recente para continuar participando da rede. Ao contrário de um soft fork, um hard fork impede que os nós na versão atualizada da blockchain aceitem as regras antigas na blockchain; apenas novas regras são seguidas. 

Soft Forks vs. Hard Forks

Os hard forks e os soft forks são semelhantes no sentido de que ambos alteram o código existente da plataforma de criptomoeda. E enquanto ambos, hard e soft forks, são essenciais para o funcionamento contínuo e a governança eficaz das redes blockchain, existem diferenças fundamentais entre eles.

Para começar, um soft fork resulta em apenas uma única blockchain permanecendo válida, à medida que mais e mais usuários passam a usar a atualização. É essencialmente uma atualização gradual para o blockchain. No entanto, com um hard fork, as blockchains antiga e nova existem simultaneamente, o que significa que o software deve ser atualizado para funcionar sob as novas regras. É essencialmente uma divisão súbita para o blockchain. Então, embora ambos os forks resultem em uma espécie de divisão, um soft fork mantém um blockchain, enquanto um hard fork resulta em um blockchain sendo dividido em dois. 

Portanto, neste aspecto, a principal diferença entre um soft fork e um hard fork é o quão indispensável é atualizar o software do nó para participação contínua na rede.

A maioria dos desenvolvedores optará por um hard fork quando se trata de fazer uma grande atualização de segurança em um blockchain. Mesmo que envolva o uso de mais poder computacional, um hard fork é visto como muito menos arriscado nesse aspecto. 

Hard forks podem ser resultado de uma divisão na comunidade de um blockchain, como foi o caso do hard fork do Bitcoin Cash em 2018. Isso ocorreu como resultado de divergências na comunidade do blockchain do Bitcoin sobre o tamanho dos blocos e a escalabilidade. Em contraste, soft forks geralmente podem ser resolvidos por um acordo mútuo e incluem um sentimento mais coeso na comunidade de um blockchain. 

Como Funcionam os Soft Forks?

Conforme descrito em detalhe na seção anterior, um soft fork ocorre devido a uma modificação compatível com versões anteriores no protocolo de software. Como resultado, a nova cadeia bifurcada segue as novas regras e também respeita as antigas regras. Em essência, a cadeia original continua a seguir as regras antigas.

Novas transações são geralmente bifurcações suaves suplementares, que exigem apenas que os participantes (destinatário e remetente) junto com os mineradores compreendam o novo tipo de transação. Isso envolve fazer o novo tipo de transação aparecer para clientes anteriores (transação de pagamento para qualquer pessoa) e convencer os mineradores a rejeitar blocos antigos, incluindo essas transações, exceto quando a transação corrobora com as novas regras.

Para que uma bifurcação suave seja implementada, a maioria dos mineradores precisa estar rodando um cliente que reconhece a bifurcação. Em resumo, quanto mais mineradores aderirem às novas regras, mais segura se tornará a rede após a bifurcação. Por exemplo, se ¾ dos mineradores reconhecem a bifurcação, o ¼ restante dos blocos não tem garantia de seguir as novas regras. Eles, no entanto, permanecerão válidos para os antigos nós que permanecem alheios às novas regras, mas serão ignorados pelos novos nós.

No que diz respeito às atualizações, bifurcações suaves não precisam que os nós sejam atualizados para manter o consenso. Isso ocorre porque todos os blocos com as novas regras inseridas por bifurcação suave também seguem as regras anteriores. Portanto, clientes anteriores os aceitam. 

No entanto, uma bifurcação rígida é necessária para reverter as bifurcações suaves. Isso ocorre porque uma bifurcação suave apenas certifica que os conjuntos de blocos válidos sejam um subconjunto adequado do que era válido antes da bifurcação. Se os usuários atualizarem para um cliente pós-bifurcação suave e depois a maioria decidir voltar para o cliente pré-bifurcação suave, os usuários do cliente pós-bifurcação suave causariam uma ruptura na harmonia do blockchain no momento em que um bloco que não aderisse às novas regras de seus clientes fosse introduzido.

Por que as Bifurcações Suaves Acontecem?

Provavelmente você já entendeu que um soft fork é uma mudança cosmética. Ele altera ou adiciona funções sem realmente interferir na estrutura da blockchain e pode ocorrer por várias razões, como uma mudança no algoritmo de consenso ou algumas alterações/atualizações de software.

Quando a maioria dos mineradores em uma rede usa seu poder de hash para impor as novas regras, isso é chamado de soft fork ativado por minerador (MASF).

Existe também um soft fork ativado pelo usuário (UASF). É quando nós completos coordenam para impor as novas regras, sem o apoio dos mineradores. 

Um soft fork também pode ocorrer devido a alguma divergência temporária na blockchain, onde mineradores usando nós não atualizados infringem uma nova regra de acordo que seus nós não conhecem.

Exemplos de Soft Forks

Soft forks têm sido usados como a opção mais comum para atualizar blockchains do Bitcoin, já que acredita-se que apresentem uma menor possibilidade de dividir a rede. Exemplos anteriores de soft forks bem-sucedidos incluem atualizações de software como BIP 66 (sobre validação de assinatura) e P2SH (alteração na formatação de endereço do Bitcoin).

  1. BIPs (34, 65 e 66) foram instalados na blockchain do Bitcoin através do sinalização de mineradores utilizando o número de versões de bloco. Basicamente, novas regras de consenso foram propostas para uso em blocos com um número de versão maior do que a versão de bloco predominante já em uso na rede. 

  2. P2SH ou PAY-TO-SCRIPT-HASH foi uma atualização adicionada ao blockchain do Bitcoin em 2012, modificando a forma como ele validava transações. É mais comumente reconhecido como endereços em Bitcoin que começam com um ‘3’ em vez de um ‘1’.

  3. SegWit, ou SEGREGATED WITNESS, foi uma soft fork utilizada para aumentar a velocidade das transações de Bitcoin. Como um novo bloco de transações é minerado a cada 10 minutos, em média, a ideia básica era aumentar o número de transações que poderiam ser incluídas em cada bloco. O SegWit liberaria algum espaço em cada bloco que então poderia ser usado para incluir mais transações. Isso foi feito removendo a chave pública do bloco, junto com a assinatura associada a cada transação, e enviando-as por um canal de mensagens diferente. Como a chave pública e a assinatura ocupam quase 60% do tamanho total da transação, enviá-las separadamente poderia dobrar o número de transações em cada bloco. É por isso que a abordagem foi chamada de Segregated Witness, já que o “witness” (assinatura) foi segregado (enviado separadamente) da transação.

Conclusão

Forks fornecem a uma rede blockchain a oportunidade de se atualizar enquanto também adicionam funcionalidades aumentadas às criptomoedas existentes, como funcionalidades de escalabilidade, que são igualmente importantes para a adoção. Soft forks têm sido frequentemente usadas nos blockchains de Bitcoin para implementar regras novas e atualizadas e algoritmos compatíveis com versões anteriores.

Mas os desafios estão mais na execução do fork do que em seu princípio. Portanto, processos de governança eficazes são a chave para sua implementação.

Pegue sua dose diária informações sobre cripto e trading

Sem spams. Apenas muito conteúdo de qualidade e atualizações sobre o mundo cripto.

    roadmap