Este artigo é uma jornada completa que permitirá que você aprenda sobre o processo de criação de um bloco Bitcoin e os prós e contras que tornam a mineração Bitcoin possível.
Em artigos anteriores analisamos a tecnologia blockchain y como é constituída. Também temos um artigo dedicado a blocos que compõem a blockchain e outro dedicado às transações, que por sua vez compõem os blocos. Se você não conhece esses termos, convidamos você a dar uma olhada nesses três artigos antes de continuar a ter um conhecimento mais claro e abrangente desses elementos que ajudarão você a entender: Como você minera um bloco?
Na cadeia de blocos, os mineradores se encarregam de gerar os novos blocos adicionando-os ao final da cadeia. E como o protocolo estabelece Bitcoin, eles devem executar esse processo aproximadamente a cada 10 minutos. Cada bloco minerado contém um registro detalhado das diferentes transações realizadas em cada período. E que, quando adicionados ao final da blockchain, eles atualizam seu registro.
Processo de mineração em bloco
Para criar um novo bloco, os mineradores devem passar por um processo para resolver um problema de matemática. Ao encontrar uma solução válida para a rede, um novo bloco pode ser minerado e será adicionado à blockchain por consenso. E pelo qual, o mineiro que encontrou a solução, receberá uma recompensa pelo novo bloco. Essa recompensa é conhecida como recompensa do bloco.
Um novo bloco Bitcoin é gerado aproximadamente a cada 10 minutos.. Portanto, toda vez que um é encontrado, significa o início da mineração para outro. Uma vez que estes são matematicamente relacionados ou encadeados. Mas vamos ver com mais detalhes como esse processo é realizado:
Primeira etapa: transação
O processo de mineração de um novo bloco começa quando um usuário deseja enviar uma certa quantia de criptomoeda para outra pessoa. Então envia esta transação com os dados da sua carteira, aguardando a rede fazer e confirmar. Eles permanecem lá até que um bloco seja minerado, onde podem ser incluídos e validados.
Segunda etapa: Compilação
Essas transações pendentes na rede são coletadas e agrupadas em um bloco de transações por nós de mineração. É provável que vários mineradores coletem as mesmas transações. E todos eles não serão confirmados até que o bloco seja minerado.
Terceira etapa: Formação
Cada minerador selecionará as transações que deseja incluir e construirá seu próprio bloco. Caso existam transações já validadas e incluídas no bloco anterior, elas serão removidas deste. Este novo bloco é conhecido como candidato, pois ainda não é válido por não possuir um proof of work válido.
Na formação desse novo bloco, deve ser incluído um cabeçalho que contenha o hash do bloco anterior, o raíz de Merkle e dados para a competição de mineração. Quero dizer, o timestamp, o objetivo do algoritmo de PoW para esse bloco (os bits), a versão do software e o nonce.
Estágio Quatro: Prova de Trabalho
Depois que cada minerador formar seu próprio bloco de transações, precisará encontrar uma assinatura válida para esse bloco. Em outras palavras, realiza uma prova de trabalho. Cada minerador deve executar um processo de cálculo matemático exclusivo de cada bloco que formou. Portanto, embora o procedimento seja o mesmo, o resultado será totalmente diferente para cada um. Esse cálculo complexo envolve muita energia computacional e, portanto, um grande gasto de energia elétrica. O que também dependerá da dificuldade do sistema para o tempo da mineração.
A solução que os mineradores devem encontrar é conhecida como hash. Essa função é muito difícil de encontrar, mas uma vez encontrada, é fácil verificar por outros nós. Para que assim eles possam verificar que o hash de saída cumpre com as condições estabelecidas do sistema.
Para encontrar um hash de saída válido, os mineradores executam os cálculos matemáticos repetidamente repetidamente, usando um nonce. Que é um número aleatório que eles usam e mudam constantemente até encontrar uma assinatura de saída ou hash que seja válido com base na condição. Não há como prever qual nonce resolverá o problema, portanto, eles devem usar quantos forem necessários. E estamos falando de bilhões de valores!Incrível, né?
No caso da rede Bitcoin, o sistema determina que o hash de saída deve conter um certo número de zeros no início do hash.
Quinta etapa: Transmissão
Quando um nó de mineração consegue encontrar um hash de saída válido para um bloco, ele transmite esse bloco juntamente com a assinatura para os outros nós na rede para que eles possam validá-lo.
Neste momento, enquanto os 21 milhões de bitcoins não forem emitidos, o minerador recebe a recompensa estabelecida pela mineração, colocando novos bitcoins em circulação. Isso é registrado em seu próprio nó, os outros nós da rede o farão na próxima etapa.
Além disso, independentemente de todos os bitcoins terem sido emitidos ou não, o minerador também recebe todas as comissões de mineração que os usuários fizeram nas transações que compõem esse bloco.
Sexta etapa: Verificação
Os outros nós da rede são responsáveis por validar e verificar se o bloco e o hash atendem às condições do sistema, verificando sua legitimidade e se realmente contém o número de zeros declarado.
Aqui também é confirmada a prova do trabalho, ou seja, o poder computacional gasto para encontrar a solução, e note-se que o mineiro que descobriu o bloco pode efetivamente fazer uso dos bitcoins recebidos recentemente.
Sétima etapa: Confirmação
Assim que o novo bloco for adicionado ao blockchain, todos os outros que forem adicionados em cima dele contarão como uma confirmação. Neste ponto, podemos pensar que, como cada minerador iniciou o processo com seu próprio bloco, eles podem continuar minerando. Mas não é assim. Depois que um bloco é gerado, todos os nós de mineração devem iniciar o processo formando um novo bloco de transações. Eles não podem continuar minerando o bloco anterior porque cada bloco deve adicionar o hash de saída do bloco que o precede.
É por isso que conhecemos essa tecnologia como uma cadeia de blocos ou blockchain. Então, quando o minerador obtiver um hash válido, outro número de novos blocos pode ter sido extraído. Portanto, o hash de saída do seu bloco minado não corresponderá ao hash de saída do último bloco adicionado na cadeia. Será rejeitado.
Além disso, é muito provável que todas ou a maioria das transações incluídas naquele bloco já tenham sido adicionadas a outros. Mesmo se você conseguir minerar o bloco, a maioria das transações incluídas não poderá ser validada ou confirmada.
Características dos blocos minerados
Os blocos extraídos no sistema Bitcoin devem atender a certas características e condições para serem considerados válidos. Vamos ver o que são:
- O hash do cabeçalho do bloco minado deve ser menor que o alvo. Se for maior, não será considerado válido.
- O tamanho do bloco deve estar dentro dos limites aceitáveis. No Bitcoin, um bloco deve ter um tamanho máximo de 2 MB.
- La timestamp do bloco deve ser menos de duas horas no futuro.
- A primeira transação adicionada ao bloco será a transação de coinbase. Isso dará ao nó de mineração a recompensa da rede. E haverá apenas uma transação coinbase por bloco.
- Todas as transações adicionadas ao bloco são válidas.
- O cabeçalho de cada bloco conterá o hash do bloco anterior e a altura do bloco º.
Todos esses recursos são verificados para confirmar um bloqueio. E cada nó de mineração valida independentemente novos blocos seguindo exatamente as mesmas regras. Então, garante que nenhum nó de mineração possa trapacear. O que proporciona robustez e segurança à rede. Depois que o bloco for validado, os outros nós da rede o adicionarão à sua cópia do blockchain. E quando isso acontece, não pode ser modificado ou alterado.
Agora você conhece o processo de criação que foi seguido por todo e qualquer bitcoin em circulação. Todos e cada um dos bitcoins existentes foram emitidos após esse processo, para serem posteriormente utilizados ou vendidos pelo minerador a outras pessoas, até que cheguem às suas mãos.