Pontos chave

  • Prova de Trabalho (PoW) é um mecanismo de consenso criado para evitar gastos duplos em sistemas de pagamento digital.

  • PoW é uma parte importante do processo de mineração, que adiciona novos blocos de transação ao blockchain e cria novas unidades de criptomoeda.

  • Bitcoin e muitas outras criptomoedas escolhem o PoW como método de proteger suas redes e dados blockchain.

Introduzir

Resumindo, Prova de Trabalho (PoW) é um mecanismo criado para evitar gastos duplos em sistemas de pagamento digital. Bitcoin e muitas outras criptomoedas escolhem o PoW como método de proteger suas redes e dados blockchain. Tais mecanismos são frequentemente chamados de algoritmos de consenso ou mecanismos de consenso, porque exigem que várias partes cheguem a um consenso sem terem que confiar umas nas outras.

O Proof of Work foi o primeiro algoritmo de consenso a aparecer e continua sendo um dos mais importantes junto com o Proof of Stake (PoS). O PoW foi introduzido por Satoshi Nakamoto no white paper Bitcoin de 2008, mas a tecnologia em si foi estabelecida muito antes disso.

O HashCash de Adam Back foi um dos primeiros exemplos de algoritmo de Prova de Trabalho nos dias anteriores à criptomoeda. Ao exigir que o remetente faça algum trabalho computacional antes de enviar o e-mail, o destinatário pode reduzir o recebimento de spam. Essa operação computacional não custa quase nada para remetentes legítimos, mas consome muitos recursos para remetentes de e-mail em massa.

O que é gasto duplo?

Gasto duplo ou gasto duplo refere-se a quando a mesma quantia de dinheiro é gasta várias vezes. Este termo é utilizado quase exclusivamente no domínio das moedas digitais – porque na prática seria difícil gastar duas vezes uma única nota de dinheiro. 

Ao pagar uma xícara de café em dinheiro, você dará dinheiro ao caixa para colocar na gaveta. Mas se você quiser ir à cafeteria do outro lado da rua e continuar usando esse dinheiro para pagar outra xícara de café, é completamente impossível. Contudo, em sistemas de dinheiro digital, isto é possível. 

Assim como você usa copiar e colar para copiar um arquivo em seu computador. Você pode enviar facilmente o mesmo arquivo por e-mail para dezenas de pessoas. Como a moeda digital consiste apenas em dados, você precisa evitar o risco de fraude de gasto duplo, ou seja, copiar e gastar a mesma moeda em lugares diferentes. Um sistema de pagamento digital que não evite fraudes em gastos duplos entrará em colapso, mais cedo ou mais tarde.

Para entender melhor a fraude de gasto duplo, consulte Explicação do gasto duplo.

Por que a Prova de Trabalho é necessária?

Se você leu artigos sobre a tecnologia blockchain, saberá que os usuários de criptomoedas transmitem transações para a rede continuamente. No entanto, estas transações não são imediatamente consideradas válidas. As transações são válidas quando são confirmadas e adicionadas ao blockchain.

Por exemplo, o blockchain Bitcoin opera como um banco de dados de transações públicas (livro razão) que todos os usuários podem ver. Para ficar mais fácil de imaginar: você e três amigos possuem um notebook para acompanhar suas transações de bitcoin. Sempre que alguém do grupo quiser transferir valor, deverá ser registrado:

Alice paga a Bob 5 BTC; Bob paga a Carol 2 BTC,...

No entanto, sempre que fizer uma transação, você terá que registrar a origem dos fundos da transação. Portanto, se Bob pagar a Carol 2 BTC, a entrada real seria a seguinte: 

Bob paga a Carol 2 BTC provenientes da transação anterior com Alice.

Agora temos uma maneira de rastrear unidades de BTC. Se Bob tentar fazer outra transação usando os mesmos 2 BTC que acabou de enviar para Carol, todos saberão imediatamente e a equipe não permitirá que esta transação seja adicionada ao razão porque esses 2 BTC já estão creditados na transação inicial.

No entanto, este método só funciona bem em um grupo pequeno. Com um grupo pequeno onde todos se conhecem bem, é mais fácil chegar a um acordo sobre quem deve adicionar transações aos livros. E se quisermos um grupo de 10.000 participantes? Usar um notebook será difícil de aplicar, porque ninguém quer confiar apenas em um estranho para gerenciar o notebook.

É aí que a Prova de Trabalho entra em jogo. Ele garante que os usuários não gastem dinheiro que não têm o direito de gastar. Usando uma combinação de teoria dos jogos e criptografia, o algoritmo PoW permite que qualquer pessoa atualize o blockchain de acordo com as regras do sistema.

