Pesquisadores da Ethereum estão desenvolvendo formas de implementar um protocolo apresentado no início deste ano que pode potencializar a privacidade por meio de provas de conhecimento zero.
O desenvolvedor da Ethereum Artem Chystiakov compartilhou sua pesquisa no fórum da comunidade Ethereum na segunda-feira, intitulada “Zero Knowledge Secret Santa (ZKSS)”, que propõe um algoritmo de “Amigo Secreto” em três etapas. O artigo foi publicado pela primeira vez em janeiro no arXiv.
O Amigo Secreto é um jogo popular de troca de presentes realizado no período do Natal, em que um grupo de pessoas se presenteia de forma anônima. Cada participante compra um presente para outra pessoa e também recebe um presente de alguém cujo nome não é revelado.
Os destinatários dos presentes nunca descobrem quem foi seu amigo secreto.
Desafios para jogar na Ethereum
Chystiakov explicou que existem três principais obstáculos para implementar o Amigo Secreto na Ethereum, que o novo protocolo poderia resolver.
Tudo na rede Ethereum é público, portanto, é necessário um método para ocultar quem está presenteando quem e preservar a privacidade.
Além disso, blockchains não possuem verdadeira aleatoriedade, o que exige que os participantes insiram suas próprias escolhas aleatórias. O jogo também precisa ser projetado para impedir que alguém participe duas vezes ou envie um presente para si mesmo.
Possíveis casos de uso para a Ethereum
A privacidade em blockchain tornou-se um tema quente recentemente, à medida que as criptomoedas se integram cada vez mais às finanças tradicionais.
Protocolos de privacidade poderiam ser aplicados a cenários como votação e governança anônimas — incluindo DAOs —, nas quais os usuários precisam provar que são membros e emitir um voto, mantendo a confidencialidade de sua escolha.
O mesmo princípio também poderia ser aplicado a sistemas de denúncias internas (whistleblowers), nos quais os usuários precisam provar que são funcionários autorizados enquanto enviam informações de forma anônima, ou ainda a airdrops e alocações privadas, em que os tokens são distribuídos sem revelar quem os recebeu.
Quando questionado sobre implementações de código aberto ou lançamento, Chystiakov respondeu: “Estamos trabalhando nisso.”
Como funciona o Zero Knowledge Secret Santa
O protocolo de prova de conceito em Solidity usa provas de conhecimento zero para estabelecer as relações entre remetentes e destinatários dos presentes, preservando a privacidade e a confidencialidade de quem envia.
As provas ZK são um método criptográfico que permite comprovar conhecimento sem revelar as informações específicas. O protocolo ZKSS também utiliza um retransmissor de transações (relayer), que atua como intermediário ao enviar as transações, mantendo a identidade do remetente oculta.
Para participar, os usuários registram seus endereços Ethereum em um contrato inteligente, criando uma lista de todos os participantes. Em seguida, cada participante se compromete a usar uma assinatura digital específica.
Isso impede fraudes em que alguém tenta participar várias vezes criando diferentes assinaturas.
Cada participante adiciona secretamente um número aleatório a uma lista compartilhada por meio do relayer, de modo que ninguém saiba quem adicionou qual valor. Isso permite que os destinatários encriptem seus endereços de entrega, de forma que apenas o “amigo secreto” designado possa acessá-los.
Por fim, cada participante seleciona aleatoriamente o número de outra pessoa na lista compartilhada, momento em que a identidade do destinatário é revelada.