O que é Privacidade na Web3?
Uma exploração das diferentes concepções e abordagens de privacidade na Web3
Análise de pesquisa original da Web3.com Ventures
Para a Web3, a privacidade é o problema que todos veem mas ninguém fala. Ela é ao mesmo tempo o maior atrativo dos criptoativos, caminhando lado a lado com os princípios de descentralização, anonimato e necessidade mínima de confiança (trustlessness), e também seu maior ponto de dor, com procedimentos de verificação de identidade (KYC) extremamente rigorosos, informações pessoalmente identificáveis (PII) fáceis de rastrear e um olhar sempre desconfiado do mundo exterior.
Infelizmente, esse é um tópico amplamente mal compreendido e equivocado, com muitas pessoas enxergando a "privacidade" das criptomoedas simplesmente como uma desculpa para financiar terroristas e realizar lavagem de dinheiro. O fato de que o "anonimato" é valorizado pela comunidade cripto no Twitter e que a mídia convencional muitas vezes (intencionalmente ou não) reforça esses preconceitos não ajuda a dissipar esses estereótipos.
Como a privacidade na Web3 é um conceito tão abrangente, que abrange desde imagens de perfil de macacos até criptografia e Provas de Conhecimento Zero, é inútil falar sobre isso de forma agregada e fazer julgamentos gerais sobre se é bom ou ruim. Em vez disso, devemos dividir o problema em segmentos menores diferentes. Neste ensaio, vou primeiro analisar e desmembrar a infraestrutura de "privacidade" da Web3 em três níveis distintos - privacidade no nível de rede, privacidade no nível do protocolo e privacidade no nível do usuário - antes de explorar o papel que soluções tecnológicas, como as Provas de Conhecimento Zero, desempenham no futuro da privacidade na Web3.
Privacidade em Nível de Rede
A primeira e mais antiga concepção de privacidade está no nível da rede. A privacidade em nível de rede garante privacidade em todas as transações de uma criptomoeda em uma determinada rede blockchain, por meio dos mecanismos de consenso subjacentes da blockchain e das escolhas de design em nível de rede. Por esse motivo, também são chamadas de "moedas de privacidade".
Essa concepção de privacidade remonta ao protocolo Bitcoin e à ideia de anonimizar "endereços de carteira" como hashes criptográficos de 160 bits [1]. Embora o Bitcoin em si tenha transações totalmente transparentes, onde qualquer usuário pode inspecionar qualquer transação em sua rede, os princípios de descentralização e anonimato do Bitcoin sem dúvida inspiraram a força motriz por trás do desenvolvimento da "privacidade em nível de rede" e das blockchains com foco em privacidade.
Um dos principais projetos na criação de privacidade em nível de rede é a Monero, uma blockchain com foco em privacidade estabelecida em 2014. Ao contrário do Bitcoin, a Monero oculta tanto as carteiras dos usuários quanto as transações por meio de "Assinaturas em Anel", em que os usuários dentro de um determinado "anel" têm acesso a uma assinatura de grupo específico e usam essa assinatura de grupo para assinar transações. Portanto, em qualquer transação na rede Monero, você só pode identificar que ela vem de um determinado grupo, mas não sabe qual usuário desse grupo realmente assinou a transação. Em essência, isso é uma forma de "privacidade na multidão", em que os usuários se unem em grupos para fornecer privacidade a todos [2].
Assinaturas de anel na Monero. Fonte: https://blog.pantherprotocol.io/ring-signatures-vs-zksnarks-comparing-privacy-technologies/ [3]
Outro projeto que aborda esse mesmo espaço é a ZCash, pioneira em uma forma de Provas de Conhecimento Zero (Zero Knowledge Proofs) chamada zk-SNARKs, que foi popularizada recentemente. O conceito fundamental por trás das Provas de Conhecimento Zero é que se trata de uma forma de provar que algo é verdadeiro sem revelar nenhuma informação adicional (o que poderia comprometer a segurança e a privacidade) [4].
Um exemplo simples de uma Prova de Conhecimento Zero é um autograder do Gradescope [5]. Você precisa "provar" que fez seu dever de casa de Ciências da Computação corretamente, mas não precisa informar ao autograder nenhum outro detalhe sobre a implementação do seu código. Em vez disso, o autograder verifica seu "conhecimento" por meio da execução de vários testes ocultos, e seu código deve corresponder ao resultado "esperado" do autograder do Gradescope. Ao corresponder ao resultado "esperado", você pode fornecer uma Prova de Conhecimento Zero de que fez a lição de casa sem mostrar a implementação real do código.
No caso da ZCash, embora as transações sejam transparentes por padrão, os usuários podem optar por usar essas "Provas de Conhecimento Zero" para criar transações privadas. Quando um usuário deseja enviar uma transação, ele cria uma mensagem de transação que inclui o endereço público do remetente, o endereço público do destinatário e o valor da transação e, em seguida, converte isso em uma prova zk-SNARK, que é a única coisa enviada à rede. Essa prova zk-SNARK contém todas as informações necessárias para comprovar a validade da transação, mas não revela nenhum dos detalhes da transação em si. Isso significa que a rede pode validar a transação sem saber quem a enviou, quem a recebeu ou o valor envolvido.
Apesar de suas diferenças de design e implementação, tanto para a Monero quanto para a ZCash, a privacidade da transação é garantida no nível da blockchain, de modo que todas as transações que ocorrem na rede são automaticamente garantidas como privadas. Essa garantia de privacidade pode ser facilmente explorada por agentes mal-intencionados para realizar lavagem de dinheiro, atividades terroristas e tráfico de drogas, e a Monero é particularmente notória por sua popularidade na Dark Web [6]. Além disso, à medida que a Monero e outras "moedas de privacidade" se tornam sinônimos de atividades financeiras ilícitas, isso afasta os usuários que usam essas "moedas de privacidade" por preocupações legítimas com a privacidade, alimentando um ciclo de retroalimentação negativa que só resulta em uma economia paralela mais prejudicial.
Essa é a maior desvantagem de garantir a privacidade no nível da rede: é uma abordagem de "tudo ou nada" no projeto, em que há uma compensação de soma zero entre a transparência de uma transação e a privacidade dessa transação. É justamente por causa dessa falta de transparência que a "privacidade em nível de rede" atrai mais a ira dos órgãos reguladores e é a razão pela qual várias das principais bolsas de criptomoedas centralizadas, como Coinbase, Kraken e Huobi, retiraram Monero, ZCash e outras moedas de privacidade da lista em várias jurisdições [7].
Privacidade em Nível de Protocolo
Uma abordagem diferente para a privacidade é garantir a " Privacidade em Nível do Protocolo", em que, em vez de codificar transações privadas no nível de consenso da rede blockchain, processamos transações privadas em um "protocolo" ou "aplicativo" executado em uma rede blockchain.
Como as primeiras redes de blockchain, como o Bitcoin, tinham capacidade de programação limitada, a criação de "privacidade em nível de protocolo" era incrivelmente difícil, e era muito mais fácil bifurcar a rede Bitcoin e implementar a privacidade desde o início na forma de uma nova blockchain e "moeda de privacidade". Mas com o advento da Ethereum e o surgimento dos "contratos inteligentes", isso abriu um caminho totalmente novo para os protocolos de preservação da privacidade.
Um dos exemplos mais notáveis de "Privacidade em Nível de Protocolo" é o Tornado Cash, que é um aplicativo descentralizado (dApp) na Ethereum que "mistura" as transações em um pool para garantir a privacidade das transações - conceitualmente um pouco semelhante à abordagem "misture-se com a multidão" da Monero.
Processo do protocolo Tornado Cash. Fonte: https://messari.vercel.app/article/on-chain-privacy [8]
O protocolo do Tornado Cash tem, a grosso modo, três etapas principais:
1 .Depósito: Os usuários enviam seus fundos para um contrato inteligente do Tornado Cash. Isso inicia uma transação privada com um "conjunto de anonimato" gerado aleatoriamente, que é um grupo de usuários que também estão fazendo transações ao mesmo tempo.
2 Mistura: O Tornado Cash mistura os fundos depositados com os fundos de outros usuários no conjunto de anonimato, dificultando o rastreamento do remetente ou destinatário original. Esse processo é chamado de "mistura" ou "anonimização".
3 .Retirada: Uma vez que os fundos tenham sido misturados, os usuários podem sacar seus fundos para um novo endereço de sua escolha, quebrando o vínculo entre o endereço original e o endereço de destino. O usuário pode então concluir a transação enviando os fundos diretamente do "novo" endereço de destino para o destinatário. [9]
Infelizmente, em agosto de 2022, o Tornado Cash foi sancionado pelo governo dos EUA, pois o Office of Foreign Assets Control (OFAC) alegou que hackers norte-coreanos estavam usando o protocolo para lavar fundos roubados [10]. Como resultado dessa repressão, os usuários, empresas e redes dos EUA não podem mais usar o Tornado Cash. A Circle, emissora da stablecoin USDC, foi além, congelando mais de US$ 75.000 em fundos conectados a endereços do Tornado Cash, e o GitHub excluiu as contas dos desenvolvedores do Tornado Cash [11].
Isso desencadeou uma tempestade controversa na esfera das criptomoedas, pois muitos argumentaram que a grande maioria dos usuários usava o Tornado Cash para transações legítimas de preservação da privacidade e que os usuários do protocolo não deveriam ser punidos pelas más ações de uma pequena minoria. Mas o mais importante é que, como a Tornado Cash é uma solução de "privacidade em nível de protocolo" na Ethereum, em vez de uma solução de "privacidade em nível de rede", a repressão e as consequências se restringiram apenas a esse protocolo na rede Ethereum, em vez de afetar toda a rede - ao contrário da Monero e da ZCash, a Ethereum não foi retirada da listagem da Coinbase por causa dessas sanções.
Uma abordagem alternativa para a "privacidade no nível do protocolo", criada pela Aztec Network, concentra-se em "rollups" para proteger os fundos dos usuários e apoiar transações privadas. O principal produto da Aztec é o zk.money, que usa uma Prova de Conhecimento Zero recursiva e profunda de duas camadas para escalonamento e privacidade. A primeira ZKP comprova a exatidão da transação protegida, garantindo que a transação era de fato privada e que não houve vazamento de informações. A segunda ZKP é usada para o próprio rollup, a fim de agrupar a computação de lotes de transações e garantir que todas elas foram executadas corretamente [12].
Embora as soluções de "privacidade em nível de protocolo" baseadas em rollup ainda estejam em seus estágios iniciais, elas representam a próxima evolução das soluções de "privacidade em nível de protocolo". Uma das principais vantagens das soluções de rollup em relação às soluções de "privacidade em nível de protocolo" baseadas em dApp, como o Tornado Cash, é sua escalabilidade aprimorada, já que o trabalho pesado de computação acontece em grande parte fora da cadeia. Além disso, como grande parte da pesquisa de rollup tem se concentrado apenas no aumento da computação, ainda há muito espaço para exploração na aplicação e extensão dessas tecnologias na esfera da privacidade.
Privacidade no nível do usuário
Uma terceira (e mais recente) abordagem para conceituar a privacidade na Web3 é explorar a "privacidade no nível do usuário", em que as garantias de privacidade são feitas para os dados de um usuário individual em vez de se concentrar nos dados da transação do usuário. Tanto no nível da "rede" quanto no nível do "protocolo", testemunhamos o problema recorrente de uma minoria de malfeitores (como transações na Dark Web e esquemas de lavagem de dinheiro) que afetam o uso da rede e do protocolo para a maioria inocente que está simplesmente preocupada com a privacidade de seus dados pessoais.
O ponto crucial da "privacidade no nível do usuário" é que, ao nos concentrarmos nos usuários individuais de uma rede, realizamos uma forma "direcionada" de filtragem em que os usuários e endereços benignos ficam livres para interagir com a rede blockchain de forma privada, enquanto os usuários mal-intencionados podem ser rapidamente filtrados. Como você pode imaginar, essa é uma tarefa difícil, que caminha em uma linha tênue entre transparência e privacidade. Essa visão de privacidade centrada no usuário também gera todo um debate (e um setor) sobre a função e o futuro da identidade descentralizada (dID) adjacente e derivada da questão da privacidade da Web3 [13]. Por uma questão de objetividade, não discutirei essa questão de KYC e autenticação na Web3.
O principal insight da "privacidade no nível do usuário" é separar e reimaginar o relacionamento entre o próprio usuário e seus endereços de carteira na cadeia, já que os endereços de carteira são os identificadores atômicos em uma rede de blockchain. Importante ressaltar que existe uma correspondência de um para muitos entre usuários e cadeias: frequentemente, os usuários controlam mais de um endereço de carteira em cada rede de blockchain com a qual interagem. Essa é a ideia de "fragmentação de identidade na cadeia". Assim, o ponto crucial da "privacidade no nível do usuário" é encontrar uma maneira segura de mapear as informações pessoalmente identificáveis (PII) dos usuários para todas essas identidades fragmentadas na cadeia.
Um projeto importante nesse sentido é o Notebook Labs, que procura usar Provas de Conhecimento Zero para vincular identidades fragmentadas com as PII de um usuário [14], fornecendo as seguintes garantias:
1 .os usuários podem provar sua humanidade com qualquer identidade fragmentada na cadeia
2 .é impossível vincular essas identidades (a menos que a chave secreta do usuário seja vazada)
3 .É impossível para qualquer terceiro ou adversário vincular uma identidade fragmentada na cadeia à identidade do usuário no mundo real.
4 .As credenciais podem ser agregadas entre as identidades.
5 .Cada ser humano recebe um único conjunto de identidades fragmentadas na cadeia [15].
Embora as especificidades criptográficas do protocolo estejam além do escopo deste ensaio, o Notebook Labs demonstra dois princípios fundamentais da "privacidade no nível do usuário": a importância de reimaginar a relação entre a multiplicidade de identidades fragmentadas na cadeia com usuários humanos do mundo real, bem como a função importante que as Provas de Conhecimento Zero desempenham na agregação e vinculação de todas essas identidades [16].
Outra solução emergente para a questão da "privacidade no nível do usuário" é a ideia de "carteiras sigilosas (stealth wallets)". Novamente, a ideia de "carteiras sigilosas" capitaliza a fragmentação das identidades na cadeia, usando o fato de que um usuário normalmente tem mais de uma identidade na cadeia. Diferentemente do Tornado Cash e de outras soluções de "privacidade em nível de protocolo", que buscam ocultar os dados da transação em si, os endereços sigilosos buscam ocultar quem são as pessoas reais por trás dos endereços do remetente e do destinatário. Isso é implementado essencialmente por meio da descoberta de um algoritmo para gerar rápida e automaticamente "carteiras de uso único" para a transação de um usuário [17].
Uma diferença conceitual importante entre as "carteiras sigilosas" e as soluções de privacidade discutidas anteriormente, como a Monero e o Tornado Cash, é que essa não é uma forma de "privacidade na multidão". Isso significa que, ao contrário do Tornado Cash, que só pode oferecer garantias de privacidade para transferências de tokens convencionais, como ETH, as carteiras sigilosas também podem oferecer garantias de segurança para tokens de nicho e NFTs, ou ativos exclusivos na cadeia que não têm uma "multidão" na qual se misturar [17]. No entanto, até o momento, a discussão sobre "carteiras sigilosas" na Ethereum permaneceu no estágio teórico, e a eficácia da implementação e as repercussões legais dessa nova solução tecnológica ainda não foram observadas.
ZKPs e o futuro da privacidade na Web3
Como podemos ver, a privacidade é complicada na Web3. Diferentes abordagens para o problema - no nível da rede, no nível do protocolo e no nível do usuário - convidam a diferentes soluções e exploram diferentes compensações entre transparência e privacidade. Dito isso, qualquer discussão sobre privacidade é incompleta sem considerar o outro lado da moeda: transparência e responsabilidade.
Para o bem ou para o mal, os reguladores estão certos ao dizer que é preciso haver uma maior responsabilidade nas transações de criptomoedas. Os malfeitores envolvidos em lavagem de dinheiro, atividades terroristas e fraudes financeiras devem ser responsabilizados, independentemente de usarem moedas fiduciárias ou criptomoedas para concluir suas transações. Mas, esperamos que na Web3 essa responsabilidade possa ser alcançada sem que os governos recorram ao desligamento total das redes de privacidade e forcem as pessoas a usar essas blockchains "criptograficamente nuas". A privacidade deve ser vista como um direito básico e uma medida de dignidade digital.
Durante muito tempo, a privacidade e a responsabilidade foram vistas como um jogo de soma zero, em que você poderia ocultar seus dados e ter privacidade ou mostrar seus dados e ter transparência. A inovação da Web3 está em seu pioneirismo em soluções tecnológicas elegantes, especialmente as Provas de Conhecimento Zero, para superar esse dilema de soma zero. Mas o ônus é da comunidade Web3, e não das agências reguladoras, para mostrar que essas tecnologias podem realmente funcionar para garantir tanto a privacidade quanto a responsabilidade.
Com muita frequência, as Provas de Conhecimento Zero são apresentadas como a solução definitiva para qualquer problema de privacidade. Mas, apesar de toda a sua magia matemática, as ZKPs estão longe de ser uma panaceia para todas as preocupações de privacidade da Web3 e têm várias desvantagens importantes. Em primeiro lugar, as ZKPs geralmente são circuitos altamente especializados usados para provar uma determinada informação estruturada de uma maneira específica. Em geral, elas sofrem com a falta de escalabilidade e compatibilidade. Em segundo lugar, sua criação, execução e manutenção são muito caras, exigindo um poder de computação muito maior do que um programa equivalente que não seja ZKP.
Portanto, ao pensar em ZKPs no âmbito da privacidade, a questão importante sempre será "o que" você vai provar e "por quê"? Afinal de contas, não existe almoço grátis, e projetar uma ZKP sempre terá um custo. É tão irresponsável para os evangelistas da tecnologia declarar que as ZKPs resolverão tudo em termos de privacidade quanto é para os reguladores fechar todos os protocolos de privacidade.
Essencialmente, a privacidade na Web3 não é apenas uma questão de engenharia; é uma questão de princípios fundamentais. Desde o lançamento do whitepaper sobre o Bitcoin e a adoção comercial da blockchain, um dos princípios fundamentais da Web3 é a ênfase na ausência de necessidade mínima de confiança - em que você não precisa confiar informações a qualquer parte que possa potencialmente voltar essa confiança contra você. Uma rede só pode ser verdadeiramente sem necessidade mínima de confiança quando a privacidade de seus usuários é garantida por meio de uma maneira descentralizada, transparente e imparcial.
Então, como deve ser a privacidade na Web3? Essa é a questão mais importante a ser decidida por nós.
🐦 @0xfishylosopher
Referências
[1] https://bitcoin.org/en/protect-your-privacy
[2] https://decrypt.co/resources/monero
[3] https://blog.pantherprotocol.io/ring-signatures-vs-zksnarks-comparing-privacy-technologies/
[4] https://z.cash/technology/zksnarks/
[5] O exemplo do Gradescope foi extraído de uma de minhas publicações anteriores no blog, que discute os princípios dos ZKPs (e do zk-Sync v2.0) com mais profundidade: https://medium.com/web3-insights/zk-sync-v2-0-and-the-future-of-zk-rollups-2d9617d5193b
[6] https://dailycoin.com/monero-xmr-darknet-darling/
[8] https://messari.vercel.app/article/on-chain-privacy
[9] https://www.coincenter.org/education/advanced-topics/how-does-tornado-cash-work/
[10] https://home.treasury.gov/news/press-releases/jy0916
[11] https://time.com/6205143/tornado-cash-us-crypto-ban/
[12] Veja mais: https://zk.money/
[13] Veja mais sobre o dID: https://beincrypto.com/learn/decentralized-identity/
[15] Whitepaper da Notebook Labs: https://assets.website-files.com/635b21dddd46c8cddf2171fd/635b21dddd46c8be9021722c_Notebook_Whitepaper.pdf
[17] Discussão técnica sobre "stealth wallets" omitida aqui para simplificar. Vitalik Buterin tem um diagrama esquemático muito claro de como funciona a criptografia por trás das "stealth wallets": https://vitalik.ca/general/2023/01/20/stealth.html
Este artigo foi escrito por Fishy On-Chain e traduzido para o português por Rafael Ojeda
Você pode ler o artigo original em inglês aqui
Latest comments (0)