ZKPs, FHE, MPC: Gerir Estado Privado em Blockchains

Avançado5/6/2024, 12:18:51 PM
Bitcoin e Ethereum eliminaram intermediários em transações financeiras, mas sacrificaram a privacidade. Com o desenvolvimento da tecnologia de prova de conhecimento zero, a privacidade on-chain tornou-se um tema central da Web 3. Aztec e Aleo são duas redes promissoras. ZKP é adequado para alterações de estado privado, protegendo a privacidade do usuário e pode ser utilizado em casos de uso como mídias sociais anônimas e faturas/pagamentos empresariais. Métodos FHE podem lidar com o problema de compartilhamento de estados privados, aplicáveis a cenários como empréstimos DeFi sem garantia e KYC on-chain. Métodos MPC podem proteger a privacidade de chaves privadas e dados, sendo adequados para treinamento e inferência de IA descentralizados. Essas tecnologias podem ser combinadas para alcançar um efeito de proteção mais abrangente.

O Bitcoin, lançado há quase 14 anos, revolucionou as transações financeiras ao eliminar intermediários. O advento da Ethereum e dos contratos inteligentes acelerou ainda mais essa tendência, eliminando intermediários de produtos financeiros complexos como negociação, empréstimos e opções. No entanto, o custo de remover intermediários muitas vezes foi o sacrifício da privacidade. Nossa identidade e transações on-chain são facilmente rastreadas por bolsas centralizadas, rampas de entrada/saída, empresas de análise on-chain e muitas outras entidades. Essa transparência on-chain limita a expansão da Web 3 para muitos casos de uso, como pagamentos empresariais, negociação on-chain proprietária e muitas outras aplicações.

Este problema não é novo e muitos projetos, por exemplo, zCash, têm tentado resolvê-lo desde 2016, introduzindo tecnologias como Provas de Conhecimento Zero (ZKPs). Desde então, a tecnologia ZK avançou a um ritmo insano. Além disso, muitas outras tecnologias, como Criptografia Totalmente Homomórfica (FHE) e Computações Seguras de Multi-partes (MPC), estão surgindo para lidar com cenários mais sofisticados de uso de dados privados on-chain, também conhecido como Estado Privado.

Na Alliance, acreditamos que a privacidade on-chain permitirá casos de uso que antes não eram possíveis e, portanto, será um tema central na Web 3 nos próximos anos. Se é um fundador a construir infraestruturas de privacidade ou aplicações que requerem um estado privado, gostaríamos de o apoiar. Pode contactare aplicar aAliança.

Os diferentes tipos de estado privado

Usar dados privados on-chain significa naturalmente que esses dados estão criptografados. A privacidade desses dados depende da propriedade da chave de criptografia/decodificação. Esta chave, ou seja, chave de privacidade, é frequentemente diferente da Chave Privada regular, ou seja, a chave para assinar transações. A primeira controla apenas a privacidade dos dados, a última controla a alteração desses dados.

A natureza de propriedade da Chave de Privacidade leva a diferentes tipos de estados privados. O tipo de estado privado afeta significativamente como este estado pode ser representado on-chain e a melhor abordagem para lidar com este estado. Em geral, o estado privado pode ser dividido em Estado Privado Pessoal (EPP) e Estado Privado Compartilhado (EPC)

Estado privado pessoal

Isto significa que os dados/o estado são de propriedade de uma única entidade e apenas essa entidade pode visualizá-los ou alterá-los. Esta entidade também pode decidir permitir que outros visualizem os dados, por exemplo, compartilhando uma chave de visualização para todos ou parte desses dados. Exemplos deste estado privado incluem:

  • Saldo do token privado
  • Credenciais privadas ou informações pessoais. isso inclui idade, cidadania, status de acreditação de investidor, conta do Twitter ou qualquer outro dado da Web 2 que possa ser utilizado na Web 3
  • Histórico de transações privadas

Estado Privado Compartilhado

Um estado privado compartilhado (SPS) é um dado privado que múltiplas pessoas podem alterar/usar para cálculos sem comprometer a privacidade. Um SPS pode ser um estado acessível por qualquer pessoa e, portanto, pode ser alterado por qualquer usuário. Isso pode ser o estado de um AMM dark pool, o estado de um pool de empréstimos privados, etc. Um SPS também pode ser limitado a um pequeno grupo de participantes que podem acessar ou alterar os dados. Exemplos disso incluem o estado de um jogo multiplayer on-chain onde apenas os jogadores ativos podem alterar o estado. Também pode incluir entradas privadas para um modelo de IA on-chain, onde apenas algumas entidades, por exemplo, o operador do modelo, podem processar cálculos sobre os dados privados.

SPS é mais difícil de gerir do que o estado privado pessoal. É sempre mais difícil raciocinar sobre o tipo de cálculo que pode ser realizado em SPS e se esse cálculo pode vazar informações sobre ele. Por exemplo, executar uma negociação contra um AMM de dark-pool pode vazar algumas informações sobre a liquidez dentro da pool.

ZKPs, FHE e MPC

Existem diferentes abordagens possíveis para lidar com estados privados on-chain. Cada abordagem é adequada para um tipo específico de estado privado e, portanto, um conjunto específico de aplicações. Em muitos casos, a criação de uma aplicação útil requer a combinação dessas abordagens em conjunto.

Provas de Conhecimento Zero

A primeira abordagem que surgiu para lidar com a privacidade on-chain foi a utilização de ZKPs. Esta abordagem é particularmente adequada para dados privados pessoais. Nesta abordagem, o proprietário dos dados pode simplesmente desencriptar os dados localmente usando a sua chave de privacidade, fazer quaisquer alterações necessárias, encriptar o resultado usando a sua chave e, finalmente, gerar um ZKP para provar à rede que as suas alterações ao estado privado são válidas.

