O Proof of Work (Prova de Trabalho) é o algoritmo de consenso que garante a operação na rede blockchain do Bitcoin. A partir desse protocolo, não é necessário possuir um centralizador que valide as transações, desempenhando o papel que uma bolsa de valores realiza em relação a compra e venda de ações, por exemplo. Mas qual o incentivo de um minerador para validar transações na rede Bitcoin? Resumidamente, a resposta é: novas moedas BTC recém cunhadas e novas taxas de transação.
As novas taxas de transação são divididas entre vários mineradores, e eventualmente serão reduzidas a zero (0%) e nenhum minerador administrará seu equipamento de mineração a menos que seja pago como parte de uma recompensa por prova de trabalho. As taxas de transação podem ser um valor fixo ou podem ser feitas para variar.
Este sistema de criação de blocos baseado em taxas torna a mineração Bitcoin lucrativa. O fornecimento atual de bitcoins é limitado a 21 milhões. Além de tornar lucrativa a mineração de bitcoins, a mineração de bitcoins também tem um valor social positivo, pois este sistema possibilita que as transações e arquivos de dados sejam armazenados em um servidor central e acessados apenas por usuários autorizados e aprovados.
Se a mineração de Bitcoin ocorrer, qualquer pessoa com poder computacional suficiente pode se tornar um minerador, embora o número de mineradores de Bitcoin bem-sucedidos determine o número total de bitcoins existentes. Portanto, ao utilizar a mineração para aumentar a escassez de bitcoins, os mineradores estão envolvidos em um ato de competição social e estão motivados a salvaguardar a segurança da blockchain e os dados das transações.
A recompensa do bloco, que se acumula para os mineradores a cada 210.000 blocos, reduz pela metade a cada 4 anos. O número total de Bitcoins existentes está limitado a 21 milhões e a taxa de inflação foi estabilizada e caindo pela metade a cada 4 anos desde o ano de 2011. Além disso, um novo bloco é adicionado à Blockchain aproximadamente a cada 10 minutos. Este processo tem se mostrado estável com exceções limitadas, como o blip temporário de curta duração gerado durante novembro de 2013, a redução na taxa de transação da Rede Bitcoin em agosto de 2012 e a remoção temporária de 10.000 Bitcoins da circulação (discutido mais adiante), o que não resultou em uma reestruturação em maior escala da Rede Bitcoin.
O número de Bitcoins concedidos aos mineradores para mineração é reduzido pela metade a cada 210.000 blocos (aproximadamente 4 anos em média), em média, resultando em aproximadamente seis blocos sendo adicionados à cadeia de blocos dentro do intervalo já mencionado de 10 minutos. Nas duas décadas anteriores ao prazo atual, cada bloco era de 75.000 bytes. A mineração de bitcoin requer muita energia de computador e equipamentos altamente especializados. Estes incentivos criaram uma mineração excessiva.
Na medida em que as pools de mineração resolvem para um bloco mais rápido que os outros mineradores, seus blocos serão adicionados à Blockchain antes dos blocos dos mineradores mais lentos; no entanto, se uma pool resolve para um bloco mais rápido que a pool de outros mineradores, outras soluções de blocos ainda serão adicionadas à Blockchain e a Blockchain continuará a registrar transações até que todos os blocos sejam resolvidos.
Por exemplo, se cinco blocos forem resolvidos em uma fila por um conjunto de seis mineradores, duas dessas seis soluções de mineradores serão adicionadas ao Blockchain antes de qualquer outro minerador, e o Blockchain registrará cinco transações (com uma quinta transação sendo registrada por um bloco ainda não resolvido).
As transações Bitcoin são transmitidas para a Rede Bitcoin e para as exchanges nos quais os usuários podem comprar ou vender bitcoins, normalmente, através de programas de software que geram um valor de hash de transação único, um hash dos últimos quatro dígitos do endereço Bitcoin de um usuário, permitindo à Rede Bitcoin reconhecer e gravar a transferência [i] de bitcoins ou a aquisição de bitcoins sujeitos a taxas de transação. A Rede Bitcoin é obrigada a incluir (i) um algoritmo de assinatura digital que regula a mineração de novas bitcoins e (ii) um algoritmo de mineração. Para mais detalhes, recomendamos a leitura de “Validação de dados através de hashes criptográficos“. Para criar novas bitcoins, um minerador deve descobrir um dado anteriormente não utilizado, conhecido como “bloco”, que pode ser encontrado resolvendo um problema matemático difícil com uma função de hash 31 cryptographic.
A solução de tal bloco requer a solução de um segundo problema relacionado que, por sua vez, requer a solução de um terceiro problema com base na solução dos dois primeiros problemas. O minerador que obtém as três primeiras soluções ou “chaves” cria uma nova transação na Rede Bitcoin e submete tal transação para inclusão em um bloco sendo adicionado à cadeia de blocos; tal destinatário então se torna automaticamente o nó na Rede Bitcoin ao qual o bloco é adicionado.
O minerador que resolve o quarto problema se torna o nó na Rede Bitcoin. No primeiro dia de operação, a dificuldade da matemática necessária para criar um novo bloco não mudou, o que significa que a dificuldade foi ajustada um sétimo para cada dez minutos depois, até que a dificuldade fosse ajustada a um valor não superior a 100 milhões de vezes o número de bitcoins que tinham sido criados antes da imposição do ajuste de dificuldade. O primeiro ajuste ao valor da dificuldade ocorreu aproximadamente três meses após o lançamento da Rede Bitcoin. Em 12 de março de 2016, a dificuldade foi novamente ajustada, fazendo com que cada bloco fosse adicionado aproximadamente 20 minutos após ter sido submetido por um minerador.
Após o primeiro e segundo ajuste da dificuldade, o total de todas as dificuldades recalculadas é ajustado aproximadamente semanalmente. Após aproximadamente quatro semanas de operação, em 6 de dezembro de 2016, a dificuldade foi ajustada novamente e cada bloco foi adicionado aproximadamente 2,5 minutos após sua submissão à Rede Bitcoin.
O segundo e subsequentes ajustes da dificuldade são determinados independentemente um do outro. Quando um minerador submete um novo bloco à Rede Bitcoin que submete uma dificuldade para o cálculo de uma nova recompensa de bloco a ser concedida ao minerador, o minerador recebe uma soma corrente da dificuldade calculada para o bloco anterior mais uma soma corrente da nova dificuldade para o bloco que submete a dificuldade para o cálculo de uma nova recompensa de bloco ao minerador.
Assim, se o minerador tivesse uma dificuldade total de 100 e uma dificuldade total de 500 em 6 de dezembro de 2016, a dificuldade de mineração do minerador seria ajustada um adicional de 7,5% para uma dificuldade total de 200 e uma nova dificuldade de 500. O próximo bloco de recompensa de 0,1 terá, portanto, uma dificuldade para o cálculo de um novo bloco de recompensa de 500 quando o bloco 0,2 for liberado. Como resultado, é bem concebível que um minerador possa ter uma soma corrente da dificuldade calculada para o bloco anterior mais uma soma corrente da nova dificuldade para o bloco que submete a dificuldade para o cálculo de uma recompensa de um novo bloco para uma dificuldade total de 1000.
A fim de não gerar um risco de ter um bloco de blocos não reconhecido por um nó, o valor da nova dificuldade para o cálculo de uma nova recompensa de bloco será igual ao valor da nova dificuldade para o cálculo de uma nova recompensa de bloco de 1000 + a média dos três valores calculados anteriormente da nova dificuldade. Se o bloco 0,6 fosse uma recompensa para o bloco 0,1 e o bloco 0,7a uma recompensa para o bloco 0,3, então a nova dificuldade de cálculo de uma nova recompensa de bloco para o próximo bloco seria uma dificuldade igual à nova dificuldade de cálculo de uma nova recompensa de bloco para o bloco 0,2, e o valor da nova dificuldade de cálculo de uma nova recompensa de bloco para uma recompensa total a ser paga para o próximo bloco seria 1000 x 0,2 = 500.
Mineração em BOUNTY BLOCKS
Ainda deve haver alguma dificuldade em administrar um nó de mineração na blockchain com a ajuda de uma pool de recompensa gratuita. A dificuldade seria a dificuldade nessa blockchain e a recompensa seria a recompensa pelo primeiro bloco minado nessa blockchain. A média da dificuldade e a recompensa seria dividida pela meta do bloco por dia para calcular uma recompensa aos mineradores de 0,001 BTC por bloco. A recompensa do bloco seria paga a qualquer momento após cada bloco.
Ou seja, um minerador tem muito incentivo financeiro para agir de forma honesta no protocolo de consenso de uma blockchain que opera via Prova de Trabalho. É possível que tal tecnologia, após se tornar mais escalável, se aperfeiçoe e até mesmo possa ser empregada em pregões financeiros tradicionais.
Leia também: