A Anatomia da Prova-de-Trabalho
Esta é a tradução do texto “The Anatomy of Proof-of-Work” do Hugo Nguyen, publicado originalmente no seu Medium no dia 10 de fevereiro de 2018.
Tradução por Leta.
Com a palavra, o autor:
A Prova-de-Trabalho (PoW) foi originalmente inventada como uma medida contra spams de e-mail. Só mais tarde foi adaptada para ser usado em dinheiro digital [1].
O que a mineração PoW realmente faz por baixo do capô, é converter energia cinética (eletricidade) em um bloco de contabilidade. Uma máquina de mineração executa repetidamente operações hash até resolver um quebra-cabeça criptográfico. Todas as operações de hash são descartadas, exceto o hash que resolve o problema.
Esse minúsculo hash, que por si só consome muito pouca energia para ser calculado, é uma representação direta da enorme bola de energia necessária para produzi-lo. A “prova” de que o bloco foi cunhado. Para reescrever o bloco, um invasor mais tarde terá que gastar um número aproximadamente equivalente de operações de hash que era originalmente necessário.
Em outras palavras: a reversão exige um número equivalente de operações hash, não uma quantidade equivalente de energia. Isso ocorre porque o hash é apenas uma representação da energia usada, não a energia em si.
Com o tempo, essa representação de energia se torna cada vez menos precisa — à medida que o hardware aprimorado se torna mais eficiente. A energia em si não muda, mas suas antigas representações “vazam”.
Outra maneira de visualizar esse processo é pensar na mineração PoW como anexar pesos físicos a blocos virtuais. Com o tempo, os blocos mais antigos são danificados e ficam cada vez mais leves. Isso também reduz o peso total da corrente, se todo o resto for igual.
O Bitcoin combate esse processo de desgaste criando constantemente novos blocos com novos pesos. Isso garante que a ponta da corrente esteja sempre pesada no presente, protegendo a integridade de toda a corrente. Cadeia de blocos pesada = cadeia de blocos segura.
(Alguns sugeriram que “corrente mais pesada” é uma terminologia melhor do que “corrente mais longa” de Satoshi. A corrente mais longa pode ser muito enganosa quando realmente não queremos dizer comprimento no sentido literal.)
SHA256 é a função hash que apoia a mineração de Bitcoin via PoW. SHA256 protege o razão de ser reescrito. Um hash in (para minerar), um hash out (para reverter). Isso é o que dá ao Bitcoin sua propriedade de imutabilidade [2].
É incrível quando você pensa sobre isso. As operações de hash dedicam toda a sua existência ao propósito de proteger o livro-razão! Raramente qualquer coisa no mundo real tem 100% de dedicação e eficiência. (por exemplo: contraste com a gasolina e o motor de combustão).
Na realidade, provavelmente não é 100%, mas algo próximo a isso. Porque a irreversibilidade depende dos resultados hash serem uniformemente aleatórios (assim como quando você joga um dado justo), e os algoritmos não podem simular a aleatoriedade do mundo real.
Felizmente para nós, as funções hash como SHA256 se mostraram suficientemente aleatórias, também conhecidas como “pseudo-aleatórias”. SHA256 foi revisado e testado por anos e possui uma rica literatura de pesquisa por trás dele. Portanto, não é algo com que devemos nos preocupar (ainda).
Fundamentalmente, acredito que a ideia de “anexar energia” a blocos é a certa e provavelmente a única maneira de simular a imutabilidade virtualmente.
Usar a energia queimada para apoiar um bloco nos permite ver a imutabilidade de maneira objetiva. Considerando que qualquer método não baseado em energia, em última análise, requer a interpretação subjetiva de alguém sobre a imutabilidade. [3]
Ao anexar energia a um bloco, damos a ele “forma”, permitindo que tenha peso e consequências reais no mundo físico. Também podemos pensar em PoW como a magia que traz um monte de 0s e 1s à vida.
Em outras palavras, PoW é a ponte entre o digital e o físico.
Compare isso com algumas criptomoedas que alguém cria, modifica e remove como achar melhor. Sua singularidade e existência não são garantidas nem confiáveis.
Mesmo se a variante atual do PoW falhar, estou confiante que haverá outras maneiras de anexar energia a um bloco.
Em conclusão, a aplicação do PoW em blockchains pode provar ser muito mais significativa e de amplo alcance do que para o qual foi originalmente inventado. PoW nos dá imutabilidade, o que nos dá dinheiro não censurável, o que poderia mudar a forma como a sociedade se organiza. (Leia o maravilhoso ensaio de Nick Szabo sobre escalabilidade social para saber mais sobre isso.)
(Tempestade de tweet original)
* Esta é a parte 1 da série Bitcoin Fundamentals. Confira a série completa aqui: parte 2, parte 3, parte 4 e parte 5.
[1]: A ideia de usar PoW em dinheiro digital pode ter se originado das propostas de b-money de Wei Dai e bitgold de Nick Szabo no final dos anos 90. Hal Finney criou a primeira implementação de PoW em dinheiro digital (RPOW) em 2004.
[2]: Imutabilidade é um conceito relativo. Quando dizemos “imutabilidade”, geralmente queremos dizer que é praticamente imutável, não absolutamente imutável. Mesmo o ouro pode ser sintetizado com energia suficiente.
[3]: Um desses métodos é a prova de participação. Leia meu artigo sobre Prova-de-Trabalho para entender suas armadilhas e por que pode ser inferior à Prova-de-Trabalho.