Isso tornou o ZK particularmente adequado para redes de pagamento, por exemplo, zCash, Iron Fish e muitos outros. Nesta arquitetura, quando os usuários transacionam usando ativos privados, eles realizam todos os cálculos localmente, ou seja, gastando UTXOs e criando novos para o destinatário, e modificando seus saldos de token privados. Como os cálculos e a geração de ZKP acontecem localmente no dispositivo do usuário, a privacidade dos saldos e do histórico de transações é protegida. Os mineradores de rede apenas veem o ZKP gerado e o novo UTXO criptografado.

Apesar da simplicidade dos cálculos necessários para realizar pagamentos, a UX dos pagamentos privados era difícil devido aos longos tempos de geração de ZKP. No entanto, com melhorias significativas nos sistemas de prova de zk, o tempo de geração de prova para pagamentos simples caiu abaixo de 1 segundo em hardware de consumo. Isso também permitiu a introdução de programabilidade geral em sistemas baseados em zk.AztecaeAleosão duas grandes redes que estão a trazer programabilidade geral para cadeias baseadas em zk. Aztec e Aleo têm algumas diferenças, mas ambas são amplamente baseadas no modelo ZEXENeste modelo, cada aplicação tem de ser implementada como um circuito zk. Isso criou a necessidade de a rede abstrair a complexidade zk para os desenvolvedores de aplicativos e utilizadores. Isso exigiu a criação de linguagens de programação de alto nível, por exemplo, Noir (Aztec) e Leo (Aleo), que podem converter eficientemente código de alto nível em circuitos zk.

Por exemplo, Aztec usa Noir e seu framework de desenvolvimento de contratos inteligentes associado, Aztec.nr, para quebrar cada contrato inteligente em um conjunto de funções. Cada função é implementada como um circuito zk. Os usuários podem realizar computação geral em seus dados privados baixando as funções necessárias e realizando a computação localmente em seus dispositivos. Os detalhes de como a execução de contratos inteligentes da Aztec foi discutida neste rosca.

A implementação como Aztec melhorou significativamente a usabilidade dos sistemas zk ao introduzir a programabilidade geral. No entanto, esses sistemas ainda enfrentam vários desafios:

  1. Qualquer computação sobre estado privado tem de acontecer no lado do cliente. Isto degrada a experiência do utilizador e requer que os utilizadores tenham dispositivos capazes de utilizar a rede.
  2. A abordagem zk não é adequada para lidar com estado privado compartilhado. Por padrão, todas as aplicações têm estado público. Isso torna desafiador construir aplicações como jogos incompletos de informação e DeFi privado.
  3. Composição mais difícil, não é possível executar transações que exigem a alteração de vários estados privados, já que cada estado precisa ser calculado por um usuário separado. Tais transações precisam ser divididas em partes e cada parte deve ser executada em um bloco separado.
  4. Também existem desafios na descoberta de dados privados. Se um utilizador recebe uma transação com um estado privado, não consegue descobrir esse estado a menos que descarregue o estado privado completo da rede, tente desencriptar cada parte utilizando a sua chave de privacidade. Isto cria uma experiência de utilizador desafiante, mesmo para realizar tarefas simples como consultar o seu saldo, como explicado por este rosca.

Aplicações adequadas para sistemas baseados em zk

As fortes garantias de privacidade do zk tornam-no adequado para um número considerável de casos de uso

Mídia Social Anônima

Algumas figuras de destaque não podem partilhar os seus verdadeiros pensamentos e experiências com receio de reações sociais negativas e cancelamento. Isto encoraja um novo tipo de rede social onde os participantes podem comprovar em privado certas características sobre si mesmos, por exemplo, riqueza na blockchain ou a posse de um NFT específico, e usar essa comprovação para publicar anonimamente sem revelar a sua verdadeira identidade. Exemplos incluem Canções de baleiasprotótipo pelo meu colegaDavid,

Credenciais privadas na cadeia de blocos

Um exemplo relacionado é permitir que pessoas com determinadas credenciais participem anonimamente num DAO ou votem anonimamente em tópicos que requerem expertise específica. Um exemplo de Web 3 disso é HeyAnoun. Um domínio de aplicação maior está a alavancar credenciais IRL, por exemplo, riqueza IRL, graus académicos, para participar anonimamente em protocolos on-chain. A integração de credenciais privadas IRL on-chain pode permitir múltiplos casos de uso como empréstimos DeFi sem garantia, KYC on-chain ou segmentação geográfica. ZK é adequado para estes casos de uso porque permite a existência de chaves de visualização especializadas para partes do estado privado que podem ser usadas em circunstâncias específicas, por exemplo, incumprimento de empréstimo.

O principal desafio de integrar credenciais IRL na cadeia é como garantir a autenticidade das credenciais/dados IRL. Algumas abordagens como zkEmaileTLSNotaryabordar este problema através da autenticação do tráfego web para domínios web específicos e que o domínio contenha os dados necessários.

Faturação/ Pagamentos empresariais

Um subconjunto importante de pagamentos privados é o pagamento empresarial. As empresas muitas vezes não querem revelar seus parceiros comerciais/fornecedores ou os termos contratuais de seus acordos. A transparência dos pagamentos on-chain limitou a adoção empresarial dos pagamentos em stablecoin. Com a privacidade adequada on-chain,adoção de empresas de pagamentos on-chainpode ser acelerado com base na eficiência aprimorada e na relação custo-eficácia em comparação com os sistemas bancários existentes.

Abordagem FHE

