Noções Básicas de Blockchain: Blocos Órfãos
Neste artigo vamos falar sobre blocos órfãos, também conhecidos como blocos obsoletos. Blocos órfãos acontecem de tempos em tempos na maioria das blockchains Proof of Work. Mas por que eles acontecem e o que são?
Antes de prosseguir, recomendo fortemente a leitura deste artigo sobre a prova de trabalho e como ela funciona. Isso vai-lhe proporcionar uma melhor compreensão fundamental da mineração e, especialmente, das funções hash unidirecionais (hashing).
Resumo da prova de trabalho
A prova de trabalho é baseada em funções de hash unidirecionais. As funções de hash unidirecionais permitem-nos “hash” ou “zip” uma quantidade infinita de dados numa saída de tamanho fixo chamada hash. No caso da blockchain, os dados de entrada são transações enquanto os dados de saída são uma saída de hash.
Depois de o minerador encontrar os dados de saída corretos (hash), o bloco de transações é confirmado e o bloco é enviado à rede. Se você quiser ler um artigo um pouco mais técnico sobre a prova de trabalho, sinta-se à vontade para lê-lo aqui.
Em termos leigos, os mineradores estão a resolver uma função matemática, o primeiro a resolver corretamente o problema transmitirá a solução para os nodes por todo o mundo e obterá a recompensa do bloco por resolver o problema. É importante observar que a transmissão da solução por toda a rede pode levar algum tempo.
Então, o que acontece se dois mineradores encontrarem a solução correta ao mesmo tempo ou aproximadamente ao mesmo tempo? A cadeia é dividida em duas cadeias. Uma vez encontrada a cadeia mais longa, os outros blocos tornam-se em blocos órfãos.
O que é um bloco Órfão?
Bloco órfão é um termo usado pelo público em geral, mas em documentos técnicos é descrito como um bloco obsoleto (stale block). Um bloco órfão é criado quando dois mineradores (ou mais) encontram a solução ao mesmo tempo.
Como cada minerador transmitirá a solução para a rede e a rede requer alguns momentos para sincronizar, haverá duas blockchains por um breve período de tempo. Cada parte da blockchain pensará que a sua solução foi encontrada primeiro e é a solução que deve ser usada principalmente. Na realidade, ambas as soluções são válidas.
Assim que a novo blockchain estiver ativa, a “corrida” entre as duas cadeias começa. A que tiver a cadeia mais longa será a cadeia principal.
Explicação Detalhada
Você pode imaginar como se um minerador nos EUA confirmasse o bloco ao mesmo tempo que um minerador na Europa. Os nodes nos EUA provavelmente seriam sincronizados primeiro pelo minerador dos EUA e os nodes na Europa seriam sincronizados primeiro pelo minerador da Europa. Nesse momento, haveria duas blockchains simultaneas em execução ao mesmo tempo. É o que a imagem abaixo apresenta. Os nodes dos EUA estão a usar o bloco confirmado pelo minerador dos EUA, enquanto os nodes da Europa estão a usar os blocos confirmados pelos nodes da Europa. As cadeias não se comunicam entre si.
Se olharmos para o exemplo acima, existem duas blockchains simultaneas em execução nos nodes, mas as regras da blockchain determinam que a cadeia mais longa é a correta/principal. Isso significa que os próximos blocos encontrados em cada “lado” ou cadeia serão cruciais. Se os próximos blocos forem confirmados mais rapidamente no lado da Europa e houver menos soluções confirmadas no lado dos EUA, a cadeia da Europa é considerada a mais longa, portanto, o bloco na blockchain dos EUA é considerado um bloco órfão.
Normalmente, a cadeia que tiver a hashrate mais alta será a principal, pois os blocos serão encontrados mais rapidamente lá.
Ninguém pode saber se o bloco é órfão até que seja decidida qual é a cadeia mais longa.
Os mineradores são pagos pelos blocos órfãos?
Depende da blockchain. Algumas blockchains pagam por blocos órfãos. Antes do Ethereum ir para Proof of Stake, recompensava os mineradores por blocos órfãos, mas a recompensa era menor do que a recompensa por blocos normais.
Existem muitas blockchains para listar todas elas aqui, mas geralmente as blockchains com tempos de bloco muito rápidos tendem a recompensar os blocos órfãos de uma forma ou de outra. Embora, não necessariamente.
As blockchains mais comuns que não recompensam blocos órfãos e também são usadas no EasyMining da NiceHash são:
- Bitcoin (BTC)
- Bitcoin Cash (BCH)
- Dogecoin (DOGE)
- Litecoin (LTC)
- Zcash (ZEC)
O que acontece com as transações nos blocos órfãos?
As transações nos blocos órfãos não são processadas na cadeia principal. Isso significa que se o bloco que contém a transação ficar órfão, a transação será descartada. O saldo da carteira do remetente será o mesmo que era antes da transferência dos fundos e a carteira de destino não verá os fundos recebidos. No entanto, a transação pode realmente ser incluída nas duas cadeias concorrentes (ambos os blocos). Nesse caso, mesmo assim, a transação é processada.
Como sempre, sinta-se à vontade para entrar na nossa página do Reddit e no servidor do Discord!