Este artigo fornecerá um guia básico sobre Prova de Trabalho. Aprenderá para que é necessário, a diferença entre Prova de Trabalho e Prova de Participação, e muito mais.
Para uma navegação mais fácil, consulte o índice:
- O que é a prova de trabalho?
- Porque é que precisamos do PoW?
- O que é a dupla despesa?
- Como funciona o PoW?
- Prova de Trabalho vs. Prova de Participação
- Conclusão
- Perguntas mais frequentes
O que é a prova de trabalho?
Proof of Work (PoW, abreviado) é um mecanismo de consenso (também conhecido como algoritmo de consenso) utilizado em criptomoedas. O que faz é impedir gastos duplos. A Prova de Trabalho é normalmente referida como o método de segurança do registo de uma criptomoeda.
Sendo o primeiro algoritmo de consenso a ser criado, o Proof of Work ainda é considerado o dominante entre outros algoritmos de consenso. Satoshi Nakamoto, o Bitcoin criador, introduziu o PoW em 2008. Mas, na realidade, a tecnologia que tornou o PoW possível já era conhecida anterior ao período.
O exemplo mais famoso do algoritmo PoW da era pré-criptomoeda é o HashCash de Adam Back. Funcionou como uma ferramenta para diminuir o número de cartas de spam, exigindo que os remetentes executassem uma certa quantidade de computação antes de enviar um e-mail. A quantidade de poder de computação era relativamente baixa para um remetente de correio eletrónico individual, mas aumentava drasticamente para alguém que fizesse envios massivos de correio eletrónico.
Porque é que precisamos de uma prova de trabalho?
Para responder a esta pergunta, temos de ver primeiro como tecnologia de cadeia de blocos obras.
Numa rede Bitcoin, os utilizadores precisam que o sistema confirme as transacções, uma vez que, quando transmitem as suas transacções à rede, estas não obtêm imediatamente o seu estatuto de validação. As transacções têm de se tornar primeiro parte do sistema blockchain. Uma vez que a cadeia de blocos é uma base de dados aberta, cada utilizador pode seguir o histórico de todos os fundos dentro da rede. A forma mais fácil de o ver é num bloco de notas.
A ideia é a seguinte:
- Tu e mais três dos teus amigos partilham o mesmo bloco de notas;
- Os quatro utilizam este bloco de notas para registar as transacções e ver quanto dinheiro cada um gasta;
- Para que cada nova transação seja válida, ao fazê-la, deve referir-se à transação anterior que forneceu os fundos;
- Assim, se um dos seus amigos tentar efetuar uma transação utilizando os mesmos fundos, essa transação será considerada inválida e será bloqueada.
Mas há um senão: um sistema deste tipo só pode funcionar para um pequeno grupo de pessoas que se conhecem e que podem chegar a um acordo quando efectuam transacções e escrevem os seus dados num bloco de notas mútuo para tornar as suas operações totalmente transparentes e rastreáveis. Mas e se quiser fazer o mesmo para um vasto grupo de utilizadores em linha de, digamos, 10.000 ou mais pessoas? Nesse caso, a abordagem do bloco de notas não funcionará, uma vez que ninguém estará disposto a deixar que estranhos giram as transacções.
E é por isso que a rede de moeda digital precisa de um sistema de Prova de Trabalho. Este mecanismo serve como um bloqueio para um utilizador gastar os activos que não tem o direito de gastar. O algoritmo PoW combina teoria dos jogos e criptografia, permitindo assim que os utilizadores da cadeia de blocos Bitcoin actualizem os dados das transacções Bitcoin em estrita conformidade com o sistema.
Como funciona o PoW?
O que é a exploração mineira?
Para entender como funciona a Prova de Trabalho, primeiro temos de saber o que é a mineração.
Quando se adicionam transacções à cadeia de blocos, não é possível adicioná-las separadamente - é necessário reuni-las em blocos. Assim que as transacções aparecem na rede, o conceito é o seguinte: devem ser adicionadas a um determinado tipo de bloco chamado bloco de candidatos. Em seguida, este bloco candidato aguarda a sua validação para se tornar válido - por outras palavras, para ser adicionado à cadeia de blocos.
Criar um novo bloco não é o processo mais barato. É necessário um determinado recurso, que é o poder de computação. Ou poder de mineração, uma vez que aquele que cria um bloco é chamado de mineiro. Um mineiro (utilizando um computador moderno com CUP suficiente) resolve o chamado puzzle computacional - ou seja, hashing os dados do bloco.
O que é que faz o hashing dos dados do bloco? Significa processar os dados através de um função hash que gera um hash de bloco. Ao ser processado através das funções de hash, um novo bloco recebe o seu código único - uma espécie de impressão digital. Esta “impressão digital” confere uma identidade individual aos dados de entrada do seu bloco.
Não é possível extrair os dados de entrada de um bloco hash. No entanto, se conhecermos uma entrada, podemos saber se o bloco está correto. Para isso, basta processar a entrada através da função de hash e certificar-se de que a saída é exatamente a mesma.
A prova de trabalho exige que o hash de dados corresponda a determinadas condições. Para se certificar de que o hash de dados corresponde às condições, terá de o fazer passar pela função hash. Se, após a verificação, os dados não corresponderem, terá de os corrigir alterando-os um pouco. É importante saber que mesmo uma alteração de um carácter fará uma enorme diferença, pelo que o resultado de saída é totalmente imprevisível.
O resultado final é que a criação de um bloco é uma tarefa que não se pode prever. Tudo se resume a um simples hashing de um número de transacções com outros dados cruciais. O que é sempre necessário é complementar um conjunto de dados constante com um pedaço de dados variáveis. Sem isso, o resultado do hash será sempre inalterado.
A parte dos dados variáveis que mencionámos chama-se nonce. É um número que muda de cada vez, dando-lhe hashes diferentes. O processo em si chama-se mineração.
Afinal, o que é a exploração mineira?
- A exploração mineira é o processo de recolha de dados da cadeia de blocos e de os submeter a um hashing com um nonce, com o objetivo de encontrar um determinado hash. Quando um mineiro encontra um hash que corresponde às condições atribuídas pelo protocolo, ele tem o direito de transmitir novos blocos para a rede. Ao mesmo tempo, a cadeia de blocos é actualizada por outros utilizadores da rede que incluem novos blocos.
As condições que devem ser satisfeitas durante o processo de extração diferem consoante as moedas digitais. Por exemplo, existem moedas com condições extremamente exigentes. Tudo depende da taxa de hash da rede - quanto maior a taxa de hash, mais difícil é encontrar um hash válido. Tudo isto faz parte de um projeto - se as taxas de hash fossem baixas, os mineiros encontrariam moedas muito rapidamente e o seu número estaria a crescer rapidamente.
No entanto, a exploração mineira não é impossível. A ideia é que seja moderadamente difícil. Caso contrário, não faria sentido que outros mineiros se juntassem a nós. A exploração mineira é uma competição. Todos os dias os mineiros competem uns com os outros. O trabalho dos mineiros acaba por ser recompensado, o que aumenta o seu entusiasmo para continuar a mineração.
Como mencionámos anteriormente, a exploração de minas (ou seja, a resolução de um puzzle matemático) requer enormes quantidades de poder computacional. Mas isso não é tudo. Como se sabe, os computadores precisam de eletricidade para funcionar. Isto torna a exploração mineira uma tarefa pesada em termos de custos de eletricidade. Mas há boas notícias - os hashes válidos são recompensados. Isto significa que cada vez que um mineiro encontra um hash válido, recebe uma recompensa de bloco em criptomoeda.
O que é a criptografia de chave pública?
Com todas as informações supracitadas, chegamos às seguintes conclusões:
- A exploração mineira custa dinheiro (hardware de exploração mineira + uma quantidade significativa de energia eléctrica utilizada)
- Os mineiros recebem recompensas por encontrarem blocos válidos
- Com os dados de entrada, um utilizador da cadeia de blocos pode certificar-se de que o bloco é válido sem utilizar demasiada potência da CPU.
Mas o facto é que haverá sempre quem queira seguir o caminho mais fácil. Neste caso, os que querem tentar fazer batota. Será isso possível? Será que uma pessoa pode criar uma série de transacções falsas, juntá-las num só bloco e escapar com a criação de um novo bloco válido? Tecnicamente falando, a resposta é sim. Mas há uma forma de impedir que os maus actores utilizem indevidamente a cadeia de blocos pública para seu próprio benefício.
Para garantir que um utilizador tem o direito de gastar fundos, é utilizado um mecanismo criptográfico especial, denominado criptografia de chave pública. O conceito é o seguinte:
- Ao criar uma transação, o utilizador deve assinar;
- A assinatura é pública e qualquer utilizador tem acesso a ela;
- Outros utilizadores podem comparar a assinatura com a chave pública - se coincidirem, a transação é válida;
- Os utilizadores também podem certificar-se de que o criador de uma transação pode realmente gastar os seus fundos e se a soma de saída é inferior à soma de entrada.
Para mais informações, leia este artigo.
A rede elimina qualquer bloco de transação inválido, o que resulta numa enorme perda monetária. Por isso, fazer batota na rede blockchain é extremamente dispendioso. E esta é a verdadeira ideia por detrás da Prova de Trabalho (e de outros mecanismos de consenso):
- O mecanismo de consenso PoW torna a batota dispendiosa, mas, por outro lado, incentiva-o a agir honestamente, obtendo grandes lucros ao fazê-lo.
O que é uma despesa dupla?
Quando se fala de Prova de Trabalho, há um termo fundamental que deve conhecer. O termo é double-spending.
A gasto duplo é basicamente um fundo que um utilizador tenta gastar mais do que uma vez. Este é um termo comum para as operações com dinheiro digital. A razão é que os fundos digitais não são o mesmo que a moeda fiduciária, ou seja, o dinheiro que existe efetivamente no mundo físico. Afinal de contas, a dada altura, todas as pessoas que lidam com moedas digitais terão de admitir que estas não têm qualquer valor no mundo real. Mas, mais uma vez, por uma série de razões, as criptomoedas tornaram-se grandes nos últimos anos, resultando num boom de criptomoedas e numa infinidade de técnicas de burla. Uma dessas técnicas é o "double-spending".
Vamos ser claros:
- não se pode pagar duas vezes com dinheiro físico, mas PODE-SE (pelo menos tentar) utilizar o mesmo fundo de moeda digital para efetuar transacções em bitcoin (o que é, obviamente, uma fraude).
Imagine a seguinte situação: comprou uma chávena de café e pagou-a em dinheiro. Agora, se quiser outra chávena de café, não poderá pagá-la com a mesma nota de dólar, uma vez que foi aceite por um caixa e bloqueada numa caixa registadora. Também não poderá utilizar essa nota noutra loja, pelo motivo já referido.
Mas com as moedas digitais, é possível fazer esse truque. Uma vez que a moeda digital é apenas um conjunto de zeros e uns (ou seja, dados comprimidos num ficheiro), é possível duplicar esses dados e enviá-los por correio eletrónico a quantas pessoas se quiser. É por isso que é tão importante ter mecanismos que impeçam as pessoas de utilizar os mesmos fundos em sítios diferentes. Sem esses mecanismos, o gasto duplo destrói a moeda.
Para mais informações sobre a dupla despesa, ler este guia.
Prova de Trabalho vs. Prova de Participação
Como dissemos acima, o Proof of Work (PoW) não é o único algoritmo de consenso que existe. Nesta secção do nosso guia, vamos dar uma vista de olhos a um potencial rival do algoritmo Proof of Work - Prova de aposta.
O que é a prova de aposta?
O Proof of Stake é outro mecanismo de consenso popular que permite validar transacções e chegar a um consenso. Mas o PoS utiliza uma abordagem completamente diferente da do PoW. Ao contrário do Proof of Work, o Proof of Stake funciona virtualmente.
Isto significa que, enquanto o PoW requer uma enorme quantidade de poder computacional para executar uma função de custo de CPU (ou para resolver um puzzle de computação), a principal caraterística do PoS é a utilização de validadores. Os validadores bloqueiam uma aposta para impedir a batota. Depois disso, os validadores precisam de decidir qual é o próximo bloco a ser adicionado à cadeia. De seguida, apostam nos blocos escolhidos. Se um bloco aparecer na cadeia, os validadores recebem uma recompensa proporcional à totalidade da aposta.
O PoS é melhor do que o PoW?
A Proof of Stake ainda não foi totalmente integrada em blockchains de criptografia. E um deles para fazer isso primeiro é a rede Ethereum. A comunidade Ethereum está ansiosa por mudar da Prova de Trabalho para a Prova de Participação num futuro próximo. A razão é que a Prova de Trabalho é demasiado pesada no consumo de eletricidade - a função de fixação de preços da CPU requer mais energia de mineração do que a validação de transacções via PoS. E quanto mais mineiros se juntarem aos pools de mineração, mais energia será necessária.
Muitas pessoas em todo o mundo estão preocupadas com estas quantidades de consumo de energia. É por isso que a cadeia de blocos Ethereum pretende utilizar o mecanismo de prova de participação na sua tentativa de encontrar uma solução mais ecológica.
Outro ponto numa competição PoW-vs-PoS é a velocidade (o número de transacções por segundo). Com a Proof of Stake, os utilizadores podem enviar e receber fundos em apenas alguns segundos, em comparação com o processo de Proof of Work, que demora muito mais tempo. A propósito, este último fator também afecta o crescimento das taxas de transação nas redes criptográficas.
E, finalmente, há uma questão de segurança. A Proof of Stake é mais segura do que a Proof of Work? A resposta é sim. Graças ao protocolo CASPER, o PoS é potencialmente mais seguro do que o PoW. Além disso, os ataques de hackers contra sistemas baseados em PoS ficarão mais caros e, portanto, mais raros.
Conclusão
Antigamente, o Proof of Work (PoW) era o mecanismo original para detetar gastos duplos dentro do Bitcoin blockchain. Combinação de criptografia, funções de hash, Com base na teoria dos jogos, o PoW permite uma operação mais segura dentro de uma rede descentralizada, criando um sistema estável baseado em consenso distribuído.
Perguntas frequentes
O que é o protocolo de Prova de Trabalho?
O protocolo PoW é um mecanismo de validação de transacções no sistema descentralizado de criptomoedas. Com o Proof of Work, torna-se impossível fazer double-spending - uma técnica fraudulenta de usar um e o mesmo fundo para várias transacções.
Qual é a diferença entre Proof of Stake e Proof of Work?
Existem duas diferenças principais entre os dois protocolos de consenso mais populares. A primeira diferença é que o Proof of Stake aplica uma abordagem mais eficiente em termos energéticos, enquanto o Proof of Work necessita de grandes quantidades de energia eléctrica para funcionar. A segunda diferença é que o Proof of Stake é potencialmente mais seguro graças ao protocolo CASPER e ao aumento dos custos dos ataques de hackers.
O que quer dizer com um “puzzle matemático”?”
A resolução de um “puzzle matemático” é o processo de extração de criptomoedas. Os mineiros de todo o mundo utilizam equipamento informático dispendioso e consomem muita eletricidade para “minerar” bitcoins (e outras criptomoedas), processando enormes quantidades de dados para criar novas unidades e adicioná-las à cadeia de blocos.
O que é um token PoW?
Um token PoW é uma “moeda” utilizada como forma de pseudo-pagamento numa série de aplicações, como o correio eletrónico. Se um e-mail tiver um token PoW anexado, isso significa que o e-mail não contém spam. Os tokens PoW também são usados para Prova de Trabalho Reutilizável. Assim, tecnicamente falando, os tokens PoW são elementos de um sistema anti-spam.