A Criptografia Totalmente Homomórfica permite realizar cálculos sobre dados criptografados e gerar resultados criptografados corretos sem descriptografar os dados durante o cálculo. Isso torna a FHE particularmente adequada para lidar com estados privados compartilhados. Com a FHE, é possível criar aplicações on-chain que possuem estado privado, como pools AMM privadas ou uma urna de voto privada. O estado privado existe on-chain em um formato criptografado, permitindo que qualquer usuário realize cálculos sobre esses dados. A incorporação da FHE on-chain pode permitir e simplificar inúmeros casos de uso que não eram possíveis anteriormente, como votação privada e jogos com informações incompletas, por exemplo, Poker.

Vantagens FHE

Uma vantagem significativa do FHE é melhorar a composição em múltiplos aspectos.

  1. Várias transações/usuários podem alterar o mesmo estado privado no mesmo bloco. Por exemplo, várias trocas podem usar o mesmo dark pool.
  2. Uma única transação pode alterar vários estados privados. Por exemplo, uma transação de troca pode utilizar várias pools escuras de AMM para concluir uma troca.

Outra vantagem é a melhoria da experiência do usuário. No FHE, os cálculos sobre o estado privado são realizados pelos validadores da rede que podem implantar hardware especializado para realizar esses cálculos mais rapidamente.

Uma terceira vantagem do FHE é a melhoria da experiência do desenvolvedor. Embora os desenvolvedores ainda tenham que atualizar seus modelos mentais para lidar adequadamente com o estado privado, a barreira é muito menor do que nos sistemas zk. Em primeiro lugar, os sistemas FHE podem operar com o mesmo modelo de conta que as cadeias de contratos inteligentes usam. Em segundo lugar, as operações FHE podem ser adicionadas às implementações existentes de VM, permitindo que os usuários usem os mesmos frameworks de desenvolvimento, ferramentas, carteiras e infraestrutura com que estão acostumados. Este é o caso para o fhEVMimplementação a partir deZamaque simplesmente adicionaram as variáveis criptografadas e as operações FHE como pré-compilações. Contra-intuitivamente, essa vantagem é fundamental para o crescimento de aplicações privadas on-chain, os desenvolvedores são a chave para criar aplicações interessantes que atraiam usuários. Uma experiência de desenvolvedor perfeita pode atrair mais desenvolvedores para o espaço FHE.

Limitações do FHE

Assunções de Confiança de Privacidade

As cadeias FHE requerem chaves globais de criptografia/descriptografia para todo o estado privado. Isto é crucial para alcançar a componibilidade. Tipicamente, estas chaves são mantidas pelo grupo de validadores para poderem descriptografar os resultados das operações FHE sobre o estado privado. Isto significa que o grupo de validadores também confiávelnão violar a privacidade dos estados privados existentes.

Potencial Vazamento de Privacidade
Realizar múltiplos cálculos sobre os dados criptografados pode quebrar a privacidade. Por exemplo, as negociações executadas em uma pool AMM escura podem revelar algumas informações sobre a estrutura de liquidez atual da pool.

Complexidade computacional do cálculo FHE

Mesmo com implementações avançadas, as operações FHE são frequentemente 1000x a 1.000.000x mais caras computacionalmente do que as computações regulares. Essa complexidade limita a taxa de transferência possível das aplicações FHE on-chain. Estimativas atuais da Inco Network indicam uma taxa de transferência entre 1–5 TPS para operações FHE. Com aceleração de GPU e FPGA, essa taxa de transferência pode ser acelerada em 10–50x.

Fonte: https://eprint.iacr.org/2021/1402.pdf

Aplicações adequadas para sistemas FHE

Os sistemas FHE são particularmente adequados para aplicações que requerem um alto grau de composibilidade

Jogos com informações incompletas. Exemplos incluem jogos de cartas, como o pôquer, onde o estado do baralho é acessível e pode ser modificado por vários jogadores.

Votação privada, FHE simplifica a implementação de pesquisas secretas quando os votos podem alterar o total de votos sem conhecer o resultado da votação anterior

AMM privado, a implementação de AMMs privados ou pools DeFi privados em geral é simplificada ao representar o estado do pool como variável criptografada.

Abordagem MPC

Computação multi-party (MPC) tem sido conhecida e popular dentro da indústria de criptomoedas pelo caso de uso específico da custódia de ativos. Algumas das maiores empresas no espaço, por exemplo, Fireblocksconstruíram negócios bem-sucedidos em torno da utilização segura de MPC para custódia de concorrência. Além disso, muitos fornecedores de carteiras como serviço, por exemplo, Coinbase, 0xPass, utilize MPC para melhorar a segurança e a UX da carteira.

No entanto, o MPC pode ser usado para mais do que garantir chaves privadas. Em geral, o MPC resolve o problema de realizar cálculos sobre inputs privados, ou seja, dados, e apenas revelar o resultado dos cálculos sem comprometer a privacidade dos inputs. No contexto específico da custódia de ativos, os inputs privados são os fragmentos da chave privada. Os proprietários desses fragmentos colaboram para realizar a 'computação' sobre esses inputs privados. A computação aqui consiste em gerar uma assinatura de transação. As várias partes aqui geram e descriptografam coletivamente a assinatura sem que nenhuma delas tenha acesso aos inputs privados, ou seja, à chave privada.

Da mesma forma, o MPC permite qualquer tipo de computação sobre dados privados sem os revelar. Isso permite que o MPC lide com o estado privado num contexto de blockchain. Um exemplo disso é o treino descentralizado de IA sobre conjuntos de dados privados. Diferentes proprietários de dados e fornecedores de computação podem colaborar para realizar o treino de IA baseado em MPC sobre os conjuntos de dados privados para calcular os pesos do modelo. A saída da computação, ou seja, os pesos, é desencriptada pelo grupo do MPC após a fase de treino para criar o modelo de IA completo.

Muitas implementações MPC alcançam fortes garantias de privacidade para a privacidade de dados, ou seja, minoria honesta, o que significa que tem garantias de privacidade semelhantes aos sistemas zk. O MPC também pode ser semelhante ao FHE, pois permite executar computação em uma SPS, o que significa que pode permitir a capacidade de composição. No entanto, em comparação com FHE, MPC tem algumas limitações

  1. O cálculo só pode ser realizado pelas entidades que fazem parte do grupo MPC. Ninguém fora deste grupo pode realizar quaisquer cálculos sobre os dados
  2. Para garantir minorias honestas, todas as partes do MPC precisam cooperar para realizar o MPC. Isso significa que o cálculo pode ser censurado por qualquer membro do grupo MPC. Essa limitação pode ser relaxada ao reduzir o limiar do MPC, ou seja, o número de entidades necessárias para realizar a computação. No entanto, o preço aqui é que a privacidade dos dados pode ser violada pela coordenação entre um número menor de participantes.

Aplicações adequadas para sistemas MPC

Dark Pool CLOBs

Uma das primeiras aplicações reais de MPC em DeFi é a implementação de Dark Pool CLOBs. Neste sistema, os traders podem colocar ordens limitadas ou de mercado sem conhecimento prévio do estado do livro de ordens. A correspondência de pedidos ocorre por meio de MPC sobre os dados privados, ou seja, o livro de ordens existente.Finanças Renegadeé uma das empresas que constroem tal sistema.

Inferência descentralizada de modelos de IA proprietários

Algumas aplicações, por exemplo, gestores de estratégia baseados em IA DeFi ou Pontuação de crédito Web 3, pode implantar MPC para realizar inferência usando modelos proprietários. Nesta arquitetura, os pesos do modelo de IA são privados. Os pesos podem ser compartilhados com segurança entre vários nós de computação de forma que cada um tenha apenas um subconjunto dos pesos do modelo. Os nós podem colaborar para realizar inferência de IA sobre eventos atualizados on-chain para tomar decisões e enviar transações que executam a estratégia DeFi.

Treino de modelos AI abertos usando dados proprietários

Um exemplo comum aqui é treinar modelos de diagnóstico médico usando registros de saúde privados. Neste caso, os criadores de modelos, empresas e proprietários de dados, ou seja, os pacientes, podem colaborar usando MPC para executar o processo de treinamento sobre os dados privados sem violar a privacidade dos dados privados. Redes como BittensoreNillionpode habilitar tais casos de uso.

Estado Privado Compartilhado Pseudo-permissão

Com um design cuidadoso, o MPC pode ser usado para lidar com SPS pseudo-permissionless. Por exemplo, o estado de um pool AMM escuro e a computação sobre este estado podem ser construídos como um MPC entre um número de entidades. Os usuários que desejam interagir com o AMM têm que compartilhar suas transações com o grupo MPC para realizar os cálculos em seu nome. A vantagem deste enfoque é que cada SPS pode ter um conjunto diferente de chaves de privacidade (em comparação com as chaves globais no caso do FHE). O risco deste enfoque é a possibilidade de censura pelo grupo MPC. No entanto, com um design econômico cuidadoso, esse risco pode ser mitigado.

Competição ou Sinergias

As abordagens discutidas para lidar com o estado privado on-chain parecem competitivas à primeira vista. No entanto, se deixarmos de lado os incentivos financeiros das diferentes equipas que constroem estas redes, zk, FHE e MPC são na verdade tecnologias complementares.

Por um lado, os sistemas zk oferecem garantias de privacidade mais fortes porque os dados "não criptografados" nunca saem do dispositivo do usuário. Além disso, é impossível para qualquer pessoa executar qualquer cálculo sobre esses dados sem a permissão do proprietário. O preço para essas fortes garantias de privacidade é uma menor componibilidade.

Por outro lado, FHE facilita uma composição mais forte, mas com menos privacidade. O risco de privacidade advém da confiança em uma entidade ou em um pequeno número de entidades com as chaves globais de descriptografia FHE. Apesar desse risco e porque a composição é um ingrediente essencial em criptografia, FHE pode possibilitar privacidade em muitos casos de uso importantes, como DeFi.

A implementação de MPC oferece um ponto médio único entre as abordagens zk e FHE. O MPC permite calcular sobre dados privados compartilhados. Assim, oferece mais composição do que as ZKPs. No entanto, o cálculo sobre este estado privado é limitado a um pequeno conjunto de participantes e não é sem permissão (ao contrário do FHE).

Dado como ZKPs, MPC e FHE diferem no ritmo de suas aplicações, as aplicações práticas frequentemente requerem a combinação dessas tecnologias. Por exemplo, a Renegade Finance combina MPC e ZKPs para permitir a construção de um Dark Pool CLOB que também garante que os participantes tenham capital suficiente para cobrir suas ordens ocultas. Da mesma forma, o jogo de Poker on-chain, zkHoldem combina ZKPs e FHE.

Esperamos que as redes focadas na privacidade combinem essas tecnologias sob o capô para oferecer aos desenvolvedores nesses ecossistemas todas as ferramentas de que precisam para construir aplicativos de forma transparente. Por exemplo, a Aztec pode combinar algum tipo de MPC na rede para lidar com o estado privado compartilhado. Da mesma forma, Rede Incopode utilizar ZKPs para permitir endereços privados e histórico de transações privado.

Com esta visão de um futuro centrado na privacidade, a Alliance está ansiosa por apoiar os fundadores que constroem este futuro. Se estiver a construir neste domínio, alcançare aplicar aAliança.

Aviso legal:

  1. Este artigo foi republicado de [ Aliança], Todos os direitos de autor pertencem ao autor original [Mohamed Fouda]. Se houver objeções a esta reimpressão, entre em contato com o Gate Aprenderequipa, e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

