Computação

Uma blockchain para RGPD

Acha que está a revelar muita informação a seu respeito quando mostra a sua carta de condução para um barman ao comprar uma bebida? Acha um absurdo a quantidade de informação exposta quando faz um PIX? Se sim, então este artigo é para si.

Uma nova forma de exibir apenas a informação que a pessoa precisa ver está a ser estudada. Com o advento do Regulamento Geral de Proteção de Dados, é importante encontrar soluções que possam proteger e assegurar os dados pessoais.

Embora o blockchain seja um meio confiável de troca de informações sem um terceiro, tem um efeito colateral de ser um pouco transparente demais às vezes. Desta forma, a Prova de Conhecimento Zero (Zero Knowledge Proof, ZKP, em inglês) tem sido uma solução emergente para garantir a confidencialidade das partes.

O que é a Prova de Conhecimento Zero?

Criptografia é uma das técnicas essenciais da tecnologia de blockchain, na verdade o fator mais importante para a larga adoção do blockchain na indústria. Agora a matemática pode ter ido adiante e a ZKP pode ser mais uma inovação disruptiva.

O objetivo da ZKP é permitir ao provedor convencer o verificador de que tem os dados corretos sem precisar mostrá-lo, sem expor as suas informações. Por exemplo, no futuro, vai poder acessar o saldo da sua conta, sem precisar mostrar a sua identidade.

Na verdade, só precisa mostrar que tem a posse das informações e não exatamente quais são. Na prática funciona assim, o verificador pode passar desafios ao provador que só poderiam ser completados com as informações corretas.

Veja este exemplo:

Priscila precisa provar a Vitor que tem a chave do portão sem mostrar a chave. Então entra no túnel primeiro por qualquer um dos lados. Vitor aparece na entrada e pede para que saia pelo lado A. Independente de qual lado Priscila entrou, se tiver a chave, vai sempre conseguir sair pelo lado certo.

Quais são as aplicações da ZKP?

Enviar mensagens, por exemplo, é uma aplicação muito usada por todos. Vamos ver o caso do WhatsApp. Aparece escrito que as mensagens são todas criptografadas de ponta-a-ponta, certo? Isso significa que ninguém consegue ter acesso a elas a não ser você e a sua contrapartida. O que nos passa ao lado é que para enviar mensagens nesta aplicação nós temos que nos identificar para o servidor antes: nome, número de telefone, etc. Numa blockchain de mensagens, o endereço da sua conta seria exposto, e, por mais que ninguém saiba o que você está a falar, sabem que alguém X está a falar muitas vezes com Y e com Z também.

Podemos pensar também no caso do sistema eleitoral no qual o voto é secreto. Como contar o número de votos e garantir a sua unicidade sem ver a identidade do cidadão? Se não há identificação, então é fácil de falsificar, se a identidade é mostrada, não é secreto.

Vamos pegar outro famoso exemplo: onde está o Wally?

Onde está o Wally? O seu amigo grita “encontrei!” E como pode ele provar que encontrou sem revelar onde está o Wally? A prova pode ser feita ao pegar uma cartolina maior do que o livro, fazendo um furinho nela e mostrando apenas o rosto do Wally. É uma forma bastante criativa de mostrar que o encontrou sem mostrar a posição.

Evolução dos modelos

A primeira tentativa de uma moeda com privacidade foi a Monero. Fundada em 2014, cumpriu o que pretendia, mas ainda tem problemas de escalabilidade com o tamanho das transações geradas. Em 2016 surgiu a ZCash, que conseguiu mais escalabilidade com uma prova mais simples, mas ainda era necessário que os dois membros da operação acreditassem que a chave de configuração da transação fosse destruída. É claro que sempre temos dois lados, quanto mais oculto mais propenso a ser utilizado por criminosos.

O bom lado estaria nos novos modelos que estão a chegar ao ponto de que, se a blockchain não precisar mostrar o saldo da conta, nem da transação, apenas provar que ele foi realizado com sucesso, uma blockchain com tamanho fixo de 20 kbytes pode guardar toda a informação contábil e rodar no seu telemóvel. Mais descentralizada do que isso será impossível. Será o futuro?

Artigo de Christian Aranha, Autor – MIT Technology Review Brasil

Nossos tópicos