Partager cet article

Consenso de Escala? Este Vencedor de Turing Pensa que Encontrou um Caminho

O vencedor do Prêmio Turing, Silvio Micali, está trabalhando em um novo algoritmo de consenso, que, segundo ele, pode ajudar a escalar blockchains em massa.

silvio, MIT

Para que um blockchain público seja bem-sucedido — seja seu uso para moedas, contratos inteligentes ou algo totalmente diferente — ele precisa de um algoritmo de consenso que possa ser escalonado.

Enquanto a corrida está em andamento para desenvolver um sistema que pode fazer exatamente isso, um projeto recente de um eminente acadêmico pode marcar um avanço nessa busca de longa data. Esse projeto é chamadoAlgorand, e seu criador é um professor do MITSilvio Micali.

STORY CONTINUES BELOW
Ne manquez pas une autre histoire.Abonnez vous à la newsletter Crypto Long & Short aujourd. Voir Toutes les Newsletters

Criptógrafo e teórico da computação, Micali é conhecido por seu trabalho em números pseudoaleatórios e provas de conhecimento zero (a base para os zk-SNARKS que alimentam o projeto de blockchain anônimo Zcash). Ele também é co-vencedor do Prêmio Turing (também conhecido como "Prêmio Nobel" da computação).

Mas enquanto Micali tem credenciais impressionantes, sua Tecnologia também é muito promissora. Algorand é uma variação de proof-of-stake que usa criptografia para selecionar aleatoriamente os jogadores envolvidos na adição do próximo bloco (ou conjunto de transações) ao blockchain.

Se o Algorand for bem-sucedido, Micali acredita que seu sistema poderá facilmente lidar com milhões de nós, apresentando uma solução para um dos maiores problemas do blockchain hoje.

Loteria auto-selecionada

Em Bitcoin, mineradores correm para resolver um quebra-cabeça criptográfico. O vencedor propõe o próximo bloco e ganha uma recompensa de bloco.

Mas o bitcoinprova de trabalhoresulta no gasto de uma quantidade exorbitante de energia. Alguns dizem que isso também levou a uma centralização do processamento do bitcoin, o que significa que apenas algumas poucas grandes entidades são capazes de reivindicar novos bitcoins.

Em uma tentativa de democratizar essa distribuição, o Algorand usa o que Micali chama de "sortition criptográfico" para selecionar jogadores para criar e verificar blocos.

Enquanto a maioria dos sistemas de proof-of-stake dependem de algum tipo de aleatoriedade, o Algorand é diferente, pois você se autoseleciona executando a loteria em seu próprio computador. A loteria é baseada em informações no bloco anterior, enquanto a seleção é automática (não envolvendo troca de mensagens) e completamente aleatória.

Micali tomou emprestada a ideia da antiga Atenas, onde os funcionários políticos eram escolhidos aleatoriamente num processo conhecido como "sorteio". (Era basicamente uma maneira de colocar o nome de todos em um grande chapéu e retirar alguns nomes.)

Ao empregar a classificação criptográfica, a teoria é que o Algorand pode escalar sob demanda. Outros benefícios incluem segurança e velocidade. "O sistema tem que ser rápido", disse Micali. "T quero nenhuma prova de trabalho e T quero uma comunicação excessiva."

Um sistema justo e democrático

Como os requisitos computacionais do algorand são triviais, qualquer um pode executar o sistema em seu laptop em segundo plano. E enquanto o Bitcoin tem classes de usuários ('consumidores' que fazem transações e 'mineradores' que buscam blocos), o Algorand não faz tal distinção.

A visão é que todos os usuários tenham o mesmo acesso à rede.

Semelhante a outros sistemas de proof-of-stake, sua chance de ser selecionado para uma recompensa é baseada no número de moedas (algos) que você possui ou de outra forma reservou. Quanto mais algos você tiver, maior a chance de ser escolhido.

Depois de saber que você foi selecionado como proponente, você cria um bloco e o propaga para a rede junto com uma prova de hash (um número aleatório facilmente verificado por uma assinatura digital), dizendo basicamente: "Aqui está meu bloco e aqui está a prova de que ganhei na loteria".

O proponente com a menor prova de hash (novamente, aleatória) é quem apresenta o próximo bloco candidato.

O próximo passo no processo do Algorand é verificar o bloco candidato e — caso um proponente de bloco tenha proposto dois ou mais blocos — garantir que não haja nenhuma bifurcação na cadeia.

E para isso, Micali recorre a um protocolo de décadas.

Adeus aos garfos