Como funciona o PoW?

Imagine que o livro-razão do exemplo acima seja um blockchain. Mas em vez de adicionar transações uma por uma – nós as agrupamos em blocos. Anunciamos as transações na rede e, em seguida, os geradores de blocos as incluem em um bloco candidato. As transações só serão consideradas válidas quando o bloco candidato se tornar um bloco confirmado, o que significa que foi adicionado ao banco de dados do blockchain.

O processo de validação de transações e acréscimo de novos blocos é chamado de mineração. É caro e difícil, mas também traz muitos benefícios. As recompensas em bloco são geradas a partir de taxas de transação dos usuários e novos bitcoins criados pelo protocolo. 

O mecanismo de Prova de Trabalho exige que os mineradores (usuários que criam blocos) invistam recursos como eletricidade e computadores poderosos para fazer hash dos dados de seus blocos candidatos até que uma solução para o quebra-cabeça seja encontrada.

Fazer hash dos dados de um bloco significa passá-los por uma função hash para criar uma cadeia hash do bloco. A string hash do bloco atua como uma “impressão digital” – é uma identidade para seus dados de entrada e é exclusiva para cada bloco.

Em outras palavras, os mineradores devem verificar e coletar transações pendentes, organizá-las em um bloco candidato e alimentar os dados do bloco em uma função hash para criar uma cadeia hash válida. Se encontrarem um hash válido para seu bloco candidato, eles o transmitem para a rede, adicionam o bloco ao blockchain e coletam recompensas de mineração.

Quando um minerador transmite seu bloco candidato e sua cadeia de hash para a rede, outros participantes da rede repetem o processo de hashing para verificar se a saída é realmente válida. 

Embora sejam necessárias inúmeras tentativas de hash para encontrar uma string hash válida, é difícil para qualquer um confirmar se a string hash gerada está correta. Eles simplesmente enviam a mesma entrada (dados do bloco) através da função hash e verificam se a saída é a mesma.

Na Prova de Trabalho, você deve fornecer dados cujo hash corresponda a determinadas condições. Mas ninguém sabe como alcançar essas condições. A única maneira é passar seus dados por uma função hash e verificar se os dados correspondem às condições. Caso contrário, você terá que alterar um pouco seus dados para obter um hash diferente. Alterar até mesmo um caractere em seus dados resultará em um resultado completamente diferente, portanto, não há como prever qual será o resultado.

Portanto, se você quiser criar um bloco, você entrará em um jogo de adivinhação. Normalmente, você obtém informações sobre todas as transações que deseja adicionar e alguns outros dados importantes e, em seguida, mistura tudo isso. Mas como seu conjunto de dados não mudará, você precisará adicionar uma informação que pode mudar. Caso contrário, você sempre obterá o mesmo hash de saída. Esses dados variáveis ​​​​são o que chamamos de nonce. É um número que você altera a cada tentativa, então você obterá um hash diferente a cada vez.

Resumindo, mineração é o processo de coletar dados de blockchain e fazer hash deles junto com um nonce até encontrar uma string de hash específica. Se você encontrar uma cadeia hash que atenda às condições estabelecidas pelo protocolo, você terá o direito de transmitir o novo bloco para a rede. Neste momento, outros participantes da rede atualizam seu blockchain para adicionar novos blocos.

Para as principais criptomoedas de hoje, as condições são extremamente difíceis de cumprir. Quanto maior a taxa de hash na rede, mais difícil será encontrar um código hash válido. Isso é feito para garantir que os blocos não sejam encontrados muito rapidamente.

Como se pode imaginar, tentar adivinhar um grande número de hashes pode custar caro aos recursos do seu computador. Você está desperdiçando ciclos de computação e eletricidade. Mas o protocolo irá recompensá-lo com criptomoeda se você encontrar uma string hash válida.

Vamos recapitular o que sabemos até agora:

  • A mineração é difícil e cara, mas fornece segurança à rede.

  • Os mineradores que produzirem um bloco válido serão recompensados ​​com criptomoedas e taxas de transação recém-lançadas.

  • A geração de uma string hash válida leva tempo, mas outros usuários podem facilmente verificar sua validade repetindo o processo de hash.

É tão simples. Mas e se você trapacear? O que impede você de injetar um monte de transações fraudulentas no bloco e criar um hash válido?

