O que é Mineração de Criptomoedas?

06.12.2018

A mineração é um dos principais elementos que permitem que as criptomoedas funcionem como uma rede descentralizada peer-to-peer (ponto a ponto) sem a necessidade de uma autoridade central.

É o processo no qual as transações entre usuários são verificadas e adicionadas ao livro de registros da blockchain e também é usada para atualizar a quantidade de moedas em circulação.

 

Como a Mineração Funciona?

O minerador é um Node (nó) na rede que coleta transações e tem a função de organizá-las em blocos. Sempre que há novas transações, os mineradores as recebem e verificam, adicionam na Memory Pool (onde é armazenado as transações pendentes) e começam a montá-las em um bloco com múltiplas transações.

A primeira etapa no processo para minerar um bloco é padronizar cada transação utilizando a função Hash1 e alocá-las na Memory Pool.

Antes de começar a alocar as transações, o Node do minerador adiciona uma transação na qual é enviado a recompensa pela mineração. Essa transação é chamada de "Coinbase", e é nela onde as moedas são criadas e, na maioria dos casos, é a primeira transação de um novo bloco.

Depois que cada transação é convertida em hash, esses hashes são então organizados na Merkle Tree2 ou Hash Tree2, o que significa que os hashes são organizados em pares e depois convertidos novamente em hash até que cheguem “ao topo da árvore”, também chamado Root Hash ou Merkle Root.

O root hash junto com o hash do bloco anterior, e um número aleatório chamado Nonce (número ou palavra que pode ser usado uma única vez) é então alocado no Block Header (cabeça do bloco). O block header é convertido em hash e será usado como o identificador do bloco.

O identificador do bloco deve ser menor que um determinado valor definido pelo protocolo. Em outras palavras, o header hash do bloco deve começar com um certo número de zeros.

Esse valor alvo, também conhecido como dificuldade do hash, é dimensionado, garantindo que a taxa na qual novos blocos são criados seja proporcional à quantidade de energia de hashing na rede.

Os mineradores continuam verificando o hashing do Block Header repetidamente e utilizando o Nonce até que um minerador na rede produza um hash válido. Quando um hash válido é encontrado, o Node fundador transmitirá o bloco para a rede. Todos os outros Nodes verificarão se o hash é válido e adicionarão o bloco em sua cópia da blockchain e iniciam a mineração do próximo bloco.

No entanto, às vezes acontece que dois mineradores transmitem um bloco válido ao mesmo tempo e a rede fica com dois blocos concorrentes. Os mineradores começam a minerar o próximo bloco com base no bloco que receberam primeiro. A competição entre esses blocos continuará até que o próximo bloco seja extraído com base em qualquer um dos blocos concorrentes. O bloco que é abandonado é chamado de Orphan Block3 (bloco órfão) ou Stale Block3 (bloco obsoleto). Os mineradores destes blocos passarão a minerar o bloco vencedor.

 

Mining pools (Piscinas de Mineração)

Enquanto a recompensa do bloco é concedida ao minerador que descobre o hash válido primeiro, a probabilidade de encontrar um hash válido é equivalente a uma fração da potência total de mineração da rede. Mineradores com uma pequena porcentagem de poder de mineração têm uma chance muito pequena de descobrir o próximo bloco. As pools de mineração foram criadas para resolver esse problema, os mineradores se organizam e compartilham seu poder de processamento em uma rede e dividem a recompensa entre todos na pool, de acordo com a quantidade de trabalho que eles contribuirão para encontrar o bloco.

Fique ligado para mais conteúdo e não se esqueça de conferir nossos outros vídeos em Binance Academy!


Notas

- Hash - A função Hash é responsável por receber dados de tamanhos variados e padronizá-los para que essas informações tenham um tamanho fixo.

- Merkle Tree ou Hash Tree - Sãos estruturas de dados que organizam grandes quantidades de informação em uma estrutura em forma de árvore com conteúdos resumido, permitindo uma verificação mais eficiente e segura do conteúdo.

- Orphan Block ou Stale Block - são blocos válidos que não fazem parte da blockchain principal. Eles podem ocorrer de forma natural quando dois mineradores produzem um bloco ao mesmo tempo, ou podem ter sido criados por um ataque (com poder de hashing suficiente) ao tentar estornar alguma transação.

Loading