O Conceito de Prova de Trabalho

A Pesquisa

Talvez o aspecto menos intuitivo da rede Bitcoin seja o conceito de prova de trabalho que ela utiliza para definir o requisito para a geração de um novo conjunto de transações (“bloco”) a ser adicionado ao banco de dados de transações distribuídas (“cadeia de blocos” ). Este conceito, que surgiu a partir de ideias do início do movimento cypherpunk[1], é novo na teoria monetária e também parece um pouco deslocado na ciência da computação. Mostrarei que a biologia nos dá a estrutura mais adequada para compreendê-la.

Todos os blocos da cadeia de blocos do Bitcoin possuem uma pequena sequência de dados sem sentido – chamada nonce – anexada a eles. Os computadores de mineração são obrigados a procurar a string correta e sem sentido, de modo que o bloco como um todo satisfaça uma certa condição arbitrária. Especificamente, é necessário que o hash SHA-256 do bloco tenha um certo número de zeros à esquerda.[%2] Hashes são funções unilaterais, portanto, não há uma maneira fácil de encontrar o nonce correto ou de outra forma de projetar um bloco estar correto. A única maneira conhecida de encontrar um bom nonce é simplesmente tentar aleatoriamente até que um funcione. A Khan Academy fornece uma explicação visual da prova de trabalho:

O procedimento, lembre-se, é totalmente arbitrário. É simplesmente uma complicação adicional, como um ritual, para tornar os blocos mais difíceis de gerar. Na verdade, qualquer outra coisa serviria, desde que fosse computacionalmente difícil. Outras criptomoedas usam outros algoritmos de hash. Não existe nenhuma condição especial na teoria dos números que apenas alguém como Shinichi Mochizuki possa entender.

Embora o objetivo dos computadores de mineração seja fazer a contabilidade da cadeia de blocos, a maior parte do trabalho que eles realmente fazem é procurar bons nonces, em vez de qualquer coisa relacionada à contabilidade. A energia usada para encontrar os nonces é perdida para sempre. A energia não “garante” o valor dos bitcoins da mesma forma que o ouro respalda uma nota bancária honesta, como alguns supuseram. Do vasto poder computacional utilizado na mineração de bitcoins, quase uma pequena fração é aparentemente inútil.

Quando uma pessoa atualiza seu computador de mineração, ela minera mais rapidamente e, portanto, ganha mais bitcoins. Porém, quando todos se atualizam, a mineração não se torna mais eficiente como um todo. Supõe-se que haja apenas um novo bloco a cada dez minutos, independentemente do nível de funcionamento da rede. Em vez disso, a rede atualiza a dificuldade para exigir condições mais rigorosas para blocos futuros. Todos os mineradores podem trabalhar mais, mas nenhum está em melhor situação. É mais ou menos como uma floresta, em que cada árvore tenta crescer o mais alto possível para captar mais luz do que as suas companheiras, com o resultado final de que a maior parte da energia solar é utilizada para fazer crescer troncos longos e mortos.

Por que amarrar cada bloco de bitcoin a um difícil leito de Procusto? A maneira correta de pensar sobre o conceito de prova de trabalho é como um meio para um grupo de pessoas com interesses próprios, nenhuma das quais subordinada a outra, estabelecer um consenso contra um incentivo considerável para resistir a ele. O Bitcoin poderia funcionar perfeitamente bem sem prova de trabalho, desde que todos fossem perfeitamente honestos e altruístas. Se não o forem, será difícil chegar a um consenso.

Antes de um novo bloco ser gerado, pode haver muitos pagamentos circulando pela rede e ainda não há uma resposta objetiva sobre quais pagamentos devem ser realizados. Alguns podem ser inválidos, portanto todos precisam ser verificados. Alguns podem não incluir nenhuma taxa de transação, portanto, também deve haver uma decisão sobre se deve ser gentil e permitir que esses caronas passem ou se deve ignorá-los. Finalmente, pode haver um conjunto de dois ou mais pagamentos de modo que nem todos possam ser válidos simultaneamente, mas certos subconjuntos dele são válidos. Por exemplo, uma carteira pode tentar gastar os mesmos bitcoins duas vezes ao mesmo tempo. Nesse caso, existe uma escolha arbitrária sobre quais pagamentos permitir.

Assim, para um dado conjunto de pagamentos, podem existir muitos blocos possíveis que podem ser construídos a partir deles, nenhum dos quais é objectivamente o mais correcto. Não haverá necessariamente qualquer acordo sobre qual o resultado preferível porque diferentes blocos possíveis terão benefícios diferentes para pessoas diferentes. Existe, em primeiro lugar, a recompensa que advém da geração de um bloco de um conjunto de novos bitcoins. Isto é necessário porque sem ele haveria pouco incentivo para alguém fazer a contabilidade; mas com uma recompensa disponível, cada minerador naturalmente preferiria que o novo bloco fosse sua proposta e não de qualquer outra pessoa.

Existem outras complicações mais sutis, mesmo sem considerar a recompensa. Um mineiro pode recusar-se a validar transações provenientes do seu inimigo, ou pode ser mais ou menos altruísta quanto aos tipos de taxas que aceitará. Ele pode até querer enganar outra pessoa através de gastos duplos: neste cenário, ele enviaria um pagamento a uma vítima em troca de um bem, mas apenas validaria um segundo pagamento conflitante que fez ao mesmo tempo para outra carteira que ele também possui. Isto tornaria o seu primeiro pagamento inválido e, portanto, ele acabaria com um bem pelo qual não pagou.

Com tantas razões para querer manipular a cadeia de blocos para os seus próprios fins, os mineiros podem muito bem concordar em abstrato sobre a necessidade de um consenso, sem nunca chegarem a acordo sobre qualquer proposta concreta. A solução do Bitcoin é adicionar requisitos extras ao protocolo, o que aumenta muito o custo da deserção. Se os blocos forem gerados aleatoriamente por um cálculo difícil, haverá apenas um novo bloco proposto por vez. Uma vez proposto um novo bloco, os mineiros têm a opção de continuar a procurar uma alternativa mais favorável para si ou aceitar a nova proposta e procurar a próxima. Todo mundo que aceita o último bloco entende que está seguindo um consenso natural e que, se tiver a sorte de gerar o próximo bloco, provavelmente será aceito pelos mesmos motivos que aceitou o anterior. Por outro lado, segurar para tentar produzir um bloco mais favorável é muito arriscado porque ele teria que convencer o resto dos mineiros o suficiente para apoiá-lo de que ele pode estabelecer um novo consenso.

A regra geral é que o primeiro bloco extraído não é de interesse próprio porque ninguém pode planejar ser o primeiro. Só se pode ser o primeiro por sorte. Quaisquer resistências são suspeitas porque, para gerá-las, o mineiro teve de fazer a escolha de rejeitar uma alternativa perfeitamente boa e presumivelmente altruísta. Não é uma coisa fácil de fazer.[3]

O Princípio da Deficiência

Existe uma ideia da biologia chamada Princípio do Handicap que esclarece esse processo.[4] Diz que quando dois animais têm um incentivo para cooperar, devem comunicar boas intenções um ao outro de uma forma credível. Para tornar a mentira implausível, o sinal deve impor um custo ao sinalizador que tornaria muito caro trapacear. Em outras palavras, o próprio sinal deve ser uma desvantagem.

Isto pode ser entendido em termos do Dilema dos Prisioneiros, uma ideia famosa da teoria dos jogos que tem aplicações a uma enorme gama de fenómenos. O Dilema do Prisioneiro tem dois jogadores, cada um com duas opções: cooperar ou desertar. Normalmente, o jogo é explicado em termos de uma história sobre dois prisioneiros em que cada um tem a opção de ficar em silêncio ou delatar o outro. As características essenciais do Dilema dos Prisioneiros são que é melhor que cada jogador opte por desertar, independentemente da escolha do outro jogador, e que o maior benefício vai para aquele que deserta quando o outro coopera. Os jogadores podem estar em melhor situação se ambos cooperarem em vez de desertarem, mas como não têm forma de garantir a cooperação, ambos optarão por desertar.

O Princípio do Handicap resolve o problema do Dilema dos Prisioneiros, permitindo uma etapa anterior do jogo em que cada jogador tem a opção de fazer algo que remova de forma convincente o benefício da deserção em detrimento da cooperação. É difícil pensar em como fazer o Princípio da Deficiência funcionar com a história dos dois prisioneiros, mas suponha que eles tenham um momento juntos com o promotor e um dos prisioneiros com uma compreensão particularmente boa da teoria dos jogos diga ao promotor: ” Se o outro prisioneiro for culpado, então eu sou igualmente culpado.” Esta afirmação representa um claro custo para si mesmo porque elimina a sua capacidade de desertar quando o outro prisioneiro coopera. O outro prisioneiro tem então a opção de repetir a declaração. Se não o fizer, então ele sabe que a única opção viável do primeiro prisioneiro é desertar, mas se o fizer, então pode-se esperar que ambos os prisioneiros cooperem. Este é o Princípio do Handicap.

O Princípio do Handicap tem sido aplicado com sucesso a uma ampla gama de fenômenos biológicos. Para dar um exemplo concreto, suponha que uma presa perceba um predador a persegui-la. Ambos os animais beneficiariam se a presa pudesse comunicar ao predador que já não está inconsciente: o predador não quereria continuar a caçar se tivesse perdido o elemento surpresa e a presa não fosse caçada. No entanto, a presa pode começar a dizer aleatoriamente: “Estou vendo você!” mesmo quando não vê nenhum predador, apenas para dissuadir qualquer um que possa estar lá. Enquanto a presa estiver mentindo, o predador não pode interpretar seu sinal pelo valor nominal e deve ignorá-lo.[5].

Dentro de uma espécie, o princípio da desvantagem explica muito sobre como os animais competem entre si e interagem com os seus parceiros. Por exemplo, entre os cervos, os cervos com os chifres maiores são os espécimes mais fortes e melhores, porque qualquer cervo menor que tentasse criar chifres maiores arriscaria seriamente usar mais energia e nutrientes neles do que eles podem suportar. Assim, os dólares de segunda categoria acabam com chifres de segunda categoria e os dólares de terceira categoria acabam com chifres de terceira categoria, e assim por diante.

Numa espécie social, o princípio da desvantagem explica muito sobre a ética e o altruísmo. Assim como os membros de uma espécie podem diferenciar-se em força e saúde com uma desvantagem como chifres ou galhadas, os membros de uma espécie social podem usar o altruísmo como uma desvantagem para se distinguirem uns aos outros. Por exemplo, o Princípio da Deficiência descreve um pássaro social chamado Babbler Árabe que compete pelo altruísmo. As aves mais poderosas e dominantes demonstram a sua superioridade passando algum tempo de guarda para o resto do bando e alimentando os filhotes e as aves de posição inferior. Os tagarelas não gostam de ser alimentados por outros tagarelas de categoria semelhante porque não gostam de se sentir inferiores. O Princípio da Handicap descreve até mesmo uma observação em que um pássaro alimentou outro pássaro com uma minhoca, apenas para que o mesmo verme fosse forçado de volta para sua própria garganta![7]

A prova de trabalho não deve, portanto, ser vista como um sistema misterioso ou dispendioso, mas como algo funcional, natural e potencialmente valioso para o design de qualquer protocolo de comunicação. Se um sistema distribuído de computadores pertence a uma pessoa, ela pode presumir que todos cooperarão porque ela controla o comportamento delas. Quando este não é o caso, há uma necessidade real de diferentes computadores provarem que estão trabalhando para o mesmo objetivo. A universalidade do Princípio da Handicap em biologia deveria ser suficiente para fazer suspeitar que um protocolo que não impõe custos aos seus utilizadores é um convite ao abuso. É interessante pensar em quantos problemas com a Internet podem ser atribuídos à falta de consideração deste princípio. Se a prova de trabalho tivesse sido compreendida quando o e-mail foi inventado, talvez nunca tivesse havido um problema de spam. Se o protocolo da Internet pudesse exigir prova de trabalho para solicitações de clientes, talvez não precisássemos nos preocupar com ataques de negação de serviço distribuída (DDOS).[8]

O sistema de prova de trabalho do Bitcoin pode ser comparado tanto aos chifres quanto ao altruísmo. A capacidade de gerar blocos é uma demonstração de força computacional, que é exatamente o que a rede Bitcoin precisa para ajudar a verificar todas as transações. Mas é também uma demonstração de espírito comunitário porque, ao concordarem em participar no concurso para o próximo bloco, mostram-se dispostos a respeitar os interesses da comunidade em vez de manipular a cadeia de blocos para fins de interesse próprio. Este é exatamente o tipo de coisa que se deve esperar para manter uma comunidade unida.

Mensagem de Bit

Uma aplicação mais recente de prova de trabalho é o Bitmessage, que é um protocolo de mensagens anônimas, distribuídas e criptografadas que um dia poderá ser quase tão importante quanto o Bitcoin.[9] Foi inspirado no Bitcoin, mas funciona de maneira bem diferente. Não há cadeia de blocos no protocolo Bitmessage porque não há necessidade de armazenar todas as mensagens para sempre em um banco de dados. Em vez disso, o Bitmessage exige que todos que enviam uma mensagem realizem algum trabalho antes que a rede a retransmita. Isso garante que cada mensagem será significativa: nenhum spammer poderia permitir que seu computador funcionasse por um minuto ou mais para cada mensagem enviada. A prova de trabalho é essencial porque uma rede distribuída que depende de computação doada por seus usuários não pode se dar ao luxo de permitir caronas. Atualmente está em seus estágios iniciais e ainda não foi suficientemente estudado para ser considerado seguro, mas tem um enorme potencial como alternativa ao e-mail.

PPCoin e Prova de Participação

Uma discussão sobre prova de trabalho não estaria completa sem uma discussão sobre PPCoin, a terceira criptomoeda mais popular depois do Bitcoin e do Litecoin.[10] PPCoin também usa prova de trabalho para tornar a deserção não lucrativa, mas os custos são distribuídos de forma muito diferente entre os mineradores: aqueles mineradores que possuem muito PPCoin por um longo tempo sofrem requisitos muito menos rigorosos para produzir um bloco do que aqueles que possuem poucos PPCoin e que os possuem há menos tempo. Isto significa que as pessoas não tenderão a seguir o consenso proposto pela pessoa com o computador mais potente, mas sim pela pessoa que demonstrou o maior investimento na moeda. Os mineiros se distinguem mais por antiguidade do que por força. Quando um mineiro cria um novo bloco na cadeia de blocos PPcoin, ele tem que negociar algumas de suas moedas antigas para obter as novas – o que significa que todos que criam um bloco são menos capazes de criar o próximo. Este sistema é chamado de prova de aposta.

A prova de trabalho e a prova de aposta têm custos e benefícios diferentes em circunstâncias diferentes. De acordo com o Princípio do Handicap, os custos impostos para produzir um sinal devem estar relacionados com o significado da mensagem. Um sistema de prova de aposta demonstra o investimento na própria moeda, enquanto um sistema de prova de trabalho na rede subjacente.

Assim, se existisse uma rede de prova de trabalho e uma rede de prova de participação que tivessem ambas o mesmo valor de mercado, seria de esperar que a moeda de prova de trabalho tivesse uma rede maior com maior capacidade e seria mais líquido do que a rede de prova de aposta, enquanto a moeda de prova de aposta teria maior estabilidade de preços.

O sistema de prova de trabalho desencoraja mineradores anti-sociais de manipular a cadeia de blocos, tornando difícil confiar consistentemente na rede para aceitar seus blocos. O sistema de prova de participação, pelo contrário, desencoraja os mineiros anti-sociais ao aceitar apenas blocos de mineiros que tenham um incentivo para garantir que a mercadoria permanece absolutamente confiável. Como a prova de aposta se esgota à medida que novos blocos são gerados, há uma rotatividade contínua de quem é capaz de minerar e, portanto, menos incentivo para se especializar na manutenção da cadeia de blocos.

Nas suas fases iniciais, uma rede de criptomoeda requer investimento a longo prazo na própria moeda, de modo a ganhar credibilidade e valor, enquanto uma rede maior e mais madura teria maior probabilidade de exigir especialização na infraestrutura de rede para garantir que funcionasse. apropriadamente.

Esta é uma discussão acadêmica. É contraproducente apoiar qualquer criptomoeda que não seja o Bitcoin. Não é de esperar que os consumidores comuns escolham uma moeda em detrimento de outra devido a detalhes técnicos obscuros que não afectam a sua utilização como moeda. Eles estarão muito mais propensos a escolher o que for mais amplamente aceito. Alguém que pensa que o PPCoin é mais racional tem poucas expectativas de que o PPcoin vença o Bitcoin, mas pode ter uma chance de convencer a comunidade Bitcoin a adaptar um sistema de prova de participação em alguma versão futura do Bitcoin. Embora isto seja teoricamente possível e possa trazer benefícios, os mineiros de Bitcoin já têm um interesse no sistema actual e, portanto, tenderiam a opor-se a tal inovação.

Deixe um comentário