Os primeiros protocolos públicos de blockchain, como o Bitcoin, tornaram as transações completamente transparentes para as pessoas participantes da rede Bitcoin e, devido à natureza pública, também para o público em geral. Cada transação pode ser identificada pelas chaves públicas do remetente e do destinatário da transação, pela data e pela hora, pelos valores transacionados e por vários dados relacionados ao hash da transação.
Embora o pseudo-anonimato do sistema do blockchain bitcoin seja difícil de decifrar, uma parte vigilante, como uma agência governamental, pode traçar um histórico de transações.
Desde então, outros protocolos, estruturas ou plataformas blockchain como Hyperledger, Corda e Quorum melhoraram bastante a capacidade de implementar privacidade e confidencialidade de dados.
O próprio protocolo bitcoin submeter-se- á ao upgrade Taproot para melhorar a privacidade das transações no começo de novembro deste ano.
Não há uma única solução blockchain para garantir a privacidade de dados críticos de um projeto. As soluções a serem adotadas pelo gestor dependem da capacidade tecnológica de uma plataforma blockchain específica e dos fatores específicos de privacidade e desempenho que uma empresa ou indústria está a tentar otimizar, bem como das relações contratuais que possam existir entre os utilizadores e os operadores de nós da blockchain.
Por isso, apresento a seguir as tecnologias mais acessíveis que podem ser usadas para atender a certos requisitos ao manipular dados pessoais e comercialmente sensíveis. Quais medidas tecnológicas podem proteger dados críticos em blockchains públicos?
O papel da criptografia nas estruturas blockchain
A privacidade com Blockchains é possível por meio da troca segura de valores protegidos por criptografia, que compõem as arquiteturas blockchain junto com mecanismos de consenso e redes Peer -to – peer. É por meio da criptografia de chave pública (também conhecida por criptografia assimétrica) que os registos no ledger são protegidos. Trata-se de um sistema criptográfico que usa pares de chaves.
Chaves públicas podem ser amplamente disseminadas, enquanto as chaves privadas são conhecidas apenas pelo proprietário, como explicado em detalhes no vídeo abaixo:
https://www.youtube.com/watch?v=AQDCe585Lnc
Com este par de chaves realizam-se duas funções:
Autenticação: a chave pública verifica que um portador da chave privada aparelhada enviou a mensagem;
Encriptação: apenas o portador da chave privada aparelhada pode decriptar a mensagem encriptada com a chave pública.
Depois que a informação é criptografada, é preciso da chave privada para desbloquear a informação, possibilitando que todos os dados criptografados sejam capturados e ainda sejam completamente inúteis para um agente malicioso. Tais acessos “autorizados” possibilitados pelo blockchain, já têm sido explorados como ferramenta corporativa para lidar com a privacidade do utilizador e a recolha de dados conforme a legislação de proteção de dados.
A tecnologia blockchain permite que documentos legais, registos de assistência médica, informações de pagamento ou identidade, sejam codificados (criptografados) e inseridos como pontos de dados no ledger. Feito isso, não há como copiar ou duplicar essas informações sem a permissão explícita do proprietário, concedida tecnologicamente. A troca segura de registos protegidos por criptografia de chaves assimétricas, no entanto, é “simples”.
Ou seja, enquanto as chaves públicas sejam pseudónimas, podendo ser “anónimas” em determinadas blockchains, tal não impede que as transações de uma chave pública sejam rastreadas. Dito de outro modo, mesmo sem saber a quem pertence uma determinada chave pública, é possível rastrear todas as transações de uma chave pública e criar um perfil da pessoa por trás da chave.
Um certo grau de privacidade é garantido pela chave pública, e ao mesmo tempo as transações geradas a partir dela são totalmente transparentes.
Isso porque, as transações numa blockchain pública estão disponíveis para serem lidas não apenas por toda a rede, mas também por utilizadores da Internet que não são parte da rede blockchain. Neste contexto, como garantir privacidade aos dados críticos?
A Privacidade de blockchains públicos por outras técnicas
Nas blockchains públicas, qualquer pessoa que tenha uma conexão com a Internet pode visualizar a lista do histórico de transações da rede. Pode-se ver todos os detalhes associados à transação e os detalhes da sua carteira, enquanto o nome do utilizador ainda é desconhecido. Numa blockchain pública, os detalhes da transação e da carteira do utilizador aparecem como uma chave pública — o código exclusivo que representa o utilizador na rede blockchain. Dessa forma, a chave pública criada por meio da técnica de criptografia assimétrica protege a privacidade em certa medida. Mas ainda é possível expor você por outras técnicas. Isso desmascara o mito do anonimato e da privacidade nas blockchains públicas e nos faz perceber que:
As informações confidenciais do utilizador armazenadas em determinadas blockchains são apenas confidenciais (pseudónimas), não anônimas.
Como proteger melhor a privacidade nas blockchains públicas?
Nas atuais blockchains públicas, as transações registradas no ledger são públicas e transparentes. Por esse motivo, várias marcas e mercados de renome, como Wall Street, hesitam em adotá-las, pois a confidencialidade do cliente e da transação é uma obrigação para eles. No entanto, há vários conceitos e métodos, que melhoram incrivelmente a privacidade das transações nas blockchains.
Nesse sentido, outras formas de privacidade via Blockchains muito apreciadas são o Zero-Knowledge Proof e o Fully Homomorphic Encryption (FHE).
Zero-Knowledge Proof
O ZKP (Zero-Knowledge Proof) cuja tradução de forma literal seria “prova de conhecimento zero”, é um esquema de criptografia proposto pelos investigadores do MIT Silvio Micali, Shafi Goldwasser e Charles Rackoff na década de 1980. A prova de conhecimento zero é um conceito bem estabelecido em criptografia que permite que uma parte afirme a validade de uma declaração sem revelar os factos subjacentes que a tornam verdadeira ou falsa.
O algoritmo que realiza essa ação executa uma declaração por meio de teste de verdadeiro ou falso repetidamente até que a probabilidade de que essa declaração seja falsa se torne incrivelmente baixa. Nesse ponto, é possível afirmar com segurança que a afirmação é verdadeira.
Imagine que um auditor precise auditar a validade de uma transação, mas não pode saber quais instituições ou fornecedores estão envolvidos, nem o valor. Com o Zero Knowledge-proof, esse auditor pode executar um algoritmo que retorna essa verificação.
Créditos da imagem: Tatiana Revoredoa
Quanto aos seus benefícios, o ZKP é “simples” por não envolver nenhum método complexo de criptografia; e também é “seguro”, pois não requer que ninguém revele nenhum tipo de informação. Apesar dessas vantagens, há também algumas desvantagens ocasionadas por pelo estágio inicial.
Enquanto haja consideráveis avanços na prova de conhecimento zero como o zk-SNARKS, que reduziu significativamente o tempo necessário para que um algoritmo de prova de conhecimento retorne um resultado, essa solução tem alta latência — o processamento e a confirmação de transações demoram muito.
No método de conhecimento zero, existem cerca de duas mil computações, cada uma exigindo uma certa quantidade de tempo para processar. Esse é o principal obstáculo à prova de zero conhecimento. Além disso, o ZKP é imperfeito, dado que as mensagens entregues ao verificador ou fornecedor podem ser destruídas ou modificadas. E ainda, é limitado, na medida em que o protocolo ZKP exige que o segredo seja um valor numérico e, noutros casos, é necessária uma tradução.
De qualquer modo, vale a pena considerar o Zero Knowledge-proof como um dos recursos mais promissores da tecnologia blockchain. Para transações com menor volume e para as quais esse nível de privacidade de dados é importante, pode fazer sentido adotar essa tecnologia no seu estado atual.
2) Fully Homomorphic Encryption (FHE)
É um método de computação já usado pela empresa Skuchain, no qual cálculos matemáticos são executados em dados criptografados e geram um resultado criptografado.
A criptografia homomórfica é uma forma de criptografia que permite aos utilizadores realizar cálculos em seus dados criptografados sem primeiro descriptografá-los. Pode ser usada para armazenamento e computação terceirizados que preservam a privacidade. Isso permite que os dados sejam criptografados e terceirizados para ambientes de nuvem comercial para processamento, tudo isso enquanto criptografados.
Para dados confidenciais, como informações de saúde, a criptografia homomórfica pode ser usada para habilitar novos serviços, removendo as barreiras de privacidade que inibem a partilha de dados ou aumentando a segurança dos serviços existentes. Por exemplo, a análise preditiva em saúde pode ser difícil de aplicar por meio de um provedor de serviços terceirizado devido a questões de privacidade de dados médicos, mas se o provedor de serviços de análise preditiva puder operar com dados criptografados, essas preocupações com a privacidade serão diminuídas. Além disso, mesmo que o sistema do provedor de serviço seja comprometido, os dados permanecerão seguros.
Pois bem, na criptografia homomórfica, os dados são criptografados antes da partilha na blockchain, onde podem ser analisados sem descriptografar.
Os benefícios para a ofuscação de dados da empresa via FHE num blockchain são claros. A lentidão do FHE, todavia, é ainda mais lenta que o Zero Knowledge-proof.
De facto, as técnicas de ofuscação de ponta podem proteger dados críticos em blockchains públicos, libertando novas possibilidades nas operações e finanças em vários setores produtivos que antes não eram possíveis. As tecnologias devem ser escolhidas dependendo do grau de confidencialidade e funcionalidade exigidos.
Quanto mais inovadora a tecnologia se torna, mas considerações devem ser ponderadas antes da sua implementação como: grau de limitação da velocidade de transação, tamanho do limite de carga útil, custos de transação mais altos (em termos computacionais) e risco de inclusão de dados irrelevantes na carga útil.
Os dados são o novo petróleo, mas a exploração do seu valor levanta questões comerciais e de conformidade que podem dificultar significativamente a implementação de uma solução, independente de qual seja a tecnologia adotada, se não forem corretamente consideradas.
Medidas inovadoras para garantir a privacidade e a proteção de dados em blockchains públicos existem, e têm sido aprimoradas a cada dia. Cabe aos gestores e aos projetistas analisarem quais delas melhor se adaptam e estão maduras o suficiente ao seu caso concreto.
Artigo de Tatiana Revoredo, Autor – MIT Technology Review Brasil