ZKPs, FHE, MPC: Gerir Estado Privado em Blockchains

Avançado5/6/2024, 12:18:51 PM
Bitcoin e Ethereum eliminaram intermediários em transações financeiras, mas sacrificaram a privacidade. Com o desenvolvimento da tecnologia de prova de conhecimento zero, a privacidade on-chain tornou-se um tema central da Web 3. Aztec e Aleo são duas redes promissoras. ZKP é adequado para alterações de estado privado, protegendo a privacidade do usuário e pode ser utilizado em casos de uso como mídias sociais anônimas e faturas/pagamentos empresariais. Métodos FHE podem lidar com o problema de compartilhamento de estados privados, aplicáveis a cenários como empréstimos DeFi sem garantia e KYC on-chain. Métodos MPC podem proteger a privacidade de chaves privadas e dados, sendo adequados para treinamento e inferência de IA descentralizados. Essas tecnologias podem ser combinadas para alcançar um efeito de proteção mais abrangente.

O Bitcoin, lançado há quase 14 anos, revolucionou as transações financeiras ao eliminar intermediários. O advento da Ethereum e dos contratos inteligentes acelerou ainda mais essa tendência, eliminando intermediários de produtos financeiros complexos como negociação, empréstimos e opções. No entanto, o custo de remover intermediários muitas vezes foi o sacrifício da privacidade. Nossa identidade e transações on-chain são facilmente rastreadas por bolsas centralizadas, rampas de entrada/saída, empresas de análise on-chain e muitas outras entidades. Essa transparência on-chain limita a expansão da Web 3 para muitos casos de uso, como pagamentos empresariais, negociação on-chain proprietária e muitas outras aplicações.

Este problema não é novo e muitos projetos, por exemplo, zCash, têm tentado resolvê-lo desde 2016, introduzindo tecnologias como Provas de Conhecimento Zero (ZKPs). Desde então, a tecnologia ZK avançou a um ritmo insano. Além disso, muitas outras tecnologias, como Criptografia Totalmente Homomórfica (FHE) e Computações Seguras de Multi-partes (MPC), estão surgindo para lidar com cenários mais sofisticados de uso de dados privados on-chain, também conhecido como Estado Privado.

Na Alliance, acreditamos que a privacidade on-chain permitirá casos de uso que antes não eram possíveis e, portanto, será um tema central na Web 3 nos próximos anos. Se é um fundador a construir infraestruturas de privacidade ou aplicações que requerem um estado privado, gostaríamos de o apoiar. Pode contactare aplicar aAliança.

Os diferentes tipos de estado privado

Usar dados privados on-chain significa naturalmente que esses dados estão criptografados. A privacidade desses dados depende da propriedade da chave de criptografia/decodificação. Esta chave, ou seja, chave de privacidade, é frequentemente diferente da Chave Privada regular, ou seja, a chave para assinar transações. A primeira controla apenas a privacidade dos dados, a última controla a alteração desses dados.

A natureza de propriedade da Chave de Privacidade leva a diferentes tipos de estados privados. O tipo de estado privado afeta significativamente como este estado pode ser representado on-chain e a melhor abordagem para lidar com este estado. Em geral, o estado privado pode ser dividido em Estado Privado Pessoal (EPP) e Estado Privado Compartilhado (EPC)

Estado privado pessoal

Isto significa que os dados/o estado são de propriedade de uma única entidade e apenas essa entidade pode visualizá-los ou alterá-los. Esta entidade também pode decidir permitir que outros visualizem os dados, por exemplo, compartilhando uma chave de visualização para todos ou parte desses dados. Exemplos deste estado privado incluem:

  • Saldo do token privado
  • Credenciais privadas ou informações pessoais. isso inclui idade, cidadania, status de acreditação de investidor, conta do Twitter ou qualquer outro dado da Web 2 que possa ser utilizado na Web 3
  • Histórico de transações privadas

Estado Privado Compartilhado

Um estado privado compartilhado (SPS) é um dado privado que múltiplas pessoas podem alterar/usar para cálculos sem comprometer a privacidade. Um SPS pode ser um estado acessível por qualquer pessoa e, portanto, pode ser alterado por qualquer usuário. Isso pode ser o estado de um AMM dark pool, o estado de um pool de empréstimos privados, etc. Um SPS também pode ser limitado a um pequeno grupo de participantes que podem acessar ou alterar os dados. Exemplos disso incluem o estado de um jogo multiplayer on-chain onde apenas os jogadores ativos podem alterar o estado. Também pode incluir entradas privadas para um modelo de IA on-chain, onde apenas algumas entidades, por exemplo, o operador do modelo, podem processar cálculos sobre os dados privados.

SPS é mais difícil de gerir do que o estado privado pessoal. É sempre mais difícil raciocinar sobre o tipo de cálculo que pode ser realizado em SPS e se esse cálculo pode vazar informações sobre ele. Por exemplo, executar uma negociação contra um AMM de dark-pool pode vazar algumas informações sobre a liquidez dentro da pool.

ZKPs, FHE e MPC

Existem diferentes abordagens possíveis para lidar com estados privados on-chain. Cada abordagem é adequada para um tipo específico de estado privado e, portanto, um conjunto específico de aplicações. Em muitos casos, a criação de uma aplicação útil requer a combinação dessas abordagens em conjunto.

Provas de Conhecimento Zero

A primeira abordagem que surgiu para lidar com a privacidade on-chain foi a utilização de ZKPs. Esta abordagem é particularmente adequada para dados privados pessoais. Nesta abordagem, o proprietário dos dados pode simplesmente desencriptar os dados localmente usando a sua chave de privacidade, fazer quaisquer alterações necessárias, encriptar o resultado usando a sua chave e, finalmente, gerar um ZKP para provar à rede que as suas alterações ao estado privado são válidas.