Um subproduto do consenso de Nakamoto é a possibilidade de bifurcações de rede, um processo que ocorre sempre que dois mineradores resolvem o quebra-cabeça da rede quase ao mesmo tempo.

Como resultado, os usuários geralmente esperam 30 minutos (três quarteirões adiante) para ter certeza razoável de que uma transação foi concluída.

"E agora você tem que lidar com uma bifurcação, e isso cria alguma ansiedade, psicológica e de outras formas, porque um bloco não é definitivo, e as pessoas precisam dessa finalidade", disse Micali.

A maneira como o Algorand lida com essa ambiguidade é chegar a um consenso sobre um bloco com uma probabilidade insignificante de forks. O sistema faz isso empregando uma versão modificada do algoritmo de consenso bizantino.

Concebido na década de 1980, o acordo bizantino oferece uma maneira de chegar a um consenso em um sistema distribuído onde nenhum dos nós pode ser confiável. Em tal design, o sistema pode tolerar até um terço dos jogadores trabalhando contra o sistema.

O acordo bizantino tem duas propriedades: se todos os jogadores começarem com o mesmo valor, eles concordam com esse valor. E, se os jogadores começarem com valores diferentes, todos os jogadores honestos (aqueles que cumprem o protocolo) concordarão com um valor. No blockchain, esses valores são os blocos candidatos e os jogadores são verificadores.

Um problema com o acordo bizantino tradicional, no entanto, é que ele exige muitas rodadas de comunicação intensa entre todos os jogadores, dificultando a escala do sistema.

"Não posso executar um acordo bizantino com 1 milhão de usuários ou 10 milhões de usuários ou, se for um sistema bem-sucedido, 100 milhões de usuários. É demais", disse Micali.

Para remediar isso, ele desenvolveu uma versão modificada com apenas nove etapas esperadas.

Substituibilidade do jogador

No Algorand, um pequeno subconjunto de jogadores executa o consenso bizantino em nome de todo o sistema. Isso permite que o protocolo seja executado em velocidades mais altas e, à medida que mais jogadores são substituídos em cada etapa, a ideia é tornar o sistema seguro em um ambiente adversário.

Simplificando, o acordo bizantino de Micali funciona assim: os detentores de moedas se autoselecionam para serem verificadores na primeira rodada. Esses verificadores enviam suas mensagens junto com suas credenciais para a rede.

Agora que eles se revelaram, um adversário engenhoso poderia facilmente corrompê-los. Mas isso T importa, porque uma vez que a mensagem sai da garrafa, não há como colocá-la de volta.

"O adversário não pode fazer isso mais do que o governo pode colocar de volta na garrafa uma mensagem do Wikileaks. Eles podem prendê-lo, colocá-lo na prisão, mas essa mensagem agora é propagada na rede", disse Micali.

E então, mesmo que um adversário consiga corromper os verificadores, é tarde demais. Um novo conjunto de jogadores já se autoselecionou para a próxima rodada de comunicação, e o processo continua por mais oito rodadas até que um acordo comum seja alcançado.

Uma vez que o acordo é alcançado, e o bloco é certificado pelas assinaturas de um número suficiente de participantes na última etapa do acordo bizantino, esse bloco é então espalhado pela rede para que todos os usuários no sistema possam adicioná-lo ao blockchain.

Como a única latência real no sistema é baseada na propagação desse bloco pela rede, Micali definiu seu tamanho de bloco em 1 MB. Quando as redes ficam mais rápidas, é possível aumentar o tamanho do bloco sem nenhum risco de segurança, ele argumenta.

Nova ordem mundial?

Dito isso, Micali T acha que o Algorand substituirá o Bitcoin. Ele sente que diferentes sistemas podem existir simultaneamente.

Até mesmo a troca ainda existe hoje, então não há razão para pensar que o Bitcoin T existirá no futuro, ele argumenta. Mas ele sente fortemente que seu desperdício de energia é desnecessário.

"De alguma forma, as pessoas fazem a analogia de que quando você está cavando por ouro, você também desperdiça energia. O fato de que o ouro foi extraído dessa forma com muito desperdício T significa que devemos destruir o planeta porque nossos ancestrais fizeram", disse ele.

Ele também ressalta que o Algorand tem como objetivo servir como um protocolo de consenso para todos os tipos de sistemas de blockchain, não apenas para criptomoedas.

Assim como seu nome, o Algorand existe como um protocolo teórico.

Por enquanto, Micali disse que está resolvendo problemas técnicos na esperança de que, em breve, eles possam ser colocados à prova.

Imagem via Amy Castor para CoinDesk

Picture of CoinDesk author Amy Castor