Vitalik Buterin, cofundador do ETH Workshop, deixou claro que o ETH Workshop fracassará sem uma mudança tecnológica na transição de privacidade. Como todas as transações são publicamente visíveis, os sacrifícios de privacidade são grandes demais para muitos usuários, e todos estão se voltando para soluções centralizadas que ocultam dados pelo menos até certo ponto.
Em 2023, Vitalik realizou uma série de estudos sobre proteção de privacidade e o avanço das tecnologias de provas de conhecimento zero (ZK). No primeiro semestre do ano, Vitalik publicou três artigos em seu site dedicados à ZK e à proteção da privacidade. Em abril, ele também apresentou um estudo no Reddit sobre a privacidade dos guardiões da carteira. Em setembro, ele foi coautor de um artigo com outros profissionais propondo uma solução para equilibrar privacidade e conformidade.
Além disso, a ETH Fang Ecology também está promovendo ativamente a discussão e popularização deste tópico. No evento ETHDenver, em março, foi realizado um evento especial focado na privacidade. Na conferência anual EDCON (Ethereum Community Conference) em maio, Vitalik enfatizou que “ZK-SNARKs serão tão importantes quanto blockchains nos próximos 10 anos”.
Este artigo acompanha os desenvolvimentos mais recentes no ecossistema ETH Fang em 2023 em termos de uso da tecnologia ZK para avançar na proteção da privacidade. Se você quiser chegar ao circuito ETH ZK, este artigo fornece a interpretação e orientação necessárias.
A transparência da ETH pode colocar as informações pessoais dos usuários em risco de serem comprometidas. Não há segredos em blockchains, como ETH, e todas as informações são públicas, o que inclui outras atividades on-chain, como transações, votação, etc. Essa abertura pode resultar na rastreabilidade de transações e endereços específicos e na sua ligação a identidades reais dos utilizadores. Portanto, é importante implementar a proteção da privacidade na ETH. Ocultar informações on-chain pode ser feito por meio de criptografia, mas o desafio é garantir que a validade dessas transações seja verificada, protegendo a privacidade. A tecnologia ZK fornece uma solução para provar a autenticidade de uma transação sem revelar informações adicionais, levando em conta a privacidade e verificabilidade.
A ETH atribui um alto valor aos ZK-SNARKs, especialmente em certos casos de uso importantes que preservam a privacidade. Isso fica evidente nas pesquisas e propostas de Vitalik, onde Salus reúne os cenários típicos que Vitalik propõe em sua pesquisa, a saber, transações privadas e recuperação social.
Quando se trata de transações privadas, Vitalik propõe dois conceitos: Stealth Addresses e Privacy Pools.
O esquema de endereços de privacidade permite que as transações sejam feitas sem ocultar a identidade do destinatário da transação. Essa abordagem fornece proteção de privacidade e, ao mesmo tempo, garante transparência e auditabilidade das transações.
Com base no protocolo de pool de privacidade, os usuários podem provar que seus fundos de negociação pertencem a uma fonte compatível conhecida sem divulgar transações históricas. Este esquema permite que os usuários realizem transações privadas, cumprindo os regulamentos.
Ambos os cenários são inseparáveis do ZK. Em ambos os cenários, os usuários podem gerar provas de conhecimento zero para provar a validade de suas transações.
2.1.1 Endereço de Privacidade
Digamos que Alice pretende transferir algum tipo de ativo para Bob, e quando Bob recebe o ativo, ele não quer que o público global saiba que ele é o destinatário. Embora seja difícil ocultar o facto da transferência de bens, é possível ocultar a identidade do destinatário. Foi neste contexto que surgiu o sistema de endereços amigos da privacidade, e o seu principal problema é como ocultar eficazmente a identidade do destinatário da transação.
Então, qual é a diferença entre um endereço de privacidade e um endereço ETH normal, e como usar um endereço de privacidade baseado em ZK para transações privadas? Salus irá apresentá-los um a um.
(1) Qual é a diferença entre um endereço privado e um endereço ETH comum?
Um endereço de privacidade é um endereço que permite que o remetente de uma transação seja gerado de forma não interativa e só pode ser acessado por seu destinatário. Vamos explicar a diferença entre o endereço de privacidade e o endereço ETH comum a partir de duas dimensões: quem o gera e quem tem acesso a ele.
Gerado por quem?
Endereços ETH comuns são gerados pelo próprio usuário com base em algoritmos de criptografia e hash. Um endereço privado pode ser gerado pela pessoa ou pela outra parte na transação. Por exemplo, quando Alice envia uma transferência para Bob, o endereço que Bob usa para aceitar a transferência pode ser gerado por Bob ou Alice, mas apenas controlado por Bob.
Quem pode aceder?
O tipo, o montante e a fonte de fundos de uma conta ETH ordinária são publicamente visíveis. Considerando que, em transações feitas com um endereço blindado, apenas o destinatário tem acesso aos fundos armazenados em seu endereço oculto. O observador não pode associar o endereço de privacidade do destinatário à sua identidade, protegendo a privacidade do destinatário.
(2) Como usar endereços de privacidade baseados em ZK para transações privadas?
Se Alice quiser enviar ativos para o endereço de privacidade de Bob para ocultar o destinatário da transação. Aqui está uma descrição detalhada do processo de negociação:
O endereço de privacidade no processo acima também pode ser construído usando provas de conhecimento zero construídas a partir de hashes e criptografia de chave pública. O código do contrato inteligente no endereço de privacidade pode ser integrado com o ZK. Ao incorporar a lógica de verificação de prova de conhecimento zero, os contratos inteligentes são capazes de verificar automaticamente a validade das transações. Este esquema para construir um endereço privado é mais simples do que outros esquemas, incluindo criptografia de curva elíptica, isogenias de curva elíptica, redes e primitivos genéricos de caixa preta.
2.1.2 Pool de Privacidade
Se as transações privadas são realizadas ocultando a identidade do destinatário da transação ou outras informações sobre a transação, há um grande problema: como os usuários podem provar que seus fundos de transação pertencem a uma fonte compatível conhecida sem ter que divulgar todo o seu histórico de transações. ETH Place, como uma plataforma blockchain pública, deve evitar se tornar um meio para lavagem de dinheiro e outras atividades ilegais.
Vitalik propôs uma solução chamada “Privacy Pool” que visa equilibrar as necessidades de proteção de privacidade e conformidade de blockchains. No entanto, quais são os desafios da proteção e conformidade de privacidade e como você equilibra privacidade e conformidade? Salus fornece uma discussão aprofundada e instrutiva sobre ambas as questões.
(1) Proteção da privacidade e desafios de conformidade
Garantir a conformidade das transações e, ao mesmo tempo, alcançar a proteção da privacidade é um desafio, e isso pode ser demonstrado de forma vívida pela análise do caso Tornado Cash.
Tornado Cash é um misturador de criptomoedas que mistura um grande número de depósitos e retiradas. Depois de depositar tokens em um endereço, os usuários podem apresentar o ZK Proof para provar que depositaram e, em seguida, retirar fundos de um novo endereço. Estas duas operações são públicas na cadeia, mas a correspondência entre elas não é pública, pelo que são anónimas. Embora possa melhorar a privacidade dos utilizadores, é frequentemente utilizada por intervenientes ilegais para branquear dinheiro. Como resultado, o Departamento do Tesouro dos EUA, OFAC, finalmente adicionou o endereço de contrato inteligente do Tornado Cash à lista de sanções. Os reguladores consideram que o acordo facilita o branqueamento de capitais e não favorece a luta contra a criminalidade financeira.
As deficiências do Tornado Cash na proteção da privacidade são que não há como verificar se a origem do token do usuário está em conformidade. Em resposta a esse problema, o Tornado Cash fornece um servidor centralizado para ajudar o usuário a provar que seu token está em conformidade. No entanto, o servidor deve obter os detalhes do saque fornecidos pelo usuário e determinar a qual depósito o saque corresponde, a fim de gerar a prova. Este mecanismo centralizado não só tem o custo dos pressupostos de confiança, mas também produz assimetria de informação. Em última análise, o mecanismo é pouco utilizado pelos utilizadores. Embora o Tornado Cash implemente recursos de privacidade, ele não fornece um mecanismo eficaz para verificar se a fonte do token de um usuário está em conformidade, que é o que os criminosos podem explorar.
(2) Como você equilibra privacidade e conformidade?
Com base nesses desafios, Vitalik criou o conceito de Privacy Pools, que permite aos usuários provar que suas fontes de financiamento estão em conformidade sem revelar informações históricas de transações. Isso estabelece um equilíbrio entre privacidade e conformidade.
Os Pools de Privacidade são baseados em ZK e conjuntos de associações, permitindo que os usuários gerem e emitam provas ZK-SNARK que provam que seus fundos vêm de uma fonte conhecida e compatível. Isto significa que os fundos pertencem a um conjunto de associações compatíveis, ou não pertencem a um conjunto de associações não conformes.
As coleções de correlação são construídas por provedores de coleta de associação com base em políticas específicas:
Prova de adesão: Coloque os depósitos de todas as plataformas de negociação confiáveis em um conjunto de correlações e, além disso, há evidências conclusivas de que eles são de baixo risco.
Prova de exclusão: Identificar um grupo de depósitos que foram sinalizados como de risco, ou para os quais há evidências conclusivas de que são fundos não conformes. Construa uma coleção associada que contenha todos os depósitos, exceto esses depósitos.
Ao fazer um depósito, os utilizadores geram um segredo através do ZK e hash um ID de moeda pública para marcar a sua associação com os fundos. Ao retirar, o usuário envia um nullifier correspondente ao segredo (o nullifier é um identificador único derivado do segredo), provando que os fundos são seus. Além disso, os usuários podem provar que seus fundos pertencem a uma fonte conhecida e compatível, provando duas filiais merkle através da ZK:
O ID da moeda pertence à árvore de identificação da moeda, que é uma coleção de todas as transações que estão atualmente a decorrer;
Seu ID de moeda pertence a uma árvore de conjunto de associação, que é uma coleção de transações que o usuário considera estar em conformidade.
(3) Quais são os cenários de aplicação do ZK em pools de privacidade?
Flexibilidade para transações privadas: Para processar transferências de qualquer denominação em transações privadas, provas adicionais de conhecimento zero são anexadas a cada transação. Essa prova garante que a denominação total do token criado não exceda a denominação total do token que está sendo consumido, garantindo assim a validade da transação. Em segundo lugar, a ZK mantém a continuidade e a privacidade da transação, verificando o compromisso de cada transação com o ID do token de depósito original, tornando possível garantir que cada retirada esteja associada ao seu depósito original correspondente, mesmo no caso de retiradas parciais.
Ataques de soma de saldo: Os ataques de soma de saldo podem ser resistidos mesclando tokens e comprometendo-se com um conjunto de IDs de token, bem como um compromisso de união de transações pai para várias transações de entrada. Essa abordagem depende da ZK para garantir que todos os IDs de token comprometidos estejam em suas coleções associadas, aumentando a privacidade das transações.
Na vida real, podemos ter mais de uma conta de cartão bancário. Perder o PIN do seu cartão significa que não podemos usar os fundos do nosso cartão. Neste caso, normalmente vamos ao banco pedir ajuda para recuperar a senha.
Da mesma forma, em blockchains como ETH, podemos ter vários endereços (contas). Uma chave privada, como uma senha de cartão bancário, é a única ferramenta que você tem para controlar os fundos da sua conta. Depois de perder a sua chave privada, perde o controlo da sua conta e deixa de poder aceder aos fundos da sua conta. Semelhante à recuperação de senha do mundo real, as carteiras blockchain fornecem um mecanismo de recuperação social para ajudar os usuários a recuperar suas chaves privadas perdidas. Esse mecanismo permite que os usuários selecionem um grupo de indivíduos confiáveis para agir como guardiões ao criar uma carteira. Esses guardiões podem ajudar os usuários a recuperar o controle de suas contas, aprovando a redefinição de suas chaves privadas no caso de perderem suas chaves privadas.
No âmbito deste mecanismo de recuperação social e tutela, Vitalik propõe dois pontos de proteção da privacidade que devem ser atentados:
Ocultar a correlação entre vários endereços: Para proteger a privacidade do usuário, precisamos evitar que a atribuição de vários endereços seja exposta ao recuperar vários endereços com uma única frase de recuperação.
Proteger a privacidade da propriedade do usuário do tutor: Devemos garantir que o tutor não possa obter informações patrimoniais do usuário ou observar o comportamento de transação do usuário durante o processo de aprovação da operação do usuário, de modo a evitar que a privacidade da propriedade do usuário seja violada.
A tecnologia-chave para alcançar ambos os tipos de proteções de privacidade é a prova de conhecimento zero.
2.2.1 Ocultar a correlação entre vários endereços de um utilizador
(1) Questões de privacidade na recuperação social: A correlação entre endereços é divulgada
Em blockchains como ETH, os usuários geralmente geram vários endereços para várias transações, a fim de proteger sua privacidade. Usando endereços diferentes para cada transação, você pode impedir que observadores externos associem facilmente essas transações ao mesmo usuário.
No entanto, se a chave privada do utilizador for perdida, os fundos gerados pela chave privada em vários endereços não serão recuperados. Neste caso, a recuperação social é necessária. Uma maneira fácil de recuperar é recuperar vários endereços com um clique, onde o usuário usa a mesma frase de recuperação para recuperar vários endereços gerados por uma única chave privada. No entanto, essa abordagem não é ideal, pois os usuários geram vários endereços para evitar que eles sejam associados uns aos outros. Se um usuário optar por restaurar todos os endereços ao mesmo tempo ou em um momento semelhante, isso efetivamente revela que os endereços são de propriedade do mesmo usuário. Isso vai contra a intenção original do usuário de criar vários endereços para proteger sua privacidade. Isso constitui uma questão de proteção da privacidade no processo de recuperação social.
(2) Solução ZK: Como evitar que a correlação de vários endereços seja divulgada?
A tecnologia ZK pode ser usada para esconder a correlação entre vários endereços de um usuário no blockchain e resolver o problema de privacidade da recuperação social por meio de uma arquitetura que separa a lógica de verificação e as posses de ativos.
Lógica de verificação: Os usuários têm vários endereços no blockchain, mas a lógica de verificação para todos eles está conectada a um contrato de autenticação principal (contrato de armazenamento de chaves).
Asset Holding and Trading: Quando os usuários operam a partir de qualquer endereço, eles aproveitam a tecnologia ZK para verificar a permissão para operar sem revelar qual endereço é.
Desta forma, mesmo que todos os endereços estejam conectados ao mesmo contrato de armazenamento de chaves, um observador externo não pode determinar se os endereços pertencem ao mesmo usuário, alcançando assim a privacidade entre os endereços.
É importante conceber um esquema privado de recuperação social que possa recuperar vários endereços de utilizadores ao mesmo tempo sem revelar a correlação entre eles.
2.2.2 Proteger a privacidade da propriedade do utilizador contra a violação de tutores
(1) Questão de privacidade: o privilégio do tutor
Em blockchains como ETH, os usuários podem definir vários guardiões ao criar uma carteira. Especialmente para carteiras multisig e carteiras de recuperação social, o papel de guardião é crucial. Normalmente, um tutor é uma coleção de N endereços mantidos por outra pessoa, onde qualquer endereço M pode aprovar uma ação.
Quais são os privilégios da tutela, tais como:
Para carteiras multisig, cada transação deve ser assinada por M dos N guardiões antes de poder ser processada.
Para a Carteira de Recuperação Social, se a chave privada do usuário for perdida, M dos N guardiões devem assinar uma mensagem para redefinir a chave privada.
Os guardiões podem aprovar suas ações. Em multisig, esta seria qualquer transação. Na Carteira de Recuperação Social, esta será uma redefinição da chave privada da sua conta. Um dos desafios que o mecanismo de tutela enfrenta hoje é como proteger a privacidade financeira do usuário da invasão do tutor.
(2) Solução ZK: Proteger a privacidade da propriedade dos usuários contra a violação de tutores
Neste artigo, Vitalik prevê que o guardião não está protegendo sua conta, mas sim um contrato de “cofre”, e o link entre sua conta e esse cofre está oculto. Isso significa que os tutores não têm acesso direto à conta do usuário e só podem fazê-lo por meio de um contrato de cofre oculto.
O principal papel do ZK é fornecer um sistema de atestado que permita aos tutores provar que uma declaração é verdadeira sem revelar os detalhes da declaração. Neste caso, o tutor pode usar o ZK-SNARK para provar que tem autoridade para executar uma ação sem revelar quaisquer detalhes relacionados com a “ligação entre a conta e o cofre”.
Enquanto a pista ETH ZK ainda está em fase de desenvolvimento, e muitas ideias e conceitos inovadores ainda estão sendo concebidos e estudados, o ecossistema ETH já lançou uma gama mais ampla de atividades práticas de exploração.
(1) Financiamento da Fundação ETH
Em setembro, a ETH Ethereum Foundation financiou dois projetos de preservação da privacidade, IoTeX e ZK-Team. IoTex é uma carteira abstrata para contas com base em provas de conhecimento zero, e a ZK-Team é dedicada a permitir que as organizações gerenciem os membros da equipe, mantendo a privacidade pessoal.
(2) Investimento
Em outubro, Vitalik, cofundador da ETH Place, investiu na Nocturne Labs com o objetivo de trazer contas privadas para a ETH Place. Os utilizadores terão contas ‘internas’ no Nocturne e o método de receber/gastar fundos dessas contas será anónimo. Com a tecnologia ZK, os usuários podem provar que têm fundos suficientes para transações, como pagamentos, staking, etc.
(3) Reuniões e eventos
O ETHDenver é considerado um dos eventos relacionados à tecnologia ETH e blockchain mais importantes do mundo. Em março deste ano, a ETHDenver sediou um evento especial focado na privacidade. Este evento não só mostra a preocupação da comunidade ETH com questões de privacidade, mas também reflete a importância que a comunidade global de blockchain atribui à proteção da privacidade. Neste evento especial, foram realizadas nove sessões relacionadas com privacidade, incluindo Privacy by Design e Privacy vs Security.
EDCON (Ethereum Community Conference) é uma conferência global anual organizada pela comunidade ETH, com o objetivo de promover o desenvolvimento e a inovação da ETH, e fortalecer a conexão e cooperação da comunidade ETH. Na conferência EDCON em maio deste ano, Vitalik fez uma declaração importante, afirmando que “nos próximos 10 anos, ZK-SNARKs serão tão importantes quanto blockchain”. Esta declaração destaca a importância do ZK-SNARKs na tendência de desenvolvimento da tecnologia blockchain.
(4) Projetos
Atualmente, alguns projetos de camada de aplicação começaram a usar a tecnologia ZK para fornecer serviços de proteção de privacidade para usuários e transações. Esses projetos de camada de aplicativo são chamados de ZK Applications. Por exemplo, ZK Application, unyfy, uma troca de ativos de privacidade implantada em ETH. Aqui os preços das ordens de negociação são ocultos, e a integridade dessas ordens com preços ocultos é verificada pela tecnologia ZK. Além do unyfy, há uma série de outras aplicações ZK em L2s, como ZigZag e Loopring, entre outros. Embora esses aplicativos ZK preservam a privacidade com base no ZK, eles não podem ser implantados no ETH porque o EVM não pode executar esses aplicativos ZK diretamente.
(5) Investigação
Além disso, os pesquisadores tiveram uma discussão acalorada sobre a tecnologia ZK e suas aplicações na plataforma Ethereum Research, incluindo um artigo de pesquisa da Salus dedicado ao uso do ZK para promover a implementação da proteção de privacidade na camada de aplicação do ETH. Este artigo testa o desempenho de várias linguagens ZK diferentes, Circom, Noir e Halo 2, e os resultados mostram que o Circom tem melhor desempenho. O artigo também propõe uma solução genérica para integrar o Circom no Solidity para implementar um projeto de camada de aplicação ETH baseado em ZK. Isso é de grande importância para a ETH Fang alcançar uma transição de privacidade. Este estudo ganhou atenção significativa em 2023, ocupando o primeiro lugar da lista.

