1. Algoritmos de mineração de criptomoeda e prova de trabalho

Por Peter Kent

Há muito a considerar quando você começa a minerar criptomoedas. Uma grande parte da mineração envolve consenso. O consenso é o processo de garantir que a cópia de todos os dados da transação corresponda - que cada cópia da blockchain contenha os mesmos dados. Diferentes métodos de consenso podem ser usados ​​para a mineração de criptomoedas, mas atualmente o método principal é conhecido como Prova de trabalho (PoW).

No entanto, esse método possui alternativas menos seguras e confiáveis. À medida que o espaço de criptomoedas e blockchain cresce (está se expandindo rapidamente o tempo todo), é possível que um sistema diferente acabe se tornando o "Quem governa todos eles".

O mais seguro, confiável e com uso intensivo de energia de todos os sistemas de consenso, a Prova de Trabalho tem inegavelmente o melhor histórico. Tendo existido desde o nascimento do Bitcoin, o PoW tem sido fundamental para manter uma cadeia ininterrupta de transações desde janeiro de 2009!

Prova de trabalho é anterior a blockchains de criptomoeda. A Prova de Trabalho foi originalmente desenvolvida como uma idéia para um processo para combater o lixo eletrônico.

O conceito essencial de Prova de trabalho é que, para usar um serviço específico - para enviar um e-mail, por exemplo, ou para adicionar transações a uma blockchain - é preciso mostrar que alguma forma de trabalho foi realizada.

O objetivo é infligir um custo modesto (em termos do poder de computação necessário para executar o algoritmo de Prova de Trabalho) à pessoa que deseja usar o serviço uma vez, mas tornar muito caro alguém usar o serviço milhares ou milhões de vezes. Isso faz com que seja proibitivo atacar ou interromper os sistemas de Prova de Trabalho.

O conceito de usar o PoW como contramedida remonta a 1993 e, desde então, surgiram várias idéias diferentes sobre como usá-lo. No contexto de criptomoedas, a Prova de Trabalho impede que mineradores maliciosos obstruam a rede enviando novos blocos que nunca podem ser verificados. Se nenhum trabalho fosse necessário para enviar um novo bloco, qualquer um poderia repetidamente enviar spam para transações falsas dentro de novos blocos e potencialmente interromper a rede de criptomoedas.

A propósito, a Prova de Trabalho tem um paralelo nas moedas do mundo real. Para que algo funcione como dinheiro, tem que haver uma oferta limitada; portanto, é algo que simplesmente não há muito - ouro, por exemplo - ou precisa ser criado por meio de um processo que exige um esforço significativo.

Que tal conchas do mar, então? Conchas do mar têm sido usadas por várias culturas como dinheiro. Considere o wampum, dinheiro do mar usado pelos nativos americanos no leste do continente até o século XVIII. “Conchas”, você diz, “quanto trabalho é necessário para coletar conchas na praia?” Ah, mas havia mais do que isso.

O Wampum foi feito a partir de conchas muito específicas (búzios canalizados e conchas de quahog ou poquahock), encontradas em uma área muito específica (ao longo de Long Island Sound e Narragansett Bay).

Além disso, você não pode simplesmente pegar um búzio e comprar o jantar com ele. Você teve que trabalhar as conchas. As conchas foram cortadas; por exemplo, foi usada a espiral interna, a columela, do búzio canalizado. Em seguida, as artesãs (principalmente mulheres fazendo wampum) perfuravam as conchas usando brocas de madeira, e as conchas eram polidas em uma pedra de moer até ficarem macias. Eles foram enfiados juntos usando couro de veado ou vários outros materiais. Esse trabalho garantiu que tempo e esforço tivessem que ser colocados na “moeda” para que pudesse adquirir valor.

Outra maneira de olhar para esse conceito não é que o dinheiro está "adquirindo" valor, mas que não pode ser criado sem uma entrada significativa de trabalho, para que o mercado não possa ser inundado com novas versões de baixo custo do dinheiro, desvalorizando-o.

Até os primeiros colonos europeus usavam wampum. Não foi até eles começarem a usar técnicas de fabricação mais avançadas para criar wampum, reduzindo o custo de criação dessa moeda e destruindo a escassez da moeda, que o valor caiu e o wampum não era mais viável como reserva de valor e moeda.

Os mineradores frequentemente têm problemas para entender completamente a ideia de Prova de trabalho e como ela se encaixa quando se envolveram em criptomoedas. Caso algum leitor ainda esteja tentando entender o objetivo do PoW, vamos colocar de outra maneira. O objetivo principal do trabalho que os mineradores (competindo entre si para vencer o concurso Proof of Work) é garantir que não seja fácil adicionar um bloco à blockchain.

Se for muito fácil, o blockchain é vulnerável. Atores ruins podem atacar continuamente o blockchain inundando o sistema com blocos ruins. A idéia da Prova de trabalho é dificultar a adição de um bloco, assim como toda a idéia de trabalhar laboriosamente em conchas no wampum era garantir que a economia do wampum não pudesse ser inundada com wampum barato.

Aplicativos de prova de trabalho

Um algoritmo de Prova de Trabalho força o mineiro a fazer algum trabalho - para usar o poder computacional - antes de enviar um bloco para a blockchain. O algoritmo atua como segurança para uma criptomoeda, tornando as ações indesejadas caras e garantindo que o resultado pretendido (a adição de apenas transações válidas e genuínas à blockchain) sempre ocorra.

Então, qual trabalho deve ser realizado? Essencialmente, o mineiro é obrigado a resolver algum tipo de quebra-cabeça matemático. O quebra-cabeça precisa ser complicado o suficiente para levar algum poder computacional, mas não tão complicado que levará muito tempo para validar e retardar a adição de transações.

O trabalho que está sendo realizado na Prova de Trabalho do Bitcoin está apenas usando o bloco de cabeçalho anterior da transação (junto com um número aleatório, o nonce) na esperança de encontrar um novo hash que atenda ao limite de dificuldade necessário.

Há um outro lado da Prova de trabalho. Encontrar a resposta para o quebra-cabeça deve ser difícil, mas verificar e verificar o trabalho deve ser fácil. Ou seja, depois que o quebra-cabeça foi resolvido, deve ser fácil para outros mineiros verificar se o quebra-cabeça foi resolvido corretamente.

No caso do bitcoin, depois que um mineiro resolve o quebra-cabeça, o novo hash é adicionado ao cabeçalho e o bloco enviado a outros mineradores e nós para confirmar. Embora seja difícil escolher inicialmente um nonce que forneça um bom resultado - um número de hash abaixo do nível-alvo - depois que o nonce for encontrado, é muito rápido e fácil para outros mineradores executar o mesmo cálculo de hash para confirmar que, de fato, o o quebra-cabeça foi resolvido. O trabalho está concluído, e todos podem verificar rapidamente o bloco do mineiro vencedor e assiná-lo.

Observe, a propósito, que as criptomoedas que usam Prova de Trabalho geralmente são as únicas que exigem equipamentos de mineração especializados mais eficientes. Na Prova de Participação, quase qualquer computador pode atuar como criador, verificador e encadernador de novos blocos, desde que tenha uma participação significativa na moeda subjacente.

Exemplos de prova de trabalho

O uso de Prova de trabalho é amplamente adotado no mundo das criptomoedas. A maior e mais bem-sucedida criptomoeda de todas, o Bitcoin o usa junto com uma série de outras criptomoedas populares. Você pode precisar de diferentes equipamentos de mineração para essas criptomoedas, pois cada um possui um algoritmo de hash ligeiramente diferente, mesmo que todos usem Prova de trabalho. Aqui estão alguns exemplos das criptomoedas PoW mais comuns:

  • Atualmente, o Bitcoin é o rei da criptomoeda em termos de taxa de hash da rede (ou seja, o número de hashes sendo processados ​​a cada segundo), liquidez do mercado e, em geral, toda a adoção. Bitcoin nunca foi a principal criptomoeda. O Bitcoin foi pioneiro no Proof of Work e está forte há mais de dez anos, apoiado neste sistema de consenso.

Muitas outras criptomoedas copiaram o código do Bitcoin como ponto de partida e o modificaram ligeiramente para seu próprio uso. A maioria deles manteve o componente Proof of Work, embora eles possam usar um algoritmo de hash diferente que exija uma configuração de plataforma de mineração diferente daquela do Bitcoin. A maior parte do capital no mundo da mineração de criptomoedas é direcionada ao Bitcoin, e as plataformas de mineração usadas são especializadas na pré-formação do algoritmo de hash Sha256 nativo ao consenso do Bitcoin. ASICs específicos para Bitcoin (circuitos integrados específicos de aplicativos) são agora uma grande porcentagem do sistema, e muitos são baseados na China, com os Estados Unidos e a Europa intimamente ligados em segundo lugar.

  • O Ether (na rede Ethereum) é geralmente a segunda criptomoeda mais popular, às vezes a terceira, dependendo do dia. O Ethereum usa seu próprio algoritmo de hash para a Prova de trabalho, chamado Ethash. Não se preocupe muito com o que é o Ethash, pois a equipe de desenvolvimento do Ethereum tem planos controversos de deixar para trás a Prova de trabalho e usar a Prova de participação no futuro. De fato, eles têm uma "bomba" de dificuldade inserida no código Ethereum. À medida que o tempo passa, fica cada vez mais difícil extrair o Ethereum via Prova de Trabalho, o que significa que os mineradores ganham cada vez menos. (Apesar desta bomba, quando o preço da ETH estava em todos os tempos, a mineração de Ether ainda era muito lucrativa.) O Litecoin é geralmente considerado a prata para o status do Bitcoin como "ouro digital". O Litecoin se concentra em pagamentos rápidos (significando tempos de bloqueio mais rápidos) e baixas taxas de transação. Ele usa um algoritmo de hash diferente do Bitcoin, conhecido como mineração de criptografia, portanto, nenhuma mineração cruzada (usando o mesmo equipamento de mineração para várias criptomoedas) é possível entre as duas. Fora isso, porém, em geral, a maneira como o Litecoin funciona é muito comparável ao Bitcoin, pois era essencialmente uma cópia do código. Assim como o Bitcoin, os ASICs foram projetados para explorar especificamente o Litecoin, fornecendo a abordagem mais lucrativa. Monero, uma das criptomoedas mais privadas (anônimas), foi criada para permitir a mineração de CPU ou GPU. Ou seja, você não precisa de equipamento especializado; a comunidade Monero faz questão de manter os ASICs atualizados, atualizando o algoritmo de mineração levemente a cada poucos meses, para que os fabricantes não possam produzir ASICs. É sempre possível criar um ASIC projetado para processar um algoritmo específico com mais eficiência, mas é possível superar as alterações; leva tempo para projetar, produzir e vender um novo ASIC.

Ao mudar para um algoritmo PoW diferente de vez em quando, a Monero supera efetivamente as fabricantes de chips. Isso permite que CPUs e GPUs permaneçam efetivas nesse blockchain. O Monero usa um mecanismo criptográfico muito complexo chamado assinaturas de anel para ocultar os valores das transações associadas aos endereços, dificultando a análise das transações. Isso o diferencia das outras criptomoedas nesta lista, que possuem registros de transações públicas facilmente pesquisáveis ​​na blockchain.

  • O ZCash também é uma criptomoeda mais privada (anônima). Foi construído usando uma cerimônia de configuração confiável, como o ZCash chama, com parâmetros criptográficos públicos divididos entre várias partes confiáveis. (Isso é algo complicado, mas se você quiser ler mais, consulte o site do ZCash). A blockchain ZCash permite o uso de transações criptográficas protegidas (chamadas zk-SNARKs) que são quase impossíveis de rastrear.

No entanto, essas transações protegidas são computacionalmente caras, e muitas carteiras ZCash disponíveis hoje não suportam totalmente esse recurso, ao invés disso, dependem de transações publicamente auditáveis ​​muito semelhantes ao Bitcoin. O mecanismo de prova de trabalho do ZCash é conhecido como No entanto, diferentemente do Bitcoin, no qual toda a recompensa em bloco vai para o mineiro vencedor, o ZCash compartilha a recompensa em bloco; existe uma recompensa de um mineiro, mas também uma recompensa de fundador e de desenvolvedor, para compensar a equipe que criou e mantém a base de código e a blockchain do ZCash.

Parte superior da prova de trabalho

A principal vantagem do Proof of Work é que ele funciona! Nenhum outro sistema para alcançar e manter um consenso tem um registro tão longo e impecável quanto a Prova de trabalho. A teoria dos jogos por trás da Prova de trabalho garante que, se todos os participantes forem racionais e agirem em seus próprios interesses econômicos, o sistema funcionará como pretendido e até agora esse tem sido o caso.

A Prova de Trabalho também evita o spam da rede de mineradores maliciosos. As despesas com energia e equipamentos necessários para realizar o trabalho especializado tornam os ataques proibitivos e insustentáveis.

Outro grande benefício da Prova de trabalho é o equilíbrio de poder. O poder está espalhado por uma ampla gama de mineradores, milhares no caso do Bitcoin. A quantidade de criptomoeda de propriedade de um minerador específico é irrelevante; é o poder da computação que conta

Por outro lado, com os sistemas de prova de estaca, os mineradores apostam em moeda - quanto mais eles possuem, mais poder têm, de modo que o poder sobre o sistema pode se concentrar nas mãos de um pequeno número de apostadores, especialmente para as ofertas iniciais de moedas, também conhecidas como distribuições pré-definidas.

Essa é outra vantagem da maioria das criptomoedas do Proof of Work: distribuição justa. Para encontrar um bloco e obter a recompensa subsequente, um mineiro deve ter fornecido trabalho adequado e suportado a rede de acordo com o conjunto de regras. Isso, de acordo com a teoria dos jogos de criptomoedas, fornece um incentivo importante. Os mecanismos de prova de trabalho, segundo essa teoria, garantem que é muito mais benéfico economicamente trabalhar em prol do consenso do que contra ele.

A teoria dos jogos é um ramo de estudo envolvendo modelos matemáticos que descrevem a provável tomada de decisões por tomadores de decisão racionais em algum tipo de relacionamento. As decisões tomadas por esses tomadores de decisão, ou atores, afetam as decisões e ações de outras pessoas. Assim, dentro da criptomoeda, o objetivo é incentivar todos os atores a tomar decisões que resultem em uma rede estável e confiável.

Desvantagens da prova de trabalho

Uma grande desvantagem da Prova de trabalho são os recursos necessários para executar o trabalho.

A rede Bitcoin, que possui o maior número de mineradoras, usa pelo menos a mesma quantidade de eletricidade que o país da Eslovênia. Algumas estimativas mais rigorosas colocam o dobro disso ou comparável à quantidade usada pela Irlanda.

Outra desvantagem é que, com o tempo, a mineração sob Prova de Trabalho também pode se tornar centralizada. O custo de instalação para uma operação de mineração não é insignificante. Aqueles que já possuem um data center e operações de mineração em andamento estão em uma posição muito melhor para adicionar plataformas. Com um custo mais baixo por plataforma de mineração, com o tempo, aqueles que foram os primeiros a impulsionar competem mais tarde com os participantes, e a centralização pode ocorrer.

Relacionado a essa centralização está o potencial de ataques de 51%, uma grande preocupação para quem extrai uma criptomoeda de Prova de Trabalho. Um ataque de 51% pode ocorrer quando uma única entidade obtém controle sobre 51% (ou mais) do poder total de hash ativo.

Nesse cenário, torna-se possível para esse controlador de hash majoritário modificar o registro de blockchain de uma criptomoeda, destruindo a confiança fundamental para sua existência. É por esse motivo que a descentralização de mineradores é promovida e incentivada no reino das criptomoedas.

Uma desvantagem final da Prova de trabalho são os cálculos desperdiçados que toda a prova de trabalho exige! Embora a possibilidade de ataques de negação de serviço tornar uma criptomoeda inutilizável seja muito real e, portanto, o mecanismo de Prova de Trabalho proteja o blockchain, a busca por um nonce não oferece benefícios econômicos, sociais ou científicos a ninguém fora do ecossistema da criptomoeda.

Em outras palavras, depois que milhares de mineiros jogaram o jogo e um resolveu o quebra-cabeça e adicionou um bloco à cadeia, não há valor residual para todo esse poder computacional; pode-se argumentar que o poder foi desperdiçado em um jogo sem sentido.

A história resumida é que a Prova de Trabalho é a maneira mais comprovada pelas mineradoras de manter operacional um sistema de criptomoeda ponto a ponto. Embora existam realmente áreas para melhorias de eficiência, nenhuma outra solução pode oferecer os mesmos benefícios de segurança sem diferentes compensações econômicas, de consenso e de engenharia da computação e, por isso, a Prova de Trabalho permanecerá amplamente utilizada.