O que é a Prova de Trabalho e como funciona?

O que é a Prova de Trabalho?
Proof of Work (PoW) é um algoritmo de consenso utilizado por várias cadeias de blocos para validar transacções e adicionar novos blocos à cadeia de blocos. O exemplo mais conhecido de uma blockchain que o utiliza é a Bitcoin. Esta é a primeira criptomoeda que utiliza o PoW. Mais tarde, foram lançadas novas cadeias de blocos que também utilizam este sistema, incluindo Litecoin, Dogecoin e Ethereum (antes de The Merge em 2022).
O Proof of Work é descentralizado, o que significa que vários participantes independentes ajudam a validar as transacções. Na PoW, isto é feito por mineiros que trabalham 24 horas por dia a resolver fórmulas criptográficas e matemáticas complexas. Chamamos a isto mineração. O primeiro mineiro a encontrar o número correto a partir da fórmula adiciona o bloco à cadeia de blocos e valida as transacções nesse bloco. Quanto mais mineiros estiverem activos na rede, mais descentralizada é a rede e, portanto, menos suscetível de ser manipulada. De facto, uma parte maliciosa teria de controlar mais de 50% do poder de computação da rede para causar qualquer dano.
Um mineiro é um computador que aproveita o seu poder de processamento para a rede. Isto requer muito poder de computação e energia. Por conseguinte, um mineiro recebe uma recompensa por utilizar o seu poder de computação. A recompensa consiste em novas criptomoedas que circulam durante a criação de um novo bloco. O mineiro recebe esta recompensa. O montante da recompensa depende da cadeia de blocos e é reduzido para metade por muitas cadeias de blocos, de vez em quando, para criar escassez. De acordo com os criadores, uma maior adoção e um menor número de novas moedas deverão conduzir a taxas mais elevadas.
Pontos principais
-
A prova de trabalho é um mecanismo de consenso fiável e bem testado que valida as transacções de forma descentralizada e segura através de puzzles criptográficos difíceis de resolver mas fáceis de verificar.
-
Um dos principais inconvenientes é o elevado consumo de energia. Os mineiros utilizam hardware potente e especializado (ASICs), o que suscita preocupações quanto ao impacto ambiental e à sustentabilidade.
-
Os mineiros resolvem puzzles matemáticos complexos. O primeiro a ter sucesso adiciona um bloco e recebe uma recompensa sob a forma de novas criptomoedas, proporcionando um incentivo financeiro para proteger a rede.
-
O conceito de PoW remonta à década de 1990 e foi posteriormente aplicado ao Bitcoin por Satoshi Nakamoto.
-
O PoW é menos escalável do que sistemas alternativos como o Proof of Stake, em parte devido aos longos tempos de bloqueio e ao consumo de energia. Além disso, a predominância de grandes pools de mineração leva a riscos de centralização.
Como é que surgiu a Prova de Trabalho?
O Proof of Work (PoW) foi desenvolvido muito antes da existência do Bitcoin, nomeadamente na década de 1990. Nessa altura, os criptógrafos Cynthia Dwork e Moni Naor desenvolveram um sistema para combater o spam e os ataques de negação de serviço (DoS) na Internet. Eles tiveram a ideia de que um utilizador teria de fornecer uma pequena quantidade de poder de computação antes de poder enviar uma mensagem através da Internet. Isto tornaria o spam maciço mais difícil e dispendioso.
A ideia ganhou forma em 1997 com a introdução do sistema Hashcash por Adam Back. O white paper de Back de 2002, "Hashcash - A Denial of Service Counter-Measure ", descreve que um remetente de uma mensagem deve primeiro efetuar um cálculo que possa ser facilmente verificado pelo recetor.
A partir de 1999, o sistema ganhou realmente um nome, graças a Ari Juels e Markus Jakobsson, que introduziram a terminologia "Proof of Work".
Primeira utilização da prova de trabalho pela tecnologia de cadeia de blocos
Satoshi Nakamoto (o inventor anónimo do Bitcoin) abraçou a ideia de Back e, em 2008, integrou o conceito de Proof of Work na sua própria criação, nomeadamente o protocolo Bitcoin.
O seu livro branco "Bitcoin: A Peer-to-Peer Electronic Cash System " descreve a forma como a Prova de Trabalho pode ser utilizada para a criação de consensos de forma descentralizada, nomeadamente através da utilização de mineiros que fornecem poder de computação. Nakamoto acrescenta a isto, nomeadamente, a emissão de novas moedas digitais durante o processo de extração, que são transaccionáveis através da rede e podem ser utilizadas para efetuar pagamentos. Com isto, Nakamoto introduz um sistema de pagamento seguro e descentralizado, em que o controlo cabe aos utilizadores e não a entidades centralizadas como os bancos. Desde então, tornou-se uma parte fundamental de muitas cadeias de blocos.
Como é que a Prova de Trabalho funciona?
A Prova de Trabalho funciona através do emprego de mineiros (também conhecidos como nodes) em todo o mundo que tentam resolver puzzles criptográficos complexos para validar todas as transacções. O mineiro que encontrar uma solução é autorizado a adicionar um novo bloco à cadeia de blocos e recebe uma recompensa de mineração, paga em novas criptomoedas. Este sistema torna a rede justa, uma vez que todos têm a possibilidade de validar um bloco, desde que disponham de capacidade de computação suficiente.
Segurança do PoW
A Proof of Work (PoW) é segura graças a um princípio assimétrico: a realização de trabalho computacional (o processo de extração) requer muita potência informática, enquanto a verificação desse trabalho é relativamente fácil. Isto faz com que seja difícil para os mineiros maliciosos fazerem batota nos blocos, enquanto é fácil para os outros mineiros verificarem os blocos. Isto porque os outros mineiros apenas precisam de verificar se o mineiro encontrou o hash correto (a resposta correta).
Além disso, um atacante precisaria de mais de 50% do poder de computação total da rede (hashrate) para assumir o controlo da rede. Isto também é conhecido como um ataque de 51%%. Este tipo de ataque torna-se cada vez mais difícil à medida que mais mineiros participam. Além disso, requer hardware muito caro e os custos de energia são enormes. Isto torna-o praticamente impossível numa rede tão grande como a da Bitcoin.
Se uma pessoa mal-intencionada ainda conseguir fazer isso e quiser fazer modificações num bloco da cadeia de blocos, depara-se com o seguinte problema: cada bloco está criptograficamente ligado ao anterior. Se alguém quisesse modificar um bloco antigo, teria de voltar a minerar todos os blocos subsequentes com mais poder de computação do que o resto da rede.
Dificuldade de exploração mineira
A Prova de Trabalho funciona através da resolução de um puzzle criptográfico complexo. A solução é chamada de hash e é um tipo de assinatura digital que consiste num número hexadecimal de 64 dígitos (exemplo: 0000000000000000000a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e).
Como pode ver no exemplo, o hash é composto por números e letras. No sistema, utilize:
-
os dígitos de 0 a 9
-
e as letras a a f (que representam os números 10 a 15)
Este hash contém letras porque o sistema hexadecimal assim o exige. É uma forma eficiente de representar uma longa sequência de bits. Cada carácter hexadecimal representa 4 bits.
Um puzzle é resolvido quando um mineiro encontra um hash suficientemente pequeno de acordo com uma regra predefinida. Quanto mais pequeno for o hash, mais difícil se torna encontrá-lo. Isto é determinado pelo nível de dificuldade (difficulty). Quanto mais participantes, mais difícil é o hash. Desta forma, a rede mantém o controlo sobre o tempo que demora a extrair um novo bloco.
O nível de dificuldade determina quantos zeros devem estar na frente do hash. Por exemplo:
-
Em dificuldade baixa, um hash pode começar com 00af...
-
Na dificuldade mais elevada, um hash deve começar com 000000f1...
Na Bitcoin, o nível de dificuldade é ajustado aproximadamente a cada 14 dias. Satoshi Nakamoto concebeu isto para garantir que novos blocos e, por conseguinte, novos bitcoins, não possam ser extraídos demasiado depressa. O Bitcoin usa o hashing SHA-256, o que significa que cada hash consiste em 256 bits, representados por exatamente 64 caracteres hexadecimais.
Quanto maior for o poder de computação de um mineral, mais fácil será encontrar uma solução. Por conseguinte, é muito mais provável que encontre a solução com hardware sofisticado do que com o poder de computação de um telemóvel.
Encontrar o haxixe certo
É necessário um grande poder de computação para resolver a fórmula e encontrar o hash correto. Como ajuda, os mineiros usam um número extra chamado "nonce". Os próprios mineiros ajustam o nonce de cada vez: de 0, para 1, para 2, e assim por diante. Dígito a dígito, procuram a combinação correta de dados do bloco. Se o hash devolver uma combinação de 64 dígitos que satisfaça os requisitos, o bloco é válido. O nonce é, portanto, uma espécie de número de adivinhação que os mineiros continuam a tentar até encontrarem o hash correto.
Para finalmente minerar um bloco, o minerador deve também calcular o hash do blockheader. Este é uma espécie de resumo dos dados mais importantes de um bloco. Os dados que contém incluem o hash do bloco anterior, o carimbo de data/hora e o nonce.
Além disso, o hash deve ser mais pequeno do que o "alvo". Este é o limite determinado pelo nível de dificuldade.
Um exemplo:
Suponha que o objetivo é: 00000000ffffffffffff...} Então isso significa: o hash do bloco deve ser numericamente inferior a este objetivo. Uma vez que os números hexadecimais começam com números e letras, pode ver isto visualmente como se o hash tivesse de começar com oito zeros ou mais. Quanto mais zeros no início, mais pequeno é o número.
Então:
-
Um hash como 12bfa34d... **é demasiado grande
-
Um hash como 0000a9f2... **ainda é demasiado grande
-
Um hash como 0000000037c4... é suficientemente pequeno
O mineiro continua a tentar até encontrar a combinação correta.
Esta é imediatamente a razão pela qual é necessário tanto poder de computação: vários mineiros estão a trabalhar simultaneamente.
**Que blockchains usam o mecanismo de consenso Proof of Work?
No mundo das criptomoedas, a Prova de Trabalho é um mecanismo de consenso popular utilizado por várias das principais cadeias de blocos.
Bitcoin
O exemplo mais conhecido de uma blockchain de Prova de Trabalho é, obviamente, o Bitcoin. Esta é a primeira blockchain a utilizar esta tecnologia. Nos primeiros dias do Bitcoin, ainda era relativamente fácil minerar novos bitcoins, mas desde a sua grande adoção, tornou-se mais difícil participar na mineração de Bitcoin como um pequeno participante. Ainda é possível, mas as hipóteses de conseguir adicionar um bloco à cadeia de blocos de forma independente tornaram-se muito reduzidas. Isto deve-se ao facto de terem surgido quintas de mineração de Bitcoin em todo o mundo, onde milhares de computadores potentes estão ocupados a minerar bitcoin 24 horas por dia. Em parte devido a isto, surgiram vários pools de mineração dentro da rede: colaborações de mineiros mais pequenos que unem forças para fornecer mais poder de computação.
Graças a estas piscinas e explorações mineiras, há quem diga que a Bitcoin já não é tão descentralizada como inicialmente previsto.
Ethereum
Até 2022, o Ethereum também utilizava a Prova de Trabalho. Em 2021, a atualização para o Ethereum 2.0 exigiu uma mudança para a Prova de Participação, para obter mais escalabilidade e tornar-se mais eficiente em termos energéticos. Isto porque, com um mecanismo de aposta, não é necessário hardware pesado para validar transacções; em vez disso, os participantes apostam os seus tokens como segurança para a rede.
Litecoin
Pouco tempo depois do nascimento da Bitcoin, a Litecoin foi introduzida como uma chamada altcoin. Embora a Litecoin se baseie fortemente na Bitcoin, não é um hard fork direto da cadeia de blocos da Bitcoin, mas sim um fork da base de código da Bitcoin. A intenção era criar um método de pagamento melhor: mais rápido e mais barato do que o Bitcoin. Por exemplo, o tempo de bloqueio do Litecoin é de 2,5 minutos em vez de 10 minutos, o que permite um processamento mais rápido das transacções.
Além disso, a Litecoin utiliza um algoritmo diferente para a extração de novos blocos, nomeadamente o algoritmo Scrypt em vez do SHA-256 da Bitcoin. O Scrypt foi concebido para ser menos suscetível ao domínio dos ASIC e, nos seus primeiros anos, permitia que as pessoas minerassem com computadores normais. Inicialmente, isto tornou-o menos intensivo em termos energéticos, embora hoje em dia também se utilizem ASIC optimizados para o Scrypt.
Dogecoin
A Dogecoin também utiliza a Prova de Trabalho. Em 2013, a criptomoeda foi desenvolvida como uma piada, mas a Dogecoin tornou-se desde então (graças em parte a Elon Musk) uma das maiores criptomoedas. O Dogecoin é tecnicamente muito semelhante ao Litecoin e, portanto, usa o mesmo algoritmo de mineração: Scrypt em vez do algoritmo SHA-256 do Bitcoin. Isto facilita a mineração com hardware mais barato e mais eficiente em termos energéticos.
Bitcoin Cash
A Bitcoin Cash também utiliza a Prova de Trabalho. A Bitcoin Cash foi criada a partir de um hard fork da Bitcoin após desacordos sobre a atualização SegWit. A Bitcoin Cash é muito semelhante à Bitcoin, mas tem um tamanho de bloco maior, o que a torna mais escalável e capaz de processar mais transacções: nomeadamente entre 100 e 200 transacções por segundo (TPS), em comparação com os cerca de 7 TPS da Bitcoin.
Crítica da utilização de energia do Proof of Work
O consumo de energia da Prova de Trabalho tem sido criticado. Isto deve-se ao facto de exigir hardware pesado e especializado, conhecido como ASICs (Application-Specific Integrated Circuits). Estes sistemas consomem enormes quantidades de energia. Em particular, os críticos expressam preocupações sobre o impacto ambiental a longo prazo da PoW e consideram o sistema inadequado em termos de sustentabilidade. Esta é uma das razões pelas quais foram desenvolvidos outros mecanismos de consenso, como o Proof of Stake, o Proof of History e formas híbridas.
Vantagens e desvantagens da Prova de Trabalho
O Proof of Work, especialmente nos primeiros tempos das criptomoedas, foi um dos mecanismos de consenso mais populares e não sem razão. Provou ser revolucionário e tem muitas vantagens. Ao mesmo tempo, existem também desvantagens e questões sobre o futuro do mecanismo. Veja abaixo as principais vantagens e desvantagens:
Considerações finais
A Prova de Trabalho (PoW) é uma das inovações mais importantes no mundo do blockchain e das criptomoedas. O mecanismo do Bitcoin, entre outros, provou na prática ser uma forma altamente segura e transparente de validar transacções sem a intervenção de partes centrais. A força do PoW reside na simplicidade da ideia: puzzles complexos que são difíceis de resolver, mas fáceis de verificar.
No entanto, o PoW também tem desvantagens óbvias. O seu elevado consumo de energia, a dependência de hardware dispendioso e especializado e o domínio crescente de grandes pools de mineração colocam pressão sobre a visão original de descentralização total. Além disso, a sua escalabilidade limitada provoca atrasos e custos elevados em caso de utilização elevada, tornando-a menos adequada para algumas aplicações.
Apesar destas limitações, o PoW continua a ser relevante. Continua a ser a base de algumas das blockchains mais valiosas e influentes do mundo. Ao mesmo tempo, as críticas ao consumo de energia e à centralização estão a impulsionar o desenvolvimento de sistemas alternativos, como o Proof of Stake. É provável que o futuro seja uma mistura de diferentes mecanismos de consenso adaptados às necessidades de redes e aplicações específicas.