Isso tornou o ZK particularmente adequado para redes de pagamento, por exemplo, zCash, Iron Fish e muitos outros. Nesta arquitetura, quando os usuários transacionam usando ativos privados, eles realizam todos os cálculos localmente, ou seja, gastando UTXOs e criando novos para o destinatário, e modificando seus saldos de token privados. Como os cálculos e a geração de ZKP acontecem localmente no dispositivo do usuário, a privacidade dos saldos e do histórico de transações é protegida. Os mineradores de rede apenas veem o ZKP gerado e o novo UTXO criptografado.

Apesar da simplicidade dos cálculos necessários para realizar pagamentos, a UX dos pagamentos privados era difícil devido aos longos tempos de geração de ZKP. No entanto, com melhorias significativas nos sistemas de prova de zk, o tempo de geração de prova para pagamentos simples caiu abaixo de 1 segundo em hardware de consumo. Isso também permitiu a introdução de programabilidade geral em sistemas baseados em zk.AztecaeAleosão duas grandes redes que estão a trazer programabilidade geral para cadeias baseadas em zk. Aztec e Aleo têm algumas diferenças, mas ambas são amplamente baseadas no modelo ZEXENeste modelo, cada aplicação tem de ser implementada como um circuito zk. Isso criou a necessidade de a rede abstrair a complexidade zk para os desenvolvedores de aplicativos e utilizadores. Isso exigiu a criação de linguagens de programação de alto nível, por exemplo, Noir (Aztec) e Leo (Aleo), que podem converter eficientemente código de alto nível em circuitos zk.

Por exemplo, Aztec usa Noir e seu framework de desenvolvimento de contratos inteligentes associado, Aztec.nr, para quebrar cada contrato inteligente em um conjunto de funções. Cada função é implementada como um circuito zk. Os usuários podem realizar computação geral em seus dados privados baixando as funções necessárias e realizando a computação localmente em seus dispositivos. Os detalhes de como a execução de contratos inteligentes da Aztec foi discutida neste rosca.

A implementação como Aztec melhorou significativamente a usabilidade dos sistemas zk ao introduzir a programabilidade geral. No entanto, esses sistemas ainda enfrentam vários desafios:

  1. Qualquer computação sobre estado privado tem de acontecer no lado do cliente. Isto degrada a experiência do utilizador e requer que os utilizadores tenham dispositivos capazes de utilizar a rede.
  2. A abordagem zk não é adequada para lidar com estado privado compartilhado. Por padrão, todas as aplicações têm estado público. Isso torna desafiador construir aplicações como jogos incompletos de informação e DeFi privado.
  3. Composição mais difícil, não é possível executar transações que exigem a alteração de vários estados privados, já que cada estado precisa ser calculado por um usuário separado. Tais transações precisam ser divididas em partes e cada parte deve ser executada em um bloco separado.
  4. Também existem desafios na descoberta de dados privados. Se um utilizador recebe uma transação com um estado privado, não consegue descobrir esse estado a menos que descarregue o estado privado completo da rede, tente desencriptar cada parte utilizando a sua chave de privacidade. Isto cria uma experiência de utilizador desafiante, mesmo para realizar tarefas simples como consultar o seu saldo, como explicado por este rosca.

Aplicações adequadas para sistemas baseados em zk

As fortes garantias de privacidade do zk tornam-no adequado para um número considerável de casos de uso

Mídia Social Anônima

Algumas figuras de destaque não podem partilhar os seus verdadeiros pensamentos e experiências com receio de reações sociais negativas e cancelamento. Isto encoraja um novo tipo de rede social onde os participantes podem comprovar em privado certas características sobre si mesmos, por exemplo, riqueza na blockchain ou a posse de um NFT específico, e usar essa comprovação para publicar anonimamente sem revelar a sua verdadeira identidade. Exemplos incluem Canções de baleiasprotótipo pelo meu colegaDavid,

Credenciais privadas na cadeia de blocos

Um exemplo relacionado é permitir que pessoas com determinadas credenciais participem anonimamente num DAO ou votem anonimamente em tópicos que requerem expertise específica. Um exemplo de Web 3 disso é HeyAnoun. Um domínio de aplicação maior está a alavancar credenciais IRL, por exemplo, riqueza IRL, graus académicos, para participar anonimamente em protocolos on-chain. A integração de credenciais privadas IRL on-chain pode permitir múltiplos casos de uso como empréstimos DeFi sem garantia, KYC on-chain ou segmentação geográfica. ZK é adequado para estes casos de uso porque permite a existência de chaves de visualização especializadas para partes do estado privado que podem ser usadas em circunstâncias específicas, por exemplo, incumprimento de empréstimo.

O principal desafio de integrar credenciais IRL na cadeia é como garantir a autenticidade das credenciais/dados IRL. Algumas abordagens como zkEmaileTLSNotaryabordar este problema através da autenticação do tráfego web para domínios web específicos e que o domínio contenha os dados necessários.

Faturação/ Pagamentos empresariais

Um subconjunto importante de pagamentos privados é o pagamento empresarial. As empresas muitas vezes não querem revelar seus parceiros comerciais/fornecedores ou os termos contratuais de seus acordos. A transparência dos pagamentos on-chain limitou a adoção empresarial dos pagamentos em stablecoin. Com a privacidade adequada on-chain,adoção de empresas de pagamentos on-chainpode ser acelerado com base na eficiência aprimorada e na relação custo-eficácia em comparação com os sistemas bancários existentes.

Abordagem FHE

