Hoje, a utilização de provas de conhecimento zero para proteger a privacidade em sistemas de identidade digital tornou-se, até certo ponto, mainstream. Vários projetos de passaporte de provas de conhecimento zero (traduzido diretamente como ZK-passport, referindo-se a projetos de identidade digital baseados na tecnologia de provas de conhecimento zero) estão desenvolvendo pacotes de software extremamente amigáveis para os usuários. Com a ajuda das provas de conhecimento zero, os usuários podem provar que possuem uma identificação válida sem revelar nenhum detalhe da sua identidade. O World ID (anteriormente conhecido como Worldcoin), que utiliza tecnologia de reconhecimento biométrico para verificação e garante a privacidade por meio de provas de conhecimento zero, recentemente ultrapassou a marca de 10 milhões de usuários. Um projeto governamental de identidade digital na região de Taiwan, na China, utilizou provas de conhecimento zero, e o trabalho relacionado da União Europeia na área de identidade digital também está dando cada vez mais atenção às provas de conhecimento zero.
À primeira vista, a identidade digital baseada em tecnologia de provas de conhecimento zero está a ser amplamente adotada e parece ser uma grande vitória para o d/acc (nota: um conceito proposto por Vitalik em 2023, que defende o desenvolvimento de tecnologias descentralizadas através de ferramentas tecnológicas (como criptografia, blockchain, etc.), acelerando o progresso tecnológico enquanto defende riscos potenciais e equilibrando a inovação tecnológica com segurança, privacidade e autonomia humana). Ela pode proteger nossas redes sociais, sistemas de votação e diversos serviços da Internet contra ataques de bruxas e manipulação por robôs, sem sacrificar a privacidade. Mas será que as coisas são realmente tão simples? A identidade baseada em provas de conhecimento zero ainda apresenta riscos? Este artigo esclarecerá os seguintes pontos:
A embalagem de prova de conhecimento zero (ZK-wrapping) resolveu muitos problemas importantes.
O uso de prova de conhecimento zero para embalar a identidade ainda apresenta riscos. Esses riscos parecem estar menos relacionados com a biometria ou passaportes, sendo que a maior parte dos riscos (vazamento de privacidade, suscetibilidade à coação, erros de sistema, etc.) decorre principalmente da manutenção rigorosa da propriedade de "uma pessoa, uma identidade".
O outro extremo, que é usar "prova de riqueza (Proof of wealth)" para combater ataques de bruxas, na maioria dos cenários de aplicação é insuficiente, por isso precisamos de algum tipo de solução "semelhante a uma identidade".
O estado ideal teórico está entre os dois, ou seja, o custo para obter N identidades é N².
Este estado ideal é difícil de alcançar na prática, mas uma «identidade múltipla» adequada se aproxima dele, sendo assim a solução mais realista. As identidades múltiplas podem ser explícitas (por exemplo, identidades baseadas em redes sociais) ou implícitas (diversos tipos de identidades de comprovação de conhecimento nulo coexistem, e nenhum tipo tem uma participação de mercado próxima de 100%).
Como funciona a identidade embalada com prova de conhecimento zero?
Imagine que você obteve um World ID ao escanear sua íris, ou que usou o leitor NFC do seu celular para escanear seu passaporte, obtendo uma identidade baseada em um passaporte de prova de conhecimento zero. Para os propósitos deste artigo, as propriedades centrais dessas duas abordagens são consistentes (existindo apenas algumas diferenças marginais, como no caso de múltiplas nacionalidades).
No seu telefone, há um valor secreto s. No registro global em blockchain, há um hash público H(s). Ao fazer login no aplicativo, você gerará um ID de usuário específico para esse aplicativo, ou seja, H(s, app_name), e verificará através de prova de conhecimento zero: este ID e um determinado hash público no registro provêm do mesmo valor secreto s. Portanto, cada hash público pode gerar apenas um ID para cada aplicativo, mas nunca revelará qual ID exclusivo de um aplicativo corresponde a qual hash público.
Na verdade, o design pode ser um pouco mais complexo. No World ID, o ID exclusivo do aplicativo é, na verdade, um valor hash que inclui o ID do aplicativo e o ID da sessão, permitindo que diferentes operações dentro do mesmo aplicativo sejam desvinculadas entre si. O design baseado em passaportes de prova de conhecimento zero também pode ser construído de maneira semelhante.
Antes de discutir as desvantagens desse tipo de identidade, é preciso reconhecer as vantagens que ela traz. Fora do nicho de identidade de prova de conhecimento zero (ZKID), para se provar a serviços que precisam de verificação de identidade, você tem que revelar sua identidade legal completa. Isso viola gravemente o "princípio do menor privilégio" da segurança computacional: um processo deve obter apenas os privilégios e informações mínimas necessárias para realizar sua tarefa. Eles precisam provar que você não é um robô, que tem mais de 18 anos ou que vem de um país específico, mas o que eles obtêm é apenas a indicação da sua identidade completa.
Atualmente, a melhor solução de melhoria que pode ser alcançada é o uso de tokens indiretos, como números de telefone e números de cartão de crédito: neste caso, a parte que conhece o seu telefone / número de cartão de crédito em associação com as atividades dentro da aplicação e a parte que conhece o seu telefone / número de cartão de crédito em associação com a identidade legal (empresa ou banco) estão separadas. Mas essa separação é extremamente frágil: o número de telefone e outras informações podem ser vazadas a qualquer momento.
E com a ajuda da tecnologia de embalagem com prova de conhecimento zero (ZK-wrapping, uma técnica que utiliza prova de conhecimento zero para proteger a privacidade da identidade do usuário, permitindo que o usuário prove sua identidade sem revelar informações sensíveis), as questões acima foram em grande parte resolvidas. Mas o que se deve discutir a seguir é um ponto que é menos mencionado: ainda existem algumas questões que não foram resolvidas e que podem até se agravar devido à rigorosa restrição de "uma pessoa, uma identidade" nas tais soluções.
A prova de conhecimento zero não pode, por si só, garantir a anonimidade.
Suponha que uma plataforma de identidade de prova de conhecimento zero (ZK-identity) funcione exatamente como esperado, reproduzindo rigorosamente toda a lógica acima, e que já tenha sido encontrado um método para proteger a informação privada de usuários não técnicos a longo prazo, sem depender de instituições centralizadas. Mas, ao mesmo tempo, podemos fazer uma suposição realista: os aplicativos não cooperarão ativamente com a proteção da privacidade; eles seguirão o princípio do "pragmatismo", e as soluções de design adotadas, embora disfarcem em nome da "maximização da conveniência do usuário", parecem sempre favorecer seus próprios interesses políticos e comerciais.
Em cenários como este, aplicações de redes sociais não adotariam designs complexos como a rotação frequente de chaves de sessão, mas atribuíriam a cada usuário um ID exclusivo da aplicação. E, uma vez que o sistema de identidade segue a regra de "uma pessoa, uma identidade", os usuários podem ter apenas uma conta (o que contrasta com a atual "identidade fraca (weak ID)", como a conta do Google, onde uma pessoa comum consegue se registrar facilmente em cerca de 5 contas). No mundo real, a implementação do anonimato geralmente requer várias contas: uma para a "identidade regular" e outras para vários tipos de identidades anônimas (veja "finsta e rinsta"). Portanto, nesse modelo, a anonimidade que os usuários realmente podem obter provavelmente será inferior ao nível atual. Assim, mesmo um sistema de "uma pessoa, uma identidade" encapsulado em provas de conhecimento zero pode nos levar gradualmente a um mundo onde todas as atividades devem estar vinculadas a uma única identidade pública. Em uma era de riscos crescentes (como a vigilância por drones, etc.), privar as pessoas da opção de se protegerem através do anonimato terá sérias consequências negativas.
A prova de conhecimento zero em si não pode protegê-lo contra coação.
Mesmo que você não torne seu valor secreto s público, ninguém pode ver as conexões públicas entre suas contas, mas e se alguém for forçado a divulgá-las? O governo pode exigir que você revele seus valores secretos para que eles possam ver todas as suas atividades. Isso não é conversa fiada: o governo dos EUA começou a exigir que os candidatos a visto divulguem suas contas de mídia social. Além disso, os empregadores também podem facilmente definir a divulgação de informações públicas completas como uma condição de contratação. Até mesmo, alguns aplicativos podem tecnicamente exigir que os usuários revelem sua identidade em outros aplicativos antes de permitir o registro (usar o login do app executa essa ação por padrão).
Da mesma forma, nestes casos, o valor da propriedade de prova de conhecimento zero desaparece, mas as desvantagens desta nova propriedade de "uma pessoa, uma conta" ainda persistem.
Podemos talvez reduzir o risco de coerção através da otimização do design: por exemplo, utilizando um mecanismo de computação multipartidária para gerar um ID exclusivo para cada aplicativo, permitindo que os usuários e os prestadores de serviços participem juntos. Assim, se não houver a participação do operador do aplicativo, o usuário não poderá provar seu ID exclusivo dentro desse aplicativo. Isso aumentará a dificuldade de forçar os outros a revelar a identidade completa, mas não eliminará completamente essa possibilidade, e esse tipo de solução ainda apresenta outras desvantagens, como a exigência de que os desenvolvedores de aplicativos sejam entidades ativamente envolvidas em tempo real, em vez de serem contratos inteligentes passivos na cadeia (que não requerem intervenção contínua).
A prova de conhecimento zero por si só não pode resolver riscos não relacionados à privacidade.
Todas as formas de identidade têm casos limítrofes:
Baseado na identidade emitida pelo governo (Government-rooted ID), incluindo passaporte, não cobre apátridas e não inclui pessoas que ainda não obtiveram tais documentos.
Por outro lado, este tipo de sistema de identidade baseado no governo conferirá privilégios únicos aos detentores de múltiplas cidadanias.
As autoridades emissoras de passaportes podem ser alvo de ataques cibernéticos, e agências de inteligência de países hostis podem até falsificar milhões de identidades falsas (por exemplo, se o "eleição de guerrilha" no estilo russo se tornar prevalente, identidades falsas podem ser usadas para manipular as eleições).
Para aqueles cujas características biológicas relevantes foram danificadas por doenças ou lesões, a identidade biométrica será completamente ineficaz.
A identidade biométrica pode muito provavelmente ser enganada por imitações. Se o valor da identidade biométrica se tornar extremamente alto, poderemos até ver pessoas especializadas em cultivar órgãos humanos, apenas para "fabricar em massa" esse tipo de identidade.
Estes casos marginais representam o maior perigo em sistemas que tentam manter a propriedade de "uma pessoa, uma identidade", e não têm qualquer relação com a privacidade. Assim, as provas de conhecimento zero não podem ajudar neste caso.
Confiar na "prova de riqueza" para prevenir ataques de bruxas não é suficiente para resolver o problema, por isso precisamos de algum tipo de sistema de identidade.
Dentro da comunidade puramente do cypherpunk, uma alternativa comum é: confiar totalmente na "prova de riqueza" para se proteger contra ataques de bruxas, em vez de construir qualquer forma de sistema de identidade. Ao exigir que cada conta tenha um custo associado, é possível impedir que alguém crie facilmente um grande número de contas. Essa prática já tem precedentes na internet, como no fórum Somethingawful, que exige um pagamento único de 10 dólares para registrar uma conta; se a conta for banida, essa taxa não será reembolsada. No entanto, isso não representa realmente um modelo econômico criptográfico na prática, pois o maior obstáculo para criar uma nova conta não é o pagamento de 10 dólares novamente, mas sim a obtenção de um novo cartão de crédito.
Na teoria, é até possível tornar os pagamentos condicionais: ao registrar uma conta, você só precisa apostar um valor, e apenas em casos extremamente raros de bloqueio da conta é que você perderia esse valor. Em teoria, isso pode aumentar significativamente o custo de ataque.
Este plano tem um efeito significativo em muitos cenários, mas não funciona de todo em certos tipos de cenários. Vou focar em duas categorias de cenários, que chamarei provisoriamente de "cenários semelhantes a uma Renda Básica Universal (UBI-like)" e "cenários semelhantes a governança (governance-like)".
Necessidade de identidade em cenários semelhantes a uma Renda Básica Universal (UBI-like)
O chamado "cenário de renda básica universal" refere-se a situações em que é necessário distribuir uma certa quantidade de ativos ou serviços a um público muito amplo (idealmente, a todos), sem considerar sua capacidade de pagamento. O Worldcoin é um exemplo sistemático disso: qualquer pessoa que possua um World ID pode receber regularmente uma pequena quantidade de tokens WLD. Muitos airdrops de tokens também buscam alcançar objetivos semelhantes de forma mais informal, tentando garantir que pelo menos uma parte dos tokens chegue ao maior número possível de usuários.
Pessoalmente, não acho que o valor desse tipo de token possa atingir um nível que sustente a vida pessoal. Em uma economia impulsionada por inteligência artificial, com uma escala de riqueza que chega a mil vezes a atual, esses tokens podem ter um valor que sustente a vida; mas mesmo assim, projetos liderados por governos, que têm pelo menos a riqueza de recursos naturais como suporte, ainda ocuparão uma posição mais importante em termos econômicos. No entanto, eu acredito que o que esses "mini-UBIs" podem resolver de forma prática é: permitir que as pessoas obtenham uma quantidade suficiente de criptomoedas para realizar algumas transações básicas em blockchain e compras online. Isso pode incluir especificamente:
Obter nome ENS
Publicar um hash na blockchain para inicializar uma determinada identidade de prova de conhecimento zero
Pagamento de taxas de plataformas de redes sociais
Se as criptomoedas forem amplamente adotadas em todo o mundo, essa questão deixará de existir. Mas, enquanto as criptomoedas ainda não forem populares, isso pode ser a única maneira para as pessoas acessarem aplicações não financeiras em blockchain e serviços de produtos online relacionados, caso contrário, elas podem não ter acesso a esses recursos.
Além disso, existe outra forma de alcançar um efeito semelhante, que é a «prestação de serviços básicos universais»: fornecer a cada pessoa com identidade a permissão para enviar um número limitado de transações gratuitas dentro de uma aplicação específica. Esta abordagem pode estar mais alinhada com os mecanismos de incentivo e ter maior eficiência de capital, uma vez que cada aplicação que se beneficia dessa adoção pode fazê-lo sem ter que pagar pelos não utilizadores; no entanto, isso também vem com um certo trade-off, pois a universalidade será reduzida (os utilizadores só podem garantir acesso às aplicações que participam no programa). Mas mesmo assim, ainda é necessária uma solução de identidade aqui para prevenir que o sistema sofra ataques de spam, ao mesmo tempo que evita a exclusão, que surge da exigência de que os utilizadores paguem através de algum método de pagamento, o qual pode não estar disponível para todos.
A última categoria importante a ser enfatizada é o "depósito de segurança básico universal (universal basic security deposit)". Uma das funções da identidade é fornecer um objeto que possa ser utilizado para responsabilização, sem que o usuário precise garantir um montante de fundos equivalente ao tamanho dos incentivos. Isso também ajuda a alcançar um objetivo: reduzir a dependência do montante de capital pessoal na barreira de entrada (ou até mesmo eliminar a necessidade de qualquer capital).
Necessidade de identidade em cenários de governança (governance-like)
Imagine um sistema de votação (como os "likes" e "shares" em plataformas de redes sociais): se os recursos do usuário A são 10 vezes maiores que os do usuário B, então seu poder de voto também será 10 vezes maior que o de B. Mas, sob uma perspectiva econômica, cada unidade de poder de voto que A possui gera 10 vezes mais retorno para A do que para B (porque A tem um volume maior, qualquer decisão terá um impacto mais significativo em sua dimensão econômica). Portanto, de uma forma geral, o benefício do voto de A para si mesmo é 100 vezes maior do que o benefício do voto de B para si mesmo. É por isso que observamos que A investe muito mais esforço em participar da votação, pesquisa como votar para maximizar seus próprios objetivos, e pode até manipular algoritmicamente de forma estratégica. Essa é a razão fundamental pela qual as "baleias" podem exercer influência excessiva no mecanismo de votação por token.
Uma razão mais geral e profunda é que o sistema de governança não deve atribuir o mesmo peso a "uma pessoa controlando 100 mil dólares" e "mil pessoas possuindo 100 mil dólares". O segundo representa mil indivíduos independentes, o que implica uma informação mais rica e valiosa, em vez de uma alta repetição de informações de pequeno volume. Sinais provenientes de mil pessoas também tendem a ser mais "moderados", pois as opiniões de diferentes indivíduos costumam se anular.
Este ponto aplica-se tanto a sistemas de votação formais como a "sistemas de votação não formais", como a capacidade das pessoas de participar na evolução cultural através da expressão pública.
Isto indica que os sistemas de governança não se satisfarão realmente com a prática de "independentemente da origem dos fundos, todos os conjuntos de fundos de igual escala são tratados da mesma forma". O sistema precisa, na verdade, entender o nível de coordenação interna desses conjuntos de fundos.
É importante notar que, se você concorda com a minha estrutura de descrição dos dois tipos de cenários mencionados (cenário de renda básica universal e cenário de governança), então, do ponto de vista técnico, a necessidade de uma regra clara como "um homem, um voto" já não existe.
Para aplicações do tipo rendimento básico universal (semelhante ao UBI), a verdadeira solução de identidade necessária é: a primeira identidade é gratuita, limitando o número de identidades que podem ser obtidas. Quando o custo de obter mais identidades é tão alto que torna sem sentido a ação de atacar o sistema, o efeito de limitação é alcançado.
Para aplicações em cenários de governança (governance-like), a necessidade central é: ser capaz de julgar, por meio de algum indicador indireto, se o recurso que você está lidando tem por trás um único agente controlador ou se pertence a um grupo "naturalmente formado" com um nível de coordenação relativamente baixo.
Em ambos os cenários, a identidade continua a ser muito útil, mas a exigência de seguir regras rigorosas como "uma pessoa, uma identidade" já não existe.
O estado ideal teórico é: o custo para obter N identidades é N²
A partir dos argumentos acima, podemos ver que há duas pressões de extremos opostos que limitam a dificuldade esperada de adquirir múltiplas identidades no sistema de identidade:
Primeiro, não se deve estabelecer um limite rígido e visível para o "número de identidades que podem ser facilmente obtidas". Se uma pessoa só pode ter uma identidade, a questão da anonimidade não se coloca e pode ser forçada a revelar sua identidade. Na verdade, mesmo um número fixo maior que 1 apresenta riscos: se todos souberem que cada pessoa tem 5 identidades, você pode ser forçado a revelar todas as 5.
Outro motivo que apoia isso é que a anonimidade em si é muito frágil, portanto, é necessário um espaço de buffer de segurança suficientemente grande. Com as ferramentas modernas de IA, a associação do comportamento do usuário entre plataformas tornou-se fácil, e com informações públicas como hábitos de linguagem, horários de postagem, intervalos entre postagens e tópicos de discussão, é possível identificar uma pessoa com precisão usando apenas 33 bits de informação. As pessoas podem usar ferramentas de IA para se defender (por exemplo, quando publiquei conteúdo anonimamente, escrevi primeiro em francês e depois traduzi para inglês usando um modelo de linguagem executado localmente), mas mesmo assim, não se deseja que um único erro acabe completamente com a anonimidade.
Em segundo lugar, a identidade não pode estar completamente ligada às finanças (ou seja, o custo para obter N identidades é N), porque isso permitiria que grandes entidades obtivessem facilmente uma influência desproporcional (o que resultaria na total perda de voz das pequenas entidades). O novo mecanismo do Twitter Blue reflete isso: a taxa de certificação mensal de 8 dólares é muito baixa, não consegue efetivamente restringir comportamentos abusivos, e atualmente os usuários basicamente ignoram esse símbolo de certificação.
Além disso, talvez não queiramos que um sujeito com uma quantidade de recursos N vezes maior possa cometer N vezes mais comportamentos inadequados.
Com base nos pontos acima, esperamos obter múltiplas identidades da forma mais fácil possível, desde que as seguintes restrições sejam atendidas: (1) limitar o poder de grandes entidades em aplicações de governança; (2) limitar comportamentos abusivos em aplicações de rendimento básico universal.
Se tomarmos como referência o modelo matemático de governança mencionado anteriormente, teremos uma resposta clara: se possuir N identidades traz um impacto de N², então o custo para adquirir N identidades deve ser N². Coincidentemente, essa resposta também se aplica a aplicações de rendimento básico universal.
Os leitores antigos deste blog podem notar que isso é completamente consistente com o gráfico de um post anterior sobre "financiamento quadrático", e isso não é por acaso.
O sistema de identidade pluralista (Pluralistic identity) pode realizar este estado ideal.
O chamado "sistema de identidade múltipla" refere-se a um mecanismo de identidade sem uma única entidade emissora dominante, seja essa entidade uma pessoa, organização ou plataforma. Este sistema pode ser implementado de duas maneiras:
Identidade pluralista explícita (Explicit pluralistic identity, também conhecida como "identidade baseada em gráfico social social-graph-based identity"). Você pode confirmar sua identidade (ou outras declarações, como comprovar que é membro de uma comunidade) através da validação de outras pessoas na sua comunidade, e as identidades desses validadores são verificadas pelo mesmo mecanismo. O artigo "Sociedade Descentralizada" fornece uma explicação mais detalhada sobre esse tipo de design, e Circles é um exemplo que está atualmente em operação.
Identidade pluralista implícita (Implicit pluralistic identity). Esta é a situação atual, com muitos provedores de identidade diferentes, incluindo Google, Twitter, plataformas semelhantes de vários países e diversos documentos de identidade emitidos por governos. Raramente existem aplicações que aceitam apenas um tipo de autenticação de identidade; a maioria das aplicações será compatível com vários, pois só assim poderão alcançar potenciais usuários.
Captura mais recente do mapa de identidade Circles. Circles é um dos maiores projetos de identidade baseados em gráficos sociais atualmente.
A identidade múltipla explícita possui naturalmente anonimato: você pode ter uma identidade anônima (ou até várias), e cada identidade pode construir sua reputação na comunidade através de suas próprias ações. Um sistema ideal de identidade múltipla explícita pode até não precisar do conceito de "identidades discretas"; em vez disso, você pode ter um conjunto difuso composto por comportamentos passados verificáveis e ser capaz de provar, de maneira refinada, diferentes partes dele conforme a necessidade de cada ação.
A prova de conhecimento zero tornará mais fácil a realização da anonimidade: você pode usar a identidade principal para iniciar uma identidade anônima, fornecendo em particular o primeiro sinal para que a nova identidade anônima seja reconhecida (por exemplo, provando com conhecimento zero que possui uma certa quantidade de tokens, permitindo que publique conteúdo em anon.world; ou provando com conhecimento zero que seus seguidores no Twitter possuem certas características). Pode haver maneiras ainda mais eficazes de usar a prova de conhecimento zero.
A "curva de custo" da identidade multi-oculta é mais íngreme do que a curva quadrática, mas ainda possui a maioria das características necessárias. A maioria das pessoas possui algumas das formas de identidade listadas neste artigo, em vez de todas. Você pode adquirir uma nova forma de identidade com esforço, mas quanto mais formas de identidade você possui, menor é a relação custo-benefício para adquirir a próxima. Assim, isso fornece a necessária contenção contra ataques de governança e outros comportamentos abusivos, enquanto garante que os coercitores não possam exigir (e não possam razoavelmente esperar) que você revele um conjunto fixo de identidades.
Qualquer forma de sistema de identidade múltipla (quer seja implícita ou explícita) possui uma maior tolerância a falhas: uma pessoa com deficiência nas mãos ou nos olhos ainda pode ter um passaporte, e os apátridas ainda podem provar sua identidade através de certos canais não governamentais.
É importante notar que, se a quota de mercado de uma determinada forma de identidade se aproximar de 100% e se tornar a única opção de login, as características mencionadas acima deixarão de ser válidas. Na minha opinião, este é o maior risco que os sistemas de identidade que buscam excessivamente a "universalidade" podem enfrentar: uma vez que a sua quota de mercado se aproxime de 100%, isso empurrará o mundo de um sistema de identidades múltiplas para um modelo de "uma pessoa, uma identidade", e como mencionado neste artigo, esse modelo apresenta várias desvantagens.
Na minha opinião, o desfecho ideal do atual projeto "Uma Pessoa, Uma Identidade" é a fusão com um sistema de identidade baseado em grafos sociais. O maior problema enfrentado pelos projetos de identidade baseados em grafos sociais é a dificuldade de escalar para um número massivo de usuários. O sistema "Uma Pessoa, Uma Identidade" pode ser utilizado para fornecer suporte inicial ao grafo social, criando milhões de "usuários sementes", e quando houver um número suficiente de usuários, será possível desenvolver de forma segura um grafo social distribuído globalmente a partir dessa base.
Um agradecimento especial aos voluntários Balvi, aos membros da Silviculture e aos membros da equipe World pela participação nas discussões.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Vitalik: identidade digital + múltiplos dilemas com a tecnologia ZK
Autor: Vitalik Buterin
Compilado por: Saoirse, Foresight News
Hoje, a utilização de provas de conhecimento zero para proteger a privacidade em sistemas de identidade digital tornou-se, até certo ponto, mainstream. Vários projetos de passaporte de provas de conhecimento zero (traduzido diretamente como ZK-passport, referindo-se a projetos de identidade digital baseados na tecnologia de provas de conhecimento zero) estão desenvolvendo pacotes de software extremamente amigáveis para os usuários. Com a ajuda das provas de conhecimento zero, os usuários podem provar que possuem uma identificação válida sem revelar nenhum detalhe da sua identidade. O World ID (anteriormente conhecido como Worldcoin), que utiliza tecnologia de reconhecimento biométrico para verificação e garante a privacidade por meio de provas de conhecimento zero, recentemente ultrapassou a marca de 10 milhões de usuários. Um projeto governamental de identidade digital na região de Taiwan, na China, utilizou provas de conhecimento zero, e o trabalho relacionado da União Europeia na área de identidade digital também está dando cada vez mais atenção às provas de conhecimento zero.
À primeira vista, a identidade digital baseada em tecnologia de provas de conhecimento zero está a ser amplamente adotada e parece ser uma grande vitória para o d/acc (nota: um conceito proposto por Vitalik em 2023, que defende o desenvolvimento de tecnologias descentralizadas através de ferramentas tecnológicas (como criptografia, blockchain, etc.), acelerando o progresso tecnológico enquanto defende riscos potenciais e equilibrando a inovação tecnológica com segurança, privacidade e autonomia humana). Ela pode proteger nossas redes sociais, sistemas de votação e diversos serviços da Internet contra ataques de bruxas e manipulação por robôs, sem sacrificar a privacidade. Mas será que as coisas são realmente tão simples? A identidade baseada em provas de conhecimento zero ainda apresenta riscos? Este artigo esclarecerá os seguintes pontos:
Como funciona a identidade embalada com prova de conhecimento zero?
Imagine que você obteve um World ID ao escanear sua íris, ou que usou o leitor NFC do seu celular para escanear seu passaporte, obtendo uma identidade baseada em um passaporte de prova de conhecimento zero. Para os propósitos deste artigo, as propriedades centrais dessas duas abordagens são consistentes (existindo apenas algumas diferenças marginais, como no caso de múltiplas nacionalidades).
No seu telefone, há um valor secreto s. No registro global em blockchain, há um hash público H(s). Ao fazer login no aplicativo, você gerará um ID de usuário específico para esse aplicativo, ou seja, H(s, app_name), e verificará através de prova de conhecimento zero: este ID e um determinado hash público no registro provêm do mesmo valor secreto s. Portanto, cada hash público pode gerar apenas um ID para cada aplicativo, mas nunca revelará qual ID exclusivo de um aplicativo corresponde a qual hash público.
Na verdade, o design pode ser um pouco mais complexo. No World ID, o ID exclusivo do aplicativo é, na verdade, um valor hash que inclui o ID do aplicativo e o ID da sessão, permitindo que diferentes operações dentro do mesmo aplicativo sejam desvinculadas entre si. O design baseado em passaportes de prova de conhecimento zero também pode ser construído de maneira semelhante.
Antes de discutir as desvantagens desse tipo de identidade, é preciso reconhecer as vantagens que ela traz. Fora do nicho de identidade de prova de conhecimento zero (ZKID), para se provar a serviços que precisam de verificação de identidade, você tem que revelar sua identidade legal completa. Isso viola gravemente o "princípio do menor privilégio" da segurança computacional: um processo deve obter apenas os privilégios e informações mínimas necessárias para realizar sua tarefa. Eles precisam provar que você não é um robô, que tem mais de 18 anos ou que vem de um país específico, mas o que eles obtêm é apenas a indicação da sua identidade completa.
Atualmente, a melhor solução de melhoria que pode ser alcançada é o uso de tokens indiretos, como números de telefone e números de cartão de crédito: neste caso, a parte que conhece o seu telefone / número de cartão de crédito em associação com as atividades dentro da aplicação e a parte que conhece o seu telefone / número de cartão de crédito em associação com a identidade legal (empresa ou banco) estão separadas. Mas essa separação é extremamente frágil: o número de telefone e outras informações podem ser vazadas a qualquer momento.
E com a ajuda da tecnologia de embalagem com prova de conhecimento zero (ZK-wrapping, uma técnica que utiliza prova de conhecimento zero para proteger a privacidade da identidade do usuário, permitindo que o usuário prove sua identidade sem revelar informações sensíveis), as questões acima foram em grande parte resolvidas. Mas o que se deve discutir a seguir é um ponto que é menos mencionado: ainda existem algumas questões que não foram resolvidas e que podem até se agravar devido à rigorosa restrição de "uma pessoa, uma identidade" nas tais soluções.
A prova de conhecimento zero não pode, por si só, garantir a anonimidade.
Suponha que uma plataforma de identidade de prova de conhecimento zero (ZK-identity) funcione exatamente como esperado, reproduzindo rigorosamente toda a lógica acima, e que já tenha sido encontrado um método para proteger a informação privada de usuários não técnicos a longo prazo, sem depender de instituições centralizadas. Mas, ao mesmo tempo, podemos fazer uma suposição realista: os aplicativos não cooperarão ativamente com a proteção da privacidade; eles seguirão o princípio do "pragmatismo", e as soluções de design adotadas, embora disfarcem em nome da "maximização da conveniência do usuário", parecem sempre favorecer seus próprios interesses políticos e comerciais.
Em cenários como este, aplicações de redes sociais não adotariam designs complexos como a rotação frequente de chaves de sessão, mas atribuíriam a cada usuário um ID exclusivo da aplicação. E, uma vez que o sistema de identidade segue a regra de "uma pessoa, uma identidade", os usuários podem ter apenas uma conta (o que contrasta com a atual "identidade fraca (weak ID)", como a conta do Google, onde uma pessoa comum consegue se registrar facilmente em cerca de 5 contas). No mundo real, a implementação do anonimato geralmente requer várias contas: uma para a "identidade regular" e outras para vários tipos de identidades anônimas (veja "finsta e rinsta"). Portanto, nesse modelo, a anonimidade que os usuários realmente podem obter provavelmente será inferior ao nível atual. Assim, mesmo um sistema de "uma pessoa, uma identidade" encapsulado em provas de conhecimento zero pode nos levar gradualmente a um mundo onde todas as atividades devem estar vinculadas a uma única identidade pública. Em uma era de riscos crescentes (como a vigilância por drones, etc.), privar as pessoas da opção de se protegerem através do anonimato terá sérias consequências negativas.
A prova de conhecimento zero em si não pode protegê-lo contra coação.
Mesmo que você não torne seu valor secreto s público, ninguém pode ver as conexões públicas entre suas contas, mas e se alguém for forçado a divulgá-las? O governo pode exigir que você revele seus valores secretos para que eles possam ver todas as suas atividades. Isso não é conversa fiada: o governo dos EUA começou a exigir que os candidatos a visto divulguem suas contas de mídia social. Além disso, os empregadores também podem facilmente definir a divulgação de informações públicas completas como uma condição de contratação. Até mesmo, alguns aplicativos podem tecnicamente exigir que os usuários revelem sua identidade em outros aplicativos antes de permitir o registro (usar o login do app executa essa ação por padrão).
Da mesma forma, nestes casos, o valor da propriedade de prova de conhecimento zero desaparece, mas as desvantagens desta nova propriedade de "uma pessoa, uma conta" ainda persistem.
Podemos talvez reduzir o risco de coerção através da otimização do design: por exemplo, utilizando um mecanismo de computação multipartidária para gerar um ID exclusivo para cada aplicativo, permitindo que os usuários e os prestadores de serviços participem juntos. Assim, se não houver a participação do operador do aplicativo, o usuário não poderá provar seu ID exclusivo dentro desse aplicativo. Isso aumentará a dificuldade de forçar os outros a revelar a identidade completa, mas não eliminará completamente essa possibilidade, e esse tipo de solução ainda apresenta outras desvantagens, como a exigência de que os desenvolvedores de aplicativos sejam entidades ativamente envolvidas em tempo real, em vez de serem contratos inteligentes passivos na cadeia (que não requerem intervenção contínua).
A prova de conhecimento zero por si só não pode resolver riscos não relacionados à privacidade.
Todas as formas de identidade têm casos limítrofes:
Estes casos marginais representam o maior perigo em sistemas que tentam manter a propriedade de "uma pessoa, uma identidade", e não têm qualquer relação com a privacidade. Assim, as provas de conhecimento zero não podem ajudar neste caso.
Confiar na "prova de riqueza" para prevenir ataques de bruxas não é suficiente para resolver o problema, por isso precisamos de algum tipo de sistema de identidade.
Dentro da comunidade puramente do cypherpunk, uma alternativa comum é: confiar totalmente na "prova de riqueza" para se proteger contra ataques de bruxas, em vez de construir qualquer forma de sistema de identidade. Ao exigir que cada conta tenha um custo associado, é possível impedir que alguém crie facilmente um grande número de contas. Essa prática já tem precedentes na internet, como no fórum Somethingawful, que exige um pagamento único de 10 dólares para registrar uma conta; se a conta for banida, essa taxa não será reembolsada. No entanto, isso não representa realmente um modelo econômico criptográfico na prática, pois o maior obstáculo para criar uma nova conta não é o pagamento de 10 dólares novamente, mas sim a obtenção de um novo cartão de crédito.
Na teoria, é até possível tornar os pagamentos condicionais: ao registrar uma conta, você só precisa apostar um valor, e apenas em casos extremamente raros de bloqueio da conta é que você perderia esse valor. Em teoria, isso pode aumentar significativamente o custo de ataque.
Este plano tem um efeito significativo em muitos cenários, mas não funciona de todo em certos tipos de cenários. Vou focar em duas categorias de cenários, que chamarei provisoriamente de "cenários semelhantes a uma Renda Básica Universal (UBI-like)" e "cenários semelhantes a governança (governance-like)".
Necessidade de identidade em cenários semelhantes a uma Renda Básica Universal (UBI-like)
O chamado "cenário de renda básica universal" refere-se a situações em que é necessário distribuir uma certa quantidade de ativos ou serviços a um público muito amplo (idealmente, a todos), sem considerar sua capacidade de pagamento. O Worldcoin é um exemplo sistemático disso: qualquer pessoa que possua um World ID pode receber regularmente uma pequena quantidade de tokens WLD. Muitos airdrops de tokens também buscam alcançar objetivos semelhantes de forma mais informal, tentando garantir que pelo menos uma parte dos tokens chegue ao maior número possível de usuários.
Pessoalmente, não acho que o valor desse tipo de token possa atingir um nível que sustente a vida pessoal. Em uma economia impulsionada por inteligência artificial, com uma escala de riqueza que chega a mil vezes a atual, esses tokens podem ter um valor que sustente a vida; mas mesmo assim, projetos liderados por governos, que têm pelo menos a riqueza de recursos naturais como suporte, ainda ocuparão uma posição mais importante em termos econômicos. No entanto, eu acredito que o que esses "mini-UBIs" podem resolver de forma prática é: permitir que as pessoas obtenham uma quantidade suficiente de criptomoedas para realizar algumas transações básicas em blockchain e compras online. Isso pode incluir especificamente:
Se as criptomoedas forem amplamente adotadas em todo o mundo, essa questão deixará de existir. Mas, enquanto as criptomoedas ainda não forem populares, isso pode ser a única maneira para as pessoas acessarem aplicações não financeiras em blockchain e serviços de produtos online relacionados, caso contrário, elas podem não ter acesso a esses recursos.
Além disso, existe outra forma de alcançar um efeito semelhante, que é a «prestação de serviços básicos universais»: fornecer a cada pessoa com identidade a permissão para enviar um número limitado de transações gratuitas dentro de uma aplicação específica. Esta abordagem pode estar mais alinhada com os mecanismos de incentivo e ter maior eficiência de capital, uma vez que cada aplicação que se beneficia dessa adoção pode fazê-lo sem ter que pagar pelos não utilizadores; no entanto, isso também vem com um certo trade-off, pois a universalidade será reduzida (os utilizadores só podem garantir acesso às aplicações que participam no programa). Mas mesmo assim, ainda é necessária uma solução de identidade aqui para prevenir que o sistema sofra ataques de spam, ao mesmo tempo que evita a exclusão, que surge da exigência de que os utilizadores paguem através de algum método de pagamento, o qual pode não estar disponível para todos.
A última categoria importante a ser enfatizada é o "depósito de segurança básico universal (universal basic security deposit)". Uma das funções da identidade é fornecer um objeto que possa ser utilizado para responsabilização, sem que o usuário precise garantir um montante de fundos equivalente ao tamanho dos incentivos. Isso também ajuda a alcançar um objetivo: reduzir a dependência do montante de capital pessoal na barreira de entrada (ou até mesmo eliminar a necessidade de qualquer capital).
Necessidade de identidade em cenários de governança (governance-like)
Imagine um sistema de votação (como os "likes" e "shares" em plataformas de redes sociais): se os recursos do usuário A são 10 vezes maiores que os do usuário B, então seu poder de voto também será 10 vezes maior que o de B. Mas, sob uma perspectiva econômica, cada unidade de poder de voto que A possui gera 10 vezes mais retorno para A do que para B (porque A tem um volume maior, qualquer decisão terá um impacto mais significativo em sua dimensão econômica). Portanto, de uma forma geral, o benefício do voto de A para si mesmo é 100 vezes maior do que o benefício do voto de B para si mesmo. É por isso que observamos que A investe muito mais esforço em participar da votação, pesquisa como votar para maximizar seus próprios objetivos, e pode até manipular algoritmicamente de forma estratégica. Essa é a razão fundamental pela qual as "baleias" podem exercer influência excessiva no mecanismo de votação por token.
Uma razão mais geral e profunda é que o sistema de governança não deve atribuir o mesmo peso a "uma pessoa controlando 100 mil dólares" e "mil pessoas possuindo 100 mil dólares". O segundo representa mil indivíduos independentes, o que implica uma informação mais rica e valiosa, em vez de uma alta repetição de informações de pequeno volume. Sinais provenientes de mil pessoas também tendem a ser mais "moderados", pois as opiniões de diferentes indivíduos costumam se anular.
Este ponto aplica-se tanto a sistemas de votação formais como a "sistemas de votação não formais", como a capacidade das pessoas de participar na evolução cultural através da expressão pública.
Isto indica que os sistemas de governança não se satisfarão realmente com a prática de "independentemente da origem dos fundos, todos os conjuntos de fundos de igual escala são tratados da mesma forma". O sistema precisa, na verdade, entender o nível de coordenação interna desses conjuntos de fundos.
É importante notar que, se você concorda com a minha estrutura de descrição dos dois tipos de cenários mencionados (cenário de renda básica universal e cenário de governança), então, do ponto de vista técnico, a necessidade de uma regra clara como "um homem, um voto" já não existe.
Em ambos os cenários, a identidade continua a ser muito útil, mas a exigência de seguir regras rigorosas como "uma pessoa, uma identidade" já não existe.
O estado ideal teórico é: o custo para obter N identidades é N²
A partir dos argumentos acima, podemos ver que há duas pressões de extremos opostos que limitam a dificuldade esperada de adquirir múltiplas identidades no sistema de identidade:
Primeiro, não se deve estabelecer um limite rígido e visível para o "número de identidades que podem ser facilmente obtidas". Se uma pessoa só pode ter uma identidade, a questão da anonimidade não se coloca e pode ser forçada a revelar sua identidade. Na verdade, mesmo um número fixo maior que 1 apresenta riscos: se todos souberem que cada pessoa tem 5 identidades, você pode ser forçado a revelar todas as 5.
Outro motivo que apoia isso é que a anonimidade em si é muito frágil, portanto, é necessário um espaço de buffer de segurança suficientemente grande. Com as ferramentas modernas de IA, a associação do comportamento do usuário entre plataformas tornou-se fácil, e com informações públicas como hábitos de linguagem, horários de postagem, intervalos entre postagens e tópicos de discussão, é possível identificar uma pessoa com precisão usando apenas 33 bits de informação. As pessoas podem usar ferramentas de IA para se defender (por exemplo, quando publiquei conteúdo anonimamente, escrevi primeiro em francês e depois traduzi para inglês usando um modelo de linguagem executado localmente), mas mesmo assim, não se deseja que um único erro acabe completamente com a anonimidade.
Em segundo lugar, a identidade não pode estar completamente ligada às finanças (ou seja, o custo para obter N identidades é N), porque isso permitiria que grandes entidades obtivessem facilmente uma influência desproporcional (o que resultaria na total perda de voz das pequenas entidades). O novo mecanismo do Twitter Blue reflete isso: a taxa de certificação mensal de 8 dólares é muito baixa, não consegue efetivamente restringir comportamentos abusivos, e atualmente os usuários basicamente ignoram esse símbolo de certificação.
Além disso, talvez não queiramos que um sujeito com uma quantidade de recursos N vezes maior possa cometer N vezes mais comportamentos inadequados.
Com base nos pontos acima, esperamos obter múltiplas identidades da forma mais fácil possível, desde que as seguintes restrições sejam atendidas: (1) limitar o poder de grandes entidades em aplicações de governança; (2) limitar comportamentos abusivos em aplicações de rendimento básico universal.
Se tomarmos como referência o modelo matemático de governança mencionado anteriormente, teremos uma resposta clara: se possuir N identidades traz um impacto de N², então o custo para adquirir N identidades deve ser N². Coincidentemente, essa resposta também se aplica a aplicações de rendimento básico universal.
Os leitores antigos deste blog podem notar que isso é completamente consistente com o gráfico de um post anterior sobre "financiamento quadrático", e isso não é por acaso.
O sistema de identidade pluralista (Pluralistic identity) pode realizar este estado ideal.
O chamado "sistema de identidade múltipla" refere-se a um mecanismo de identidade sem uma única entidade emissora dominante, seja essa entidade uma pessoa, organização ou plataforma. Este sistema pode ser implementado de duas maneiras:
Captura mais recente do mapa de identidade Circles. Circles é um dos maiores projetos de identidade baseados em gráficos sociais atualmente.
A identidade múltipla explícita possui naturalmente anonimato: você pode ter uma identidade anônima (ou até várias), e cada identidade pode construir sua reputação na comunidade através de suas próprias ações. Um sistema ideal de identidade múltipla explícita pode até não precisar do conceito de "identidades discretas"; em vez disso, você pode ter um conjunto difuso composto por comportamentos passados verificáveis e ser capaz de provar, de maneira refinada, diferentes partes dele conforme a necessidade de cada ação.
A prova de conhecimento zero tornará mais fácil a realização da anonimidade: você pode usar a identidade principal para iniciar uma identidade anônima, fornecendo em particular o primeiro sinal para que a nova identidade anônima seja reconhecida (por exemplo, provando com conhecimento zero que possui uma certa quantidade de tokens, permitindo que publique conteúdo em anon.world; ou provando com conhecimento zero que seus seguidores no Twitter possuem certas características). Pode haver maneiras ainda mais eficazes de usar a prova de conhecimento zero.
A "curva de custo" da identidade multi-oculta é mais íngreme do que a curva quadrática, mas ainda possui a maioria das características necessárias. A maioria das pessoas possui algumas das formas de identidade listadas neste artigo, em vez de todas. Você pode adquirir uma nova forma de identidade com esforço, mas quanto mais formas de identidade você possui, menor é a relação custo-benefício para adquirir a próxima. Assim, isso fornece a necessária contenção contra ataques de governança e outros comportamentos abusivos, enquanto garante que os coercitores não possam exigir (e não possam razoavelmente esperar) que você revele um conjunto fixo de identidades.
Qualquer forma de sistema de identidade múltipla (quer seja implícita ou explícita) possui uma maior tolerância a falhas: uma pessoa com deficiência nas mãos ou nos olhos ainda pode ter um passaporte, e os apátridas ainda podem provar sua identidade através de certos canais não governamentais.
É importante notar que, se a quota de mercado de uma determinada forma de identidade se aproximar de 100% e se tornar a única opção de login, as características mencionadas acima deixarão de ser válidas. Na minha opinião, este é o maior risco que os sistemas de identidade que buscam excessivamente a "universalidade" podem enfrentar: uma vez que a sua quota de mercado se aproxime de 100%, isso empurrará o mundo de um sistema de identidades múltiplas para um modelo de "uma pessoa, uma identidade", e como mencionado neste artigo, esse modelo apresenta várias desvantagens.
Na minha opinião, o desfecho ideal do atual projeto "Uma Pessoa, Uma Identidade" é a fusão com um sistema de identidade baseado em grafos sociais. O maior problema enfrentado pelos projetos de identidade baseados em grafos sociais é a dificuldade de escalar para um número massivo de usuários. O sistema "Uma Pessoa, Uma Identidade" pode ser utilizado para fornecer suporte inicial ao grafo social, criando milhões de "usuários sementes", e quando houver um número suficiente de usuários, será possível desenvolver de forma segura um grafo social distribuído globalmente a partir dessa base.
Um agradecimento especial aos voluntários Balvi, aos membros da Silviculture e aos membros da equipe World pela participação nas discussões.