É aí que entra a criptografia de chave pública. Não entraremos em muitos detalhes neste artigo, mas vamos ver O que é criptografia de chave pública? para uma visão mais abrangente. Resumindo, existem alguns truques criptográficos que permitem a qualquer usuário verificar se alguém tem autoridade para movimentar o dinheiro que está tentando gastar.

Ao criar uma transação, você assina sua assinatura. Qualquer pessoa online pode comparar sua assinatura com sua chave pública e verificar se elas correspondem. Eles também verificarão se você realmente pode gastar o dinheiro e se o total de insumos é superior ao total de resultados (ou seja, você não está gastando mais do que tem).

Qualquer bloco contendo transações inválidas será automaticamente rejeitado pela rede. Será muito caro se você quiser trapacear. Você desperdiçará seus próprios recursos sem qualquer recompensa.

Essa é a vantagem da Prova de Trabalho: custa dinheiro se você trapacear intencionalmente, mas é lucrativo quando você é honesto. Portanto, qualquer mineiro sensato procurará um retorno sobre o seu investimento, pelo que se comportará de uma forma que tenha maior probabilidade de gerar receitas.

Compare dois mecanismos de consenso, Prova de Trabalho (PoW) e Prova de Participação (PoS)

Existem muitos algoritmos de consenso além do PoW, mas um dos mais populares é o Proof of Stake (PoS). Este conceito existe desde 2011 e foi implementado no Ethereum e em vários outros protocolos.

No sistema Proof of Stake, os mineiros são substituídos por validadores. Não há mineração envolvida nem corrida para adivinhar os hashes. Em vez disso, os usuários são selecionados aleatoriamente – se forem selecionados, deverão propor (ou “forjar”) um bloco. Se o bloco for válido, eles receberão uma recompensa composta por taxas das transações do bloco.

No entanto, não é possível selecionar qualquer usuário – o protocolo os seleciona com base em vários fatores. Para serem elegíveis para participar, os participantes devem garantir uma aposta, que é um valor predeterminado do principal do blockchain. A aposta é como a fiança: assim como os réus investem grandes somas de dinheiro para garantir que não faltem ao julgamento, os validadores trancam as apostas para garantir que não haja fraude. Se agirem desonestamente, a sua participação (ou parte dela) será retirada.

A Prova de Participação tem diversas vantagens quando comparada à Prova de Trabalho. A vantagem mais notável é a menor pegada de carbono – uma vez que não há necessidade de fazendas de mineração de alta potência no PoS, o consumo de eletricidade é uma fração do consumido no PoW. 

No entanto, o PoS não tem o mesmo histórico que o PoW. Embora possa ser considerado um desperdício, a mineração é o único algoritmo de consenso que funcionou de forma eficaz durante mais de uma década. Desde o seu lançamento, o PoW do Bitcoin garantiu trilhões de dólares em transações. Para dizer com certeza se o PoS pode competir com a sua segurança, o staking precisa ser testado adequadamente durante longos períodos de tempo.

Resumo

Prova de Trabalho é a solução original para o problema de gastos duplos e provou ser confiável e segura. O Bitcoin provou que não precisamos de entidades centralizadas para evitar que o mesmo dinheiro seja gasto duas vezes. Através do uso inteligente de criptografia, funções hash e teoria dos jogos, os participantes de um ambiente descentralizado podem chegar a um acordo sobre o estado de um banco de dados financeiro.

Leia mais:

  • O que é mineração de criptomoedas e como funciona?

  • O que é criptografia de chave pública?

  • O que é algoritmo de consenso Blockchain?

Isenção de responsabilidade: este conteúdo é fornecido a você “como está” apenas para informações gerais e fins educacionais, sem representação ou garantia de qualquer tipo. Não deve ser interpretado como aconselhamento financeiro, jurídico ou outro aconselhamento profissional, nem pretende ser uma recomendação de compra de qualquer produto ou serviço específico. Você deve procurar aconselhamento de consultores profissionais apropriados. Nos casos em que os artigos são contribuídos por colaboradores terceiros, observe que as opiniões expressas pertencem ao colaborador terceirizado e não refletem necessariamente as opiniões da Binance Academy. Leia nosso aviso completo aqui para obter mais detalhes. Os preços dos ativos digitais podem flutuar. O valor do seu investimento pode cair ou subir e você pode não recuperar o valor investido. Você é o único responsável por suas decisões de investimento e a Binance Academy não é responsável por quaisquer perdas que você possa incorrer. Este material não deve ser interpretado como aconselhamento financeiro, jurídico ou outro aconselhamento profissional. Para obter mais informações, consulte nossos Termos de Uso e Aviso de Risco.