A Criptografia Totalmente Homomórfica permite realizar cálculos sobre dados criptografados e gerar resultados criptografados corretos sem descriptografar os dados durante o cálculo. Isso torna a FHE particularmente adequada para lidar com estados privados compartilhados. Com a FHE, é possível criar aplicações on-chain que possuem estado privado, como pools AMM privadas ou uma urna de voto privada. O estado privado existe on-chain em um formato criptografado, permitindo que qualquer usuário realize cálculos sobre esses dados. A incorporação da FHE on-chain pode permitir e simplificar inúmeros casos de uso que não eram possíveis anteriormente, como votação privada e jogos com informações incompletas, por exemplo, Poker.

Vantagens FHE

Uma vantagem significativa do FHE é melhorar a composição em múltiplos aspectos.

  1. Várias transações/usuários podem alterar o mesmo estado privado no mesmo bloco. Por exemplo, várias trocas podem usar o mesmo dark pool.
  2. Uma única transação pode alterar vários estados privados. Por exemplo, uma transação de troca pode utilizar várias pools escuras de AMM para concluir uma troca.

Outra vantagem é a melhoria da experiência do usuário. No FHE, os cálculos sobre o estado privado são realizados pelos validadores da rede que podem implantar hardware especializado para realizar esses cálculos mais rapidamente.

Uma terceira vantagem do FHE é a melhoria da experiência do desenvolvedor. Embora os desenvolvedores ainda tenham que atualizar seus modelos mentais para lidar adequadamente com o estado privado, a barreira é muito menor do que nos sistemas zk. Em primeiro lugar, os sistemas FHE podem operar com o mesmo modelo de conta que as cadeias de contratos inteligentes usam. Em segundo lugar, as operações FHE podem ser adicionadas às implementações existentes de VM, permitindo que os usuários usem os mesmos frameworks de desenvolvimento, ferramentas, carteiras e infraestrutura com que estão acostumados. Este é o caso para o fhEVMimplementação a partir deZamaque simplesmente adicionaram as variáveis criptografadas e as operações FHE como pré-compilações. Contra-intuitivamente, essa vantagem é fundamental para o crescimento de aplicações privadas on-chain, os desenvolvedores são a chave para criar aplicações interessantes que atraiam usuários. Uma experiência de desenvolvedor perfeita pode atrair mais desenvolvedores para o espaço FHE.

Limitações do FHE

Assunções de Confiança de Privacidade

As cadeias FHE requerem chaves globais de criptografia/descriptografia para todo o estado privado. Isto é crucial para alcançar a componibilidade. Tipicamente, estas chaves são mantidas pelo grupo de validadores para poderem descriptografar os resultados das operações FHE sobre o estado privado. Isto significa que o grupo de validadores também confiávelnão violar a privacidade dos estados privados existentes.

Potencial Vazamento de Privacidade
Realizar múltiplos cálculos sobre os dados criptografados pode quebrar a privacidade. Por exemplo, as negociações executadas em uma pool AMM escura podem revelar algumas informações sobre a estrutura de liquidez atual da pool.

Complexidade computacional do cálculo FHE

Mesmo com implementações avançadas, as operações FHE são frequentemente 1000x a 1.000.000x mais caras computacionalmente do que as computações regulares. Essa complexidade limita a taxa de transferência possível das aplicações FHE on-chain. Estimativas atuais da Inco Network indicam uma taxa de transferência entre 1–5 TPS para operações FHE. Com aceleração de GPU e FPGA, essa taxa de transferência pode ser acelerada em 10–50x.

Fonte: https://eprint.iacr.org/2021/1402.pdf

Aplicações adequadas para sistemas FHE

Os sistemas FHE são particularmente adequados para aplicações que requerem um alto grau de composibilidade

Jogos com informações incompletas. Exemplos incluem jogos de cartas, como o pôquer, onde o estado do baralho é acessível e pode ser modificado por vários jogadores.

Votação privada, FHE simplifica a implementação de pesquisas secretas quando os votos podem alterar o total de votos sem conhecer o resultado da votação anterior

AMM privado, a implementação de AMMs privados ou pools DeFi privados em geral é simplificada ao representar o estado do pool como variável criptografada.

Abordagem MPC

Computação multi-party (MPC) tem sido conhecida e popular dentro da indústria de criptomoedas pelo caso de uso específico da custódia de ativos. Algumas das maiores empresas no espaço, por exemplo, Fireblocksconstruíram negócios bem-sucedidos em torno da utilização segura de MPC para custódia de concorrência. Além disso, muitos fornecedores de carteiras como serviço, por exemplo, Coinbase, 0xPass, utilize MPC para melhorar a segurança e a UX da carteira.

No entanto, o MPC pode ser usado para mais do que garantir chaves privadas. Em geral, o MPC resolve o problema de realizar cálculos sobre inputs privados, ou seja, dados, e apenas revelar o resultado dos cálculos sem comprometer a privacidade dos inputs. No contexto específico da custódia de ativos, os inputs privados são os fragmentos da chave privada. Os proprietários desses fragmentos colaboram para realizar a 'computação' sobre esses inputs privados. A computação aqui consiste em gerar uma assinatura de transação. As várias partes aqui geram e descriptografam coletivamente a assinatura sem que nenhuma delas tenha acesso aos inputs privados, ou seja, à chave privada.

Da mesma forma, o MPC permite qualquer tipo de computação sobre dados privados sem os revelar. Isso permite que o MPC lide com o estado privado num contexto de blockchain. Um exemplo disso é o treino descentralizado de IA sobre conjuntos de dados privados. Diferentes proprietários de dados e fornecedores de computação podem colaborar para realizar o treino de IA baseado em MPC sobre os conjuntos de dados privados para calcular os pesos do modelo. A saída da computação, ou seja, os pesos, é desencriptada pelo grupo do MPC após a fase de treino para criar o modelo de IA completo.

Muitas implementações MPC alcançam fortes garantias de privacidade para a privacidade de dados, ou seja, minoria honesta, o que significa que tem garantias de privacidade semelhantes aos sistemas zk. O MPC também pode ser semelhante ao FHE, pois permite executar computação em uma SPS, o que significa que pode permitir a capacidade de composição. No entanto, em comparação com FHE, MPC tem algumas limitações

  1. O cálculo só pode ser realizado pelas entidades que fazem parte do grupo MPC. Ninguém fora deste grupo pode realizar quaisquer cálculos sobre os dados
  2. Para garantir minorias honestas, todas as partes do MPC precisam cooperar para realizar o MPC. Isso significa que o cálculo pode ser censurado por qualquer membro do grupo MPC. Essa limitação pode ser relaxada ao reduzir o limiar do MPC, ou seja, o número de entidades necessárias para realizar a computação. No entanto, o preço aqui é que a privacidade dos dados pode ser violada pela coordenação entre um número menor de participantes.

Aplicações adequadas para sistemas MPC

Dark Pool CLOBs

Uma das primeiras aplicações reais de MPC em DeFi é a implementação de Dark Pool CLOBs. Neste sistema, os traders podem colocar ordens limitadas ou de mercado sem conhecimento prévio do estado do livro de ordens. A correspondência de pedidos ocorre por meio de MPC sobre os dados privados, ou seja, o livro de ordens existente.Finanças Renegadeé uma das empresas que constroem tal sistema.

Inferência descentralizada de modelos de IA proprietários

Algumas aplicações, por exemplo, gestores de estratégia baseados em IA DeFi ou Pontuação de crédito Web 3, pode implantar MPC para realizar inferência usando modelos proprietários. Nesta arquitetura, os pesos do modelo de IA são privados. Os pesos podem ser compartilhados com segurança entre vários nós de computação de forma que cada um tenha apenas um subconjunto dos pesos do modelo. Os nós podem colaborar para realizar inferência de IA sobre eventos atualizados on-chain para tomar decisões e enviar transações que executam a estratégia DeFi.

Treino de modelos AI abertos usando dados proprietários

Um exemplo comum aqui é treinar modelos de diagnóstico médico usando registros de saúde privados. Neste caso, os criadores de modelos, empresas e proprietários de dados, ou seja, os pacientes, podem colaborar usando MPC para executar o processo de treinamento sobre os dados privados sem violar a privacidade dos dados privados. Redes como BittensoreNillionpode habilitar tais casos de uso.

Estado Privado Compartilhado Pseudo-permissão

Com um design cuidadoso, o MPC pode ser usado para lidar com SPS pseudo-permissionless. Por exemplo, o estado de um pool AMM escuro e a computação sobre este estado podem ser construídos como um MPC entre um número de entidades. Os usuários que desejam interagir com o AMM têm que compartilhar suas transações com o grupo MPC para realizar os cálculos em seu nome. A vantagem deste enfoque é que cada SPS pode ter um conjunto diferente de chaves de privacidade (em comparação com as chaves globais no caso do FHE). O risco deste enfoque é a possibilidade de censura pelo grupo MPC. No entanto, com um design econômico cuidadoso, esse risco pode ser mitigado.

Competição ou Sinergias

As abordagens discutidas para lidar com o estado privado on-chain parecem competitivas à primeira vista. No entanto, se deixarmos de lado os incentivos financeiros das diferentes equipas que constroem estas redes, zk, FHE e MPC são na verdade tecnologias complementares.

Por um lado, os sistemas zk oferecem garantias de privacidade mais fortes porque os dados "não criptografados" nunca saem do dispositivo do usuário. Além disso, é impossível para qualquer pessoa executar qualquer cálculo sobre esses dados sem a permissão do proprietário. O preço para essas fortes garantias de privacidade é uma menor componibilidade.

Por outro lado, FHE facilita uma composição mais forte, mas com menos privacidade. O risco de privacidade advém da confiança em uma entidade ou em um pequeno número de entidades com as chaves globais de descriptografia FHE. Apesar desse risco e porque a composição é um ingrediente essencial em criptografia, FHE pode possibilitar privacidade em muitos casos de uso importantes, como DeFi.

A implementação de MPC oferece um ponto médio único entre as abordagens zk e FHE. O MPC permite calcular sobre dados privados compartilhados. Assim, oferece mais composição do que as ZKPs. No entanto, o cálculo sobre este estado privado é limitado a um pequeno conjunto de participantes e não é sem permissão (ao contrário do FHE).

Dado como ZKPs, MPC e FHE diferem no ritmo de suas aplicações, as aplicações práticas frequentemente requerem a combinação dessas tecnologias. Por exemplo, a Renegade Finance combina MPC e ZKPs para permitir a construção de um Dark Pool CLOB que também garante que os participantes tenham capital suficiente para cobrir suas ordens ocultas. Da mesma forma, o jogo de Poker on-chain, zkHoldem combina ZKPs e FHE.

Esperamos que as redes focadas na privacidade combinem essas tecnologias sob o capô para oferecer aos desenvolvedores nesses ecossistemas todas as ferramentas de que precisam para construir aplicativos de forma transparente. Por exemplo, a Aztec pode combinar algum tipo de MPC na rede para lidar com o estado privado compartilhado. Da mesma forma, Rede Incopode utilizar ZKPs para permitir endereços privados e histórico de transações privado.

Com esta visão de um futuro centrado na privacidade, a Alliance está ansiosa por apoiar os fundadores que constroem este futuro. Se estiver a construir neste domínio, alcançare aplicar aAliança.

Aviso legal:

  1. Este artigo foi republicado de [ Aliança], Todos os direitos de autor pertencem ao autor original [Mohamed Fouda]. Se houver objeções a esta reimpressão, entre em contato com o Gate Aprenderequipa, e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!