Prova de trabalho explicada

Este site é traduzido automaticamente. Abra o site no idioma original.
Apr 20, 2020 3
Prova de trabalho explicada

Os algoritmos de consenso são uma parte inerente de todas as tecnologias baseadas em blockchain, pois não há nenhuma unidade de autoridade que valide as transações da rede. Os algoritmos de consenso estão aqui para fornecer o funcionamento descentralizado à prova de problemas da rede. Não podemos subestimar a importância do algoritmo de consenso aplicado a cada projeto específico baseado em blockchain. O Bitcoin está utilizando o Proof of Work, que também é um algoritmo de consenso original para a blockchain Ethereum. As pessoas debatem se vale a pena usar esse algoritmo de consenso ou se é melhor usar outras opções.

A História Antiga da Prova de Trabalho

O primeiro exemplo do algoritmo próximo à Prova de trabalho foi introduzido em 1993 por Cynthia Dward e Moni Naor, que criaram uma solução anti-spam no artigo científico chamado "Em funções vinculadas à memória para combater o spam" . O método descrito neste documento supõe que o remetente desconhecido da mensagem seja necessário para gastar algum tempo da energia da CPU (por exemplo, 10 segundos) para provar que o remetente não é um remetente de spam.

De acordo com Dward e Naor, os remetentes de spam que gastam 10 segundos de tempo de CPU poderiam enviar apenas até 8 mil mensagens de spam por dia, em vez de um número ilimitado de mensagens de spam que eles são capazes de enviar hoje. Não é difícil verificar uma função por trás da prova de trabalho, mas calculá-la é uma verdadeira dor de cabeça para os remetentes de spam.

O termo Prova de Trabalho foi cunhado em 1999. Surgiu no artigo chamado "Provas de trabalho e protocolos de pudim de pão" (os autores Markus Jakobsson e Ari Juels). A própria noção de Prova de trabalho supõe que o "provador" deve fornecer ao "verificador" as evidências do trabalho necessário no computador, realizado no lapso de tempo designado. O conceito parecia ser bastante interessante, no entanto, não foi trazido à vida até a criação do Bitcoin, que depende fortemente de Prova de Trabalho, a fim de criar uma rede governada por consenso distribuído sem confiança envolvida.

Bitcoin e Prova de Trabalho

Uma prova de trabalho é um algoritmo de consenso que exige um processo caro e demorado de produção de um dado, cuja correção pode ser verificada sem esforço. O sistema de prova de trabalho Hashcash foi criado como salvação dos bots de spam, mas acabou sendo um grampo da rede Bitcoin.

Enquanto as pessoas enviam moedas umas para as outras, o razão reflete essas informações na forma de blocos de transações. A validação dessas transações requer a participação de alguns trabalhadores ou trabalhadores que realizam mineração.

As pessoas ansiosas para validar transações (conhecidas como "mineradoras") precisam executar o procedimento de prova de trabalho para atingir seu objetivo. Um trabalhador é um nó. A dificuldade deste trabalho (tarefas) é flexível, portanto o novo bloco deve ser gerado a cada 10 minutos. Como o número de mineradores é incrivelmente grande e o lapso de tempo de 10 minutos é relativamente curto, é extremamente difícil prever qual trabalhador (mineiro) será quem gerará um novo bloco (verificar todas as transações no bloco).

O Mecanismo de Prova de Trabalho

Para gerar um novo bloco, o minerador deve fornecer o hash correto para o bloco de transações. Para fazer isso, o minerador deve descobrir a função nonce e hash, em que um nonce é um número aleatório usado apenas uma vez (a rede Bitcoin usa números inteiros entre zero e 4.294.967.296 como nonce) e hash é uma cadeia de 64 símbolos (uma mistura de dígitos e letras) contendo os dados criptografados.

Os blocos no blockchain têm hashes individuais (esse hash é chamado de "id"). Todo hash é criado como resultado da verificação bem-sucedida do bloco. Para verificar o próximo bloco, o minerador adiciona o hash mais recente ao bloco atual, criando um enorme bloco de texto. Em seguida, um nonce (um número aleatório) é adicionado ao final do bloco de texto. Este texto consiste no hash do bloco anterior, nas novas transações aguardando verificação e no nonce. É aí que o cálculo começa. Durante os cálculos, o trabalhador altera o número aleatório até o momento em que o número correto de zeros na frente de uma sequência é definido.

A dificuldade desta tarefa não deve ser subestimada. Como mencionado anteriormente, a dificuldade é definida no nível em que, independentemente do número de mineradores e da potência de seus equipamentos, cada problema é resolvido apenas uma vez a cada 10 minutos. Para fazer isso, o computador precisa gerar milhões de hashes possíveis a cada segundo.

Para verificar se algum nó executou o trabalho necessário corretamente, o nó precisará de uma sequência que apareceu como resultado da validação e de um número diferente. A aplicação da função nesses dois valores fornecerá o número de zeros na frente da string. Caso esse número esteja correto, o trabalho foi bem feito. Se alguém tiver más intenções e tentar adicionar alguns dados inválidos à cadeia, isso será interrompido pelos outros participantes da mineração. Ao longo da escala de 10 anos, esse esquema protegeu com sucesso o blockchain Bitcoin. O que torna o algoritmo SHA-256 especial é que ninguém pode alterar nem mesmo um único pedaço de informação no bloco. É por isso que esse livro é chamado imutável.

Contras da prova de trabalho

Não podemos concordar que o incrível consumo de eletricidade exigido pelo PoW seja apenas um desperdício de recursos (muitos oponentes do PoW fazem tais alegações), como já explicamos que esse algoritmo de consenso é altamente eficaz quando se trata de proteger o blockchain. Não obstante, não podemos ignorar o fato de que a Prova de Trabalho gasta quantias gigantescas de energia para adivinhar o número de zeros ao validar transações. Atualmente, a rede Bitcoin consome três vezes menos energia que o sistema monetário tradicional , mas se imaginarmos que o Bitcoin obtém adoção em massa, o consumo de energia aumentará drasticamente. De qualquer forma, o Bitcoin não está substituindo os bancos tradicionais, então o consumo aumenta graças ao Bitcoin.

O outro problema é que os indivíduos que usam seus dispositivos CPU, GPU ou ASIC para mineração têm poucas chances de encontrar um novo bloco e receber uma recompensa, pois precisam competir com os pools de mineração que utilizam dezenas de milhares de dispositivos para minerar. Cerca de metade da mineração ocorre no grupo relativamente pequeno de piscinas de mineração. Existe o risco de que, se os proprietários desses pools decidirem unir e governar o blockchain do Bitcoin usando seu poder de hash, eles possam fazer isso. Uma autoridade com mais de 50% do poder de hash pode realmente governar o blockchain. Tais invasões são conhecidas como ataque de 51%.

Outro fato notável é que 70% da energia de hash é proveniente da China porque este país possui eletricidade barata. Dá a este país uma vantagem na mineração de Bitcoin e diminui o nível de descentralização.

Conclusão

Prova de trabalho, na verdade, consegue proteger a rede de maus atores, embora o custo desse algoritmo de consenso nos faça pensar em outras maneiras possíveis de validar transações e manter a rede funcionando corretamente e sem problemas. Não é de admirar que já existam vários outros algoritmos de consenso aplicados a diferentes projetos de blockchain. O concorrente mais destacado da PoW é a Prova de Participação.

 



Ainda não há comentário. Seja o primeiro!