O protocolo de Prova de Trabalho é o protocolo de consenso mais conhecido e mais antigo que consiste nas partes de uma rede que executam com sucesso um trabalho computacionalmente caro para aceder aos recursos dessa rede.

O protocolo Prova de Trabalho ajuda-nos a evitar certos comportamentos indesejados numa rede. O seu nome vem do inglês Proof of Work (PoW) . Este protocolo trabalha sob o conceito de exigir um trabalho do cliente, que é então verificado pela rede . Normalmente, o trabalho solicitado consiste em realizar complexas operações computacionais.

Estas operações são então verificadas pela rede. Depois de aprovadas, o cliente recebe acesso para usar os recursos da mesma. Com isto, procura-se impedir que clientes mal-intencionados consumam todos os recursos de forma não controlada . Uma situação que pode acabar negando o serviço fornecido a outros clientes da rede.

Um exemplo muito simples de entender é o famoso captcha que é colocado quando deseja efetuar um registo num site. A web define esse desafio que o visitante precisa solucionar. Se resolver, terá acesso ao serviço. Isso impede que um invasor crie milhões de registos e, assim, oculte a página da web. No entanto, o desafio na comunicação entre computadores não pode ser tão complexo. Deve ser solvente, embora com relativa complexidade.

A principal característica desta estratégia é a sua assimetria. O trabalho do cliente é moderadamente difícil de executar, mas a verificação da rede é direta. Isso significa que a prova do trabalho leva muito tempo para produzir e é computacionalmente cara. Mas verificar é simples, pois o teste cria padrões que facilitam a verificação.

Foi precisamente esta característica que chamou a atenção de Satoshi Nakamoto ao projetar o Bitcoin. Por isso, ele implementou o sistema HashCash (um sistema PoW) na sua criptomoeda.

Algoritmos PoW - Um pouco de história

Em 1992, a penetração da Internet já era bastante importante. Com a sua chegada, o uso de e-mails começou-se a espalhar. Mas essa situação positiva trouxe novos problemas. Os sistemas de e-mail sofreram repetidamente ataques de Spam . Esses ataques geralmente desabilitam os servidores e deixam muitas pessoas sem serviços. Era necessária uma solução para esse problema.

Em 1993, acadêmicos Cynthia Dwork y Moni naorEles reconheceram o problema e tentaram resolvê-lo. A partir daí, o julgamento teve origem "Preços por processamento ou combate ao spam". Em que eles apresentaram maneiras de impedir que os remetentes de spam enviem mensagens em massa.

A ideia apresentada foi incluir um custo computacional para poder usar serviços de email. Para fazer isso, Dwork e Naor projetaram uma série de testes que exigiam trabalho com custos computacionais . Entre elas; o cálculo de algumas raízes quadradas ou o uso intensivo de funções de hash. Depois de concluído o trabalho, o usuário teve que adicionar as informações ao email para serem verificadas. Se correto, o email é enviado; caso contrário, o email é rejeitado. Este sistema simples desencorajou os spammers de continuarem os seus ataques . Mas ainda levaria algum tempo até que o sistema pudesse ser totalmente implementado.

A criação do HashCash

Mais tarde, em 1997, veio à tona o protocolo HashCash criado pelo criptonarquista Adam Back. Como no ensaio anterior, o termo Prova de Trabalho nunca foi usado no anúncio HashCash. Back, porém, usou um termo muito importante na tecnologia blockchain, o de "Proteção de duplos gastos " , que David Chaum já havia adiantado nos seus trabalhos anteriores.

Com o HashCash, Back pretendia reduzir o spam massivo. A ideia era impor um custo não monetário na entrega de cada email. Um custo que estaria associado ao cálculo de problemas usando o computador. O princípio é simples: o problema foi calculado, anexado às informações de email e enviado. O servidor recebe o e-mail, verifica as informações e aceita ou rejeita conforme se passou no teste.

Mas o custo computacional também teve um custo real. A despesa em eletricidade causada pelo cálculo intensivo foi de um centavo de dólar por cada correspondência enviada. Quem envia alguns e-mails por dia não nota nada, mas um spammer sim. Enviar milhões de e-mails aumentaria bastante a conta de energia elétrica dessa pessoa. Desta forma, os spammers são desencorajados a realizar as suas atividades maliciosas.

Cunhagem do termo Prova de Trabalho

Foi finalmente em 1999, quando Markus Jakobsson y Ari Juels eles escreveram um documento intitulado "Protocolos de Prova de Trabalho e Pudim de Pão". E assim o termo foi cunhado "Teste de trabalho". Jakobsson e Juels afirmam que um sistema de prova de trabalho é:

Este é um protocolo no qual um comprovante demonstra a um verificador que ele gastou um certo nível de esforço computacional num intervalo de tempo específico. Embora não definido como tal ou discutido formalmente, a prova do trabalho foi proposta como um mecanismo para vários objetivos de segurança, incluindo a medição do acesso ao servidor, a criação de cápsulas de tempo digitais e a proteção contra o envio de correio não desejado e outros ataques de negação de serviço.

Markus Jakobsson e Ari Juels
Protocolos de Prova de Trabalho e Pudim de Pão (1999) - Página 2

Além disso, este trabalho aprofunda a capacidade das Provas de Trabalho de adicionar camadas de segurança. As quais servem para garantir serviços críticos onde a segurança é muito importante.

Prova de trabalho chega ao Bitcoin

Satoshi Nakamoto publicou o documento técnico do Bitcoin em 31 de outubro de 2008. Nele, Nakamoto estava claro que a prova do trabalho era um elemento-chave do protocolo Bitcoin. No resumo do whitepaper do Bitcoin Podemos ler o seguinte:

Propomos uma solução para o problema dos gastos duplos usando uma rede ponto a ponto. A rede regista o tempo das transações agrupando-as numa cadeia de prova de trabalho baseada em hash, formando um registo que não pode ser alterado sem refazer a prova de trabalho.
Satoshi Nakamoto

Bitcoin: A Peer-to-Peer Electronic Cash System (2008) - Abstract

Desta forma, Nakamoto fez uso do trabalho de Adam Back, já que o Bitcoin usa o protocolo HashCash. Com isto, acabou por revolucionar o mundo, apresentando uma tecnologia completamente inovadora, a blockchain . Esta tecnologia que lhe permitiu criar a sua famosa criptomoeda e que evolui até hoje.

Usando o protocolo de Prova de Trabalho, com cada novo bloco criado deve resolver um quebra-cabeças matemático, que só pode ser resolvido por tentativa e erro. Estes quebra-cabeças são resolvidos pelos mineradores, através de milhões de tentativas. A solução do enigma resultará na criação do bloco, na confirmação das transações envolvidas nesse bloco e na geração de novos bitcoins que o minerador receberá como recompensa, juntamente com as comissões implícitas em cada uma das transações.

O problema matemático é encontrar os parâmetros que dão um determinado resultado. O aspecto especial desse resultado é que ele é um hash; portanto, é impossível obter os parâmetros iniciais do hash, eles unicamente podem ser gerados por tentativa e erro.

Como funciona o protocolo PoW?

A Prova de Trabalho funciona de forma bastante simples. De facto, o processo realizado pode ser dividido nas seguintes etapas principais:

  1. Etapa 1: O cliente ou estabelece uma conexão com a rede. Neste ponto, a rede atribui uma tarefa computacionalmente cara. Esta tarefa deve ser resolvida para receber um incentivo económico.
  2. Etapa 2: A solução do enigma começa. Isto envolve o uso de muita capacidade de computação para resolver o quebra-cabeças entregue. Este processo dá pelo nome de mineração.
  3. Etapa 3: Uma vez resolvida a tarefa computacional, o cliente partilha a mesma com a rede para a sua verificação. Neste ponto, é rapidamente verificado se a tarefa atende aos requisitos. Esta etapa fornece acesso aos recursos de rede. Caso contrário, o acesso e a solução apresentada do problema serão rejeitados. É neste ponto que é realizada a verificação da proteção contra duplos gastos. Proteção que impede que uma tarefa já atribuída e verificada pela rede ocorra mais de uma vez.
  4. Etapa 4: Com a confirmação de que a tarefa foi concluída, o cliente acede aos recursos da rede. Graças a isto, você obtém lucro pelo trabalho computacional realizado.

São estas quatro etapas que permitem o modelo e funcionamento da Prova de Trabalho. A facilidade deste modelo permite que seja transferido para diferentes softwares para aproveitar o seu potencial. Mas é nas blockchains que observamos uma maior utilidade, oferecendo níveis excepcionais de segurança, apesar da baixa complexidade do protocolo. E, ao mesmo tempo, permitindo que milhões de pessoas participem simultaneamente na rede.

Quanto você sabe, cryptonuta?

A adoção da Prova de trabalho entre criptomoedas responde ao alto nível de segurança que ela oferece?

VERDADEIRO!

Apesar do fato de Satoshi Nakamoto ter usado PoW no Bitcoin, o uso desse protocolo na grande maioria das criptomoedas responde mais ao alto nível de segurança que oferece. Os algoritmos de Prova de Trabalho foram bem testados, possuem menos erros e vulnerabilidades desconhecidas e, à medida que a rede cresce, sua segurança é consolidada. Essas são as reais razões pelas quais o PoW é considerado um dos protocolos de consenso mundial de criptografia.

Características do protocolo PoW

  1. É um protocolo muito seguro. A Prova de Trabalho garante altos níveis de segurança, se a rede consistir em milhares de mineradores. De facto, quanto mais mineradores, mais segura é a rede. Isto torna-se ideal para o uso na formação de grandes redes distribuídas.
  2. É simples e muito fácil de implementar algoritmicamente. Uma das principais vantagens do PoW é que é muito fácil de implementar. Este recurso traduz-se na fácil manutenção do software que faz uso dele. Além de permitir auditorias de uma forma muito mais simples, a fim de manter a segurança da rede.
  3. Facilmente adaptável às necessidades de hardware, capaz de projetar resistência a determinados equipamentos (ASIC, GPU, FPGA, CPU) Outra vantagem do protocolo é a sua adaptabilidade à tecnologia. Pode ser facilitado ou dificultado, para adaptá-lo aos avanços tecnológicos. Permitindo que a evolução do hardware não deixe para trás a dificuldade da mineração. Que por fim, termina centralizando o poder de mineração naqueles que possuem hardware mais novo e mais poderoso.
  4. Excelente resistência a Ataques de Negação de Serviço. O principal motivo para a criação de protocolos PoW foi; evitar negação de serviços. Uma tarefa que é perfeitamente realizada e que melhorou bastante os esquemas de protocolo atuais.
  5. O sistema consome uma grande quantidade de energia elétrica. O trabalho computacional intensivo do PoW requer grandes quantidades de energia elétrica. As estimativas indicam que o consumo é de 24 Terawatts de energia por ano e continuará a aumentar à medida que mais energia for necessária para realizar este trabalho intensivo.