Este artigo de pesquisa é o estudo mais lido de 2023 sobre Ethereum Research— autor Salus
Embora muitos dos projetos de camada de aplicação ETH existentes precisem urgentemente introduzir um mecanismo de preservação da privacidade baseado no ZK, esse processo enfrenta uma série de desafios.
Falta de recursos de talentos em ZK: O estudo da tecnologia ZK requer uma base teórica sólida, especialmente nos campos da criptografia e matemática. Uma vez que a implementação da tecnologia ZK envolve fórmulas complexas, os alunos também precisam ter fortes habilidades de interpretação de fórmulas. Mas o problema é que há relativamente poucas pessoas que se concentram em aprender a tecnologia ZK.
Limitações das linguagens de desenvolvimento ZK: Linguagens como Rust, Cairo e Halo 2 são usadas para desenvolver circuitos de prova ZK, mas geralmente são adequadas apenas para cenários específicos e não são adequadas para projetos de camada de aplicação. Algumas dessas linguagens, como o Cairo, ainda são experimentais, e pode haver problemas de compatibilidade entre diferentes versões, o que torna difícil e complexo adotá-las em aplicações do mundo real.
Dificuldade na implementação da tecnologia ZK: A solução da Vitalik de aplicar a tecnologia ZK à proteção de privacidade em ETH pode enfrentar uma variedade de problemas complexos na implementação real, como evitar ataques de soma de saldo e ataques de gastos duplos em transações privadas. Existe uma certa dificuldade técnica na resolução destes problemas.
Privacidade versus conformidade: embora as transações privadas protejam as identidades e os detalhes das transações dos usuários, elas também podem mascarar atividades ilegais, como lavagem de dinheiro. No futuro, resta verificar se os aplicativos ZK em ETH estarão em conformidade no processo de implementação da proteção de privacidade.
Apesar dos desafios, a transição da ETH Place para a privacidade – um pré-requisito para garantir a transferência de fundos que fornecem proteção de privacidade e garantir que todas as outras ferramentas que estão sendo desenvolvidas (recuperação social, identidade, reputação) protejam a privacidade – é implantar aplicativos ZK extensivamente. Como mencionado acima, a pesquisa publicada pela Salus é baseada na tecnologia ZK para promover recursos como a proteção da privacidade na camada de aplicação ETH. Além disso, Salus propôs pela primeira vez uma solução universal que integra o Circom e o Solidity e a aplica a projetos de camada de aplicação ETH, implementando o sistema de prova ZK off-chain baseado no Circom e implementando contratos inteligentes e lógica de verificação ZK no ETH baseado no Solidity. Se precisar de apoio ou tiver alguma dúvida, não hesite em contactar a Salus.
Em 2023, a comunidade ETH, liderada por Vitalik Buterin, explorou o potencial da tecnologia à prova de conhecimento zero com o objetivo de melhorar os recursos de preservação da privacidade da plataforma. Embora essas propostas ainda estejam em fase de pesquisa, a pesquisa e os documentos de Vitalik, particularmente sobre o equilíbrio entre privacidade e conformidade, fornecem uma base teórica para técnicas de conhecimento zero para proteger a privacidade do usuário.
Embora existam desafios na integração da tecnologia à prova de conhecimento zero na ETH, espera-se que as provas de conhecimento zero desempenhem um papel ainda mais importante no ecossistema de oficinas de ETH no futuro próximo, à medida que a tecnologia amadurece e a comunidade continua a trabalhar duro. Por conseguinte, o envolvimento atempado e a exploração ativa nesta área, aproveitando as primeiras oportunidades, ajudarão a ocupar uma posição forte neste campo emergente.