Cuando zk-SNARKs se convierten en el "escudo" de la identificación digital, podríamos perder el derecho a la anonimidad debido a la "una persona, una identificación" - este es el juego final detrás de la tecnología.
Escrito por: Vitalik Buterin
Compilado por: Saoirse, Foresight News
Hoy en día, el uso de zk-SNARKs en los sistemas de identidad digital para proteger la privacidad se ha convertido en una práctica bastante corriente. Diversos proyectos de pasaporte zk-passport están desarrollando paquetes de software muy amigables para los usuarios, que permiten a estos demostrar que poseen una identificación válida sin tener que revelar ningún detalle de su identidad. World ID, que utiliza tecnología de reconocimiento biométrico para la verificación y protege la privacidad a través de zk-SNARKs, ha superado recientemente los 10 millones de usuarios. Un proyecto gubernamental de identidad digital en la región de Taiwán, China, ha aplicado zk-SNARKs, y la Unión Europea también está prestando cada vez más atención a zk-SNARKs en el ámbito de la identidad digital.
A primera vista, la identidad digital basada en la tecnología de zk-SNARKs está siendo adoptada ampliamente y parece ser una gran victoria para d/acc* (Nota: concepto propuesto por Vitalik en 2023, que aboga por impulsar el desarrollo de tecnologías descentralizadas a través de herramientas tecnológicas como criptografía, blockchain, etc., equilibrando la innovación tecnológica con la seguridad, privacidad y la autonomía humana, al tiempo que se acelera el progreso tecnológico y se defiende contra riesgos potenciales.)*. Puede proteger nuestras redes sociales, sistemas de votación y diversos servicios de Internet de ataques de brujas y manipulación por robots sin sacrificar la privacidad. ¿Pero realmente es tan simple? ¿Sigue existiendo riesgo en la identidad basada en zk-SNARKs? Este artículo expondrá los siguientes puntos:
zk-SNARKs empaquetado (ZK-wrapping) resuelve muchos problemas importantes.
La identificación envuelta en zk-SNARKs todavía presenta riesgos. Estos riesgos parecen estar poco relacionados con la biometría o los pasaportes; la mayor parte de los riesgos (filtración de privacidad, vulnerabilidad a la coerción, errores del sistema, etc.) provienen principalmente del mantenimiento rígido de la propiedad de "una persona, una identificación".
Otro extremo, es decir, el uso de «prueba de riqueza (Proof of wealth)» para contrarrestar ataques de brujería, en la mayoría de los escenarios de aplicación no es suficiente, por lo que necesitamos algún tipo de solución «tipo identificación».
El estado ideal teórico se encuentra entre los dos, es decir, el costo de obtener N identificaciones es N².
Este estado ideal es difícil de alcanzar en la práctica, pero una «identificación múltiple» adecuada se acerca a ello, por lo que es la solución más realista. La identificación múltiple puede ser explícita (por ejemplo, identidad basada en un gráfico social) o implícita (coexistencia de varios tipos de zk-SNARKs, sin que ningún tipo tenga una participación de mercado cercana al 100%).
¿Cómo funciona la identificación envuelta en zk-SNARKs?
Imagina que obtuviste un World ID escaneando tu iris, o que usaste el lector NFC de tu teléfono para escanear tu pasaporte, obteniendo una identificación basada en zk-SNARKs. En cuanto al argumento de este artículo, las propiedades centrales de estos dos métodos son consistentes (solo existen algunas diferencias marginales, como en el caso de la doble nacionalidad).
En tu teléfono, hay un valor secreto s. En el registro global en la cadena, hay un valor hash público H(s). Al iniciar sesión en la aplicación, generarás un ID de usuario específico para esa aplicación, es decir, H(s, app_name), y validarás a través de zk-SNARKs: este ID proviene del mismo valor secreto s que algún valor hash público en el registro. Por lo tanto, cada valor hash público puede generar solo un ID para cada aplicación, pero nunca se revelará a qué valor hash público corresponde el ID exclusivo de una aplicación.
De hecho, el diseño puede ser un poco más complejo. En el World ID, el ID específico de la aplicación en realidad es un valor hash que incluye el ID de la aplicación y el ID de la sesión, por lo que diferentes operaciones dentro de la misma aplicación también pueden desvincularse entre sí. El diseño de un pasaporte basado en zk-SNARKs también puede construirse de manera similar.
Antes de discutir las desventajas de este tipo de identificación, primero se debe reconocer las ventajas que conlleva. Fuera del nicho de la identificación basada en zk-SNARKs (ZKID), para probar tu identidad a los servicios que requieren verificación, te ves obligado a revelar tu identificación legal completa. Esto viola gravemente el "principio de mínimo privilegio" de la seguridad informática: un proceso solo debe obtener los mínimos privilegios e información necesarios para completar su tarea. Necesitan probar que no eres un robot, que tienes más de 18 años o que provienes de un país específico, pero lo que obtienen es una indicación de tu identidad completa.
La mejor solución de mejora que se puede lograr actualmente es utilizar tokens indirectos como números de teléfono y números de tarjetas de crédito: en este caso, la entidad que conoce tu número de teléfono/número de tarjeta de crédito asociado a actividades dentro de la aplicación y la entidad que conoce tu número de teléfono/número de tarjeta de crédito asociado a la identificación legal (empresa o banco) están separadas entre sí. Pero esta separación es extremadamente frágil: los números de teléfono y otra información pueden ser filtrados en cualquier momento.
Y gracias a la tecnología de empaquetado zk-SNARKs* (ZK-wrapping, un método técnico que utiliza zk-SNARKs para proteger la privacidad de la identidad del usuario, permitiendo a los usuarios demostrar su identidad sin revelar información sensible)*, los problemas mencionados anteriormente se han resuelto en gran medida. Pero lo que se va a discutir a continuación es un punto que se menciona con menos frecuencia: aún hay algunos problemas que no solo no se han resuelto, sino que podrían agravarse debido a la estricta restricción de "una persona, una identidad" en este tipo de soluciones.
zk-SNARKs en sí mismos no pueden lograr anonimato
Supongamos que una plataforma de identificación basada en zk-SNARKs funciona completamente como se espera, replicando estrictamente toda la lógica anterior, e incluso se ha encontrado una forma de proteger a largo plazo la información privada de los usuarios no técnicos sin depender de instituciones centralizadas. Pero al mismo tiempo, podemos hacer una suposición realista: las aplicaciones no cooperarán proactivamente con la protección de la privacidad, se regirán por el principio del "pragmatismo", y aunque los diseños adoptados se presenten bajo el lema de "maximizar la conveniencia del usuario", en realidad parece que siempre favorecerán sus propios intereses políticos y comerciales.
En este tipo de escenario, las aplicaciones de redes sociales no adoptarán diseños complejos como la rotación frecuente de claves de sesión, sino que asignarán a cada usuario un ID exclusivo para la aplicación. Además, dado que el sistema de identificación sigue la regla de "una persona, una identidad", los usuarios solo pueden tener una cuenta (esto contrasta con la "identidad débil" actual, como las cuentas de Google, donde una persona común puede registrarse fácilmente para unas 5 cuentas). En el mundo real, la implementación del anonimato a menudo requiere múltiples cuentas: una para la "identidad habitual" y otras para varias identidades anónimas (ver "finsta y rinsta"). Por lo tanto, en este modelo, es muy probable que el anonimato que los usuarios puedan obtener sea inferior al nivel actual. De este modo, incluso un sistema de "una persona, una identidad" envuelto en zk-SNARKs podría llevarnos gradualmente hacia un mundo donde todas las actividades deben depender de una única identidad pública. En una época de riesgos crecientes (como la vigilancia con drones, etc.), privar a las personas de la opción de protegerse a través del anonimato tendrá graves consecuencias negativas.
zk-SNARKs en sí mismos no pueden protegerte contra la coerción
Incluso si no revelas tu valor secreto s, nadie puede ver las conexiones públicas entre tus cuentas, pero ¿qué pasa si alguien te obliga a hacerlo? El gobierno podría obligar a revelar su valor secreto para poder ver todas sus actividades. No es una exageración: el gobierno de los Estados Unidos ha comenzado a exigir a los solicitantes de visa que revelen sus cuentas de redes sociales. Además, los empleadores también pueden fácilmente establecer la divulgación de información pública completa como una condición de empleo. Incluso, algunas aplicaciones a nivel técnico pueden exigir a los usuarios que revelen su identificación en otras aplicaciones para poder registrarse (el uso de la aplicación para iniciar sesión lo realiza automáticamente).
Igualmente, en estos casos, el valor de la propiedad de zk-SNARKs se desvanece, pero las desventajas de esta nueva propiedad de "una persona, una cuenta" siguen existiendo.
Podríamos reducir el riesgo de coerción a través de la optimización del diseño: por ejemplo, utilizando un mecanismo de cálculo multipartito para generar un ID exclusivo para cada aplicación, permitiendo que los usuarios participen junto con el proveedor del servicio. De esta manera, si no hay participación del operador de la aplicación, el usuario no puede probar su ID exclusivo en dicha aplicación. Esto aumentaría la dificultad de forzar a otros a revelar su identidad completa, pero no eliminaría completamente esta posibilidad, y este tipo de soluciones también tiene otros inconvenientes, como la necesidad de que los desarrolladores de aplicaciones sean entidades activas en tiempo real, en lugar de contratos inteligentes en la cadena que son pasivos (sin necesidad de intervención continua).
zk-SNARKs por sí mismos no pueden resolver riesgos no relacionados con la privacidad
Todas las formas de identificación tienen casos marginales:
Basado en la identificación emitida por el gobierno (Government-rooted ID), incluyendo pasaportes, no cubre a las personas apátridas y no incluye a aquellos que aún no han obtenido tales documentos.
Por otro lado, este tipo de sistemas de identificación basados en el gobierno otorgarán privilegios únicos a los poseedores de múltiples nacionalidades.
Las agencias emisoras de pasaportes pueden ser víctimas de ataques cibernéticos, e incluso las agencias de inteligencia de países hostiles pueden falsificar millones de identidades falsas (por ejemplo, si las "elecciones de guerrilla" al estilo ruso se vuelven cada vez más comunes, podrían utilizar identidades falsas para manipular las elecciones).
Para aquellas personas cuyas características biométricas se ven afectadas por lesiones o enfermedades, la identificación biométrica fallará por completo.
La identificación biométrica probablemente será engañada por imitaciones. Si el valor de la identificación biométrica se vuelve extremadamente alto, incluso podríamos ver a alguien cultivando órganos humanos específicamente para "fabricar en masa" este tipo de identificación.
Estos casos marginales son los que más perjudican a los sistemas que intentan mantener la propiedad de "una persona, una identificación", y no tienen ninguna relación con la privacidad. Por lo tanto, zk-SNARKs no pueden hacer nada al respecto.
Confiar en la "prueba de riqueza" para prevenir ataques de brujas no es suficiente para resolver el problema, por lo que necesitamos algún tipo de sistema de identificación.
En la comunidad puramente criptográfica, una alternativa común es: confiar completamente en "pruebas de riqueza" para prevenir ataques de brujas, en lugar de construir cualquier forma de sistema de identificación. Al hacer que cada cuenta genere un cierto coste, se puede evitar que alguien cree fácilmente múltiples cuentas. Este enfoque ya tiene precedentes en Internet; por ejemplo, el foro Somethingawful requiere que los usuarios que se registren paguen una tarifa única de 10 dólares, la cual no se reembolsará si la cuenta es suspendida. Sin embargo, en la práctica, esto no es realmente un modelo de economía criptográfica, ya que el mayor obstáculo para crear una nueva cuenta no es volver a pagar 10 dólares, sino obtener una nueva tarjeta de crédito.
Teóricamente, incluso se podría permitir que los pagos sean condicionales: al registrar una cuenta, solo necesitas garantizar un capital, y solo perderías ese capital en circunstancias muy raras, como cuando la cuenta es bloqueada. Desde un punto de vista teórico, esto podría aumentar significativamente el costo de los ataques.
Este enfoque ha demostrado ser efectivo en muchos escenarios, pero no funciona en absoluto en ciertos tipos de situaciones. Me centraré en dos categorías de escenarios, a los que llamaré "escenarios similares a la renta básica universal (UBI-like)" y "escenarios similares a la gobernanza (governance-like)".
necesidad de identificación en un escenario similar a un ingreso básico universal (UBI-like)
El llamado "escenario de ingreso básico universal" se refiere a situaciones en las que se distribuyen activos o servicios a un grupo de usuarios muy amplio (idealmente a todos), sin considerar su capacidad de pago. Worldcoin es un ejemplo sistemático de esto: cualquier persona que tenga una World ID puede recibir periódicamente una pequeña cantidad de tokens WLD. Muchos airdrops de tokens también buscan lograr objetivos similares de manera más informal, tratando de hacer que al menos una parte de los tokens llegue a la mayor cantidad posible de usuarios.
En lo personal, no creo que el valor de este tipo de tokens pueda alcanzar un nivel suficiente para mantener una vida personal. En una economía impulsada por inteligencia artificial, con una escala de riqueza que alcanza miles de veces la actual, estos tokens podrían tener un valor que mantenga la vida; pero aun así, al menos los proyectos liderados por gobiernos, respaldados por recursos naturales, seguirán ocupando un lugar más importante en el ámbito económico. Sin embargo, creo que un problema que estos «mini-UBIs» pueden solucionar de manera efectiva es: permitir que las personas obtengan una cantidad suficiente de criptomonedas para realizar algunas transacciones básicas en la cadena y compras en línea. Específicamente, podría incluir:
Obtener el nombre ENS
Publicar un hash en la cadena para inicializar una identificación de zk-SNARKs
Pagar tarifas de plataformas de redes sociales
Si las criptomonedas se adoptan ampliamente a nivel mundial, este problema ya no existirá. Pero en el presente, cuando las criptomonedas aún no son comunes, este puede ser el único medio para que las personas accedan a aplicaciones no financieras en la cadena y a servicios de productos en línea relacionados, de lo contrario, podrían no tener acceso a estos recursos en absoluto.
Además, hay otra manera de lograr un efecto similar, que es los «servicios básicos universales»: proporcionar a cada persona con identificación la capacidad de enviar un número limitado de transacciones gratuitas dentro de aplicaciones específicas. Este enfoque puede alinearse mejor con los mecanismos de incentivos y tener una mayor eficiencia de capital, ya que cada aplicación que se beneficia de esta adopción puede hacerlo sin necesidad de pagar por los no usuarios; sin embargo, esto también conlleva ciertos compromisos, ya que la universalidad se verá reducida (los usuarios solo pueden garantizar el acceso a las aplicaciones que participan en el programa). Aun así, se necesita un conjunto de soluciones de identificación aquí para prevenir que el sistema sufra ataques de spam, al mismo tiempo que se evite la exclusión, la cual proviene de exigir a los usuarios que paguen a través de algún método de pago, y este tipo de métodos de pago puede no ser accesible para todos.
La última categoría importante que merece ser enfatizada es el "depósito de seguridad básico universal (universal basic security deposit)". Una de las funciones de la identificación es proporcionar un objetivo que se puede utilizar para la rendición de cuentas, sin que los usuarios tengan que comprometer fondos equivalentes a la escala de incentivos. Esto también contribuye a lograr un objetivo: reducir la dependencia del umbral de participación en relación con la cantidad de capital personal (incluso sin necesidad de capital alguno).
necesidad de identificación en escenarios tipo gobernanza (governance-like)
Imagina un sistema de votación (por ejemplo, los "me gusta" y retweets en las plataformas de redes sociales): si los recursos del usuario A son 10 veces los del usuario B, entonces su derecho a voto también será 10 veces el de B. Pero desde un punto de vista económico, cada unidad de derecho a voto que le da a A generará un beneficio 10 veces mayor que el que le trae a B (porque A tiene una mayor capacidad, cualquier decisión tendrá un impacto más significativo en su nivel económico). Por lo tanto, en términos generales, el beneficio que A obtiene de su voto es 100 veces el beneficio que B obtiene de su voto. Es por eso que descubrimos que A invertirá mucho más esfuerzo en participar en la votación, investigar cómo votar para maximizar sus propios objetivos, e incluso puede manipular estratégicamente el algoritmo. Esta es también la razón fundamental por la cual los "whales" en el mecanismo de votación de tokens pueden tener una influencia desproporcionada.
La razón más general y profunda es que el sistema de gobernanza no debería asignar el mismo peso a "una persona que controla 100,000 dólares" y "1,000 personas que poseen 100,000 dólares". La segunda opción representa 1,000 individuos independientes, por lo que contiene información valiosa más rica, en lugar de una alta repetición de información de bajo volumen. Las señales provenientes de 1,000 personas también tienden a ser más "moderadas", ya que las opiniones de diferentes individuos a menudo se cancelan entre sí.
Este punto se aplica tanto a los sistemas de votación formales como a los "sistemas de votación no formales", como la capacidad de las personas para participar en la evolución cultural a través de la expresión pública.
Esto indica que los sistemas de gobernanza no se conformarán realmente con la práctica de "independientemente del origen de los fondos, todos los conjuntos de fondos de igual tamaño se tratan por igual". El sistema en realidad necesita comprender el grado de coordinación interna de estos conjuntos de fondos.
Es importante tener en cuenta que si estás de acuerdo con mi marco descriptivo para los dos tipos de escenarios mencionados (escenarios de ingreso básico universal y escenarios de gobernanza), entonces desde un punto de vista técnico, la necesidad de una regla clara como "una persona, un voto" ya no existe.
Para las aplicaciones de escenarios similares a un ingreso básico universal (UBI-like), el verdadero esquema de identificación que se necesita es: la primera identificación es gratuita y se limita la cantidad de identificaciones que se pueden obtener. Cuando el costo de obtener más identificaciones es tan alto que hace que el comportamiento de atacar el sistema pierda sentido, se logra el efecto de restricción.
Para las aplicaciones de tipo gobernanza (governance-like), la necesidad principal es: poder determinar a través de algún indicador indirecto si el recurso con el que estás tratando es controlado por un único sujeto de control o si proviene de algún grupo "naturalmente formado" con un bajo grado de coordinación.
En estos dos escenarios, la identificación sigue siendo muy útil, pero ya no existe la exigencia de seguir reglas estrictas como "una persona, una identificación".
El estado ideal en teoría es: el costo de obtener N identificaciones es N²
A partir de los argumentos anteriores, podemos ver que hay dos presiones que limitan la dificultad esperada de obtener múltiples identidades en el sistema de identificación desde extremos opuestos:
Primero, no se puede establecer un límite rígido y visible sobre la "cantidad de identificaciones que se pueden obtener fácilmente". Si una persona solo puede tener una identificación, no se puede hablar de anonimato, y podría ser coaccionada para revelar su identificación. De hecho, incluso si se establece una cantidad fija mayor a 1, existe riesgo: si todos saben que cada persona tiene 5 identificaciones, entonces podrías ser coaccionado para revelar las 5.
Otra razón que apoya esto es que la anonimidad en sí misma es muy frágil, por lo que se necesita un espacio de seguridad suficientemente grande. Con las herramientas modernas de IA, la asociación de comportamientos de usuarios a través de plataformas se vuelve muy fácil; utilizando hábitos de lenguaje, momentos de publicación, intervalos entre publicaciones, temas de discusión y otra información pública, se puede identificar con precisión a una persona con solo 33 bits de información. Las personas pueden usar herramientas de IA para defenderse (por ejemplo, cuando publiqué contenido de forma anónima, primero lo escribí en francés y luego lo traduje al inglés mediante un modelo de lenguaje que se ejecuta localmente), pero aun así, no se desea que un solo error termine por completo con su anonimidad.
En segundo lugar, la identificación no puede estar completamente vinculada a las finanzas (es decir, el costo de obtener N identificaciones es N), porque esto permitiría a los grandes actores obtener fácilmente una influencia desproporcionada (lo que llevaría a que los pequeños actores pierdan completamente su voz). El nuevo mecanismo de Twitter Blue refleja esto: la tarifa de certificación de 8 dólares al mes es demasiado baja y no puede limitar eficazmente los abusos; hoy en día, los usuarios básicamente ignoran este tipo de insignia de certificación.
Además, es posible que no deseemos que un sujeto con una cantidad de recursos N veces mayor pueda actuar de manera indebida N veces sin restricciones.
Considerando los puntos mencionados anteriormente, esperamos obtener múltiples identificaciones de la manera más fácil posible, bajo las siguientes condiciones restrictivas: (1) restringir el poder de los grandes actores en aplicaciones de gobernanza; (2) limitar los abusos en aplicaciones de renta básica universal.
Si tomamos directamente el modelo matemático de las aplicaciones de gobernanza mencionado anteriormente, obtendremos una respuesta clara: si tener N identidades puede generar un impacto de N², entonces el costo de obtener N identidades debería ser N². Curiosamente, esta respuesta también es aplicable a las aplicaciones de ingreso básico universal.
Los viejos lectores de este blog quizás se den cuenta de que esto es completamente consistente con el gráfico de una entrada anterior sobre "financiamiento cuadrático", no es una coincidencia.
El sistema de identificación pluralista (Pluralistic identity) puede lograr este estado ideal.
El llamado «sistema de identificación múltiple» se refiere a un mecanismo de identificación sin una única entidad emisora dominante, ya sea esta una persona, una organización o una plataforma. Este sistema puede lograrse de dos maneras:
Identificación pluralista explícita (Explicit pluralistic identity, también conocida como «identificación basada en gráficos sociales social-graph-based identity»). Puedes verificar tu identificación (o cualquier otra afirmación, como confirmar que eres miembro de una comunidad) a través de las pruebas de otras personas en tu comunidad, y las identidades de esos probadores también se verifican mediante el mismo mecanismo. El artículo «Sociedad descentralizada» ofrece una explicación más detallada sobre este tipo de diseño, y Circles es un ejemplo que está en funcionamiento actualmente.
Identidad pluralista implícita (Implicit pluralistic identity). Esta es la situación actual, que cuenta con numerosos proveedores de identidad, incluyendo Google, Twitter, plataformas similares de diferentes países y varios documentos de identidad emitidos por el gobierno, entre otros. Muy pocas aplicaciones aceptan solo un tipo de autenticación de identidad; la mayoría de las aplicaciones son compatibles con múltiples, ya que solo así pueden alcanzar a los usuarios potenciales.
La última instantánea del mapa de identificación de Circles. Circles es uno de los proyectos de identificación basados en redes sociales más grandes en la actualidad.
La identidad múltiple explícita posee naturalmente anonimato: puedes tener una identidad anónima (incluso múltiples), y cada identidad puede construir reputación en la comunidad a través de sus propias acciones. Un sistema ideal de identidad múltiple explícita podría incluso no necesitar el concepto de "identidades discretas"; en cambio, podrías tener un conjunto difuso compuesto por comportamientos pasados verificables y ser capaz de demostrar de manera precisa diferentes partes de acuerdo a las necesidades de cada acción.
zk-SNARKs facilitarán la realización de la anonimidad: puedes utilizar tu identidad principal para iniciar una identidad anónima, proporcionando en privado la primera señal para que la nueva identidad anónima sea reconocida (por ejemplo, demostrando a través de zk-SNARKs que posees una cierta cantidad de tokens, lo que te permitirá publicar contenido en anon.world; o demostrando a través de zk-SNARKs que tus seguidores de Twitter poseen ciertas características). Puede haber formas aún más efectivas de utilizar zk-SNARKs.
La "curva de costos" de la identificación múltiple oculta es más pronunciada que la de una curva cuadrática, pero aún posee la mayoría de las características necesarias. La mayoría de las personas tienen algunas de las formas de identificación enumeradas en este texto, en lugar de todas. Puedes obtener una forma de identificación adicional con cierto esfuerzo, pero cuantas más formas de identificación poseas, menor será la relación costo-beneficio para obtener la siguiente. Por lo tanto, proporciona la contención necesaria contra ataques de gobernanza y otros comportamientos abusivos, al mismo tiempo que asegura que los coercitivos no puedan solicitar (ni razonablemente esperar) que reveles un conjunto fijo de identificaciones.
Cualquier forma de sistema de identificación múltiple (ya sea implícito o explícito) tiene una mayor tolerancia a fallos de forma natural: las personas con discapacidades en las manos o los ojos aún pueden tener pasaporte, y los apátridas también pueden demostrar su identificación a través de ciertos canales no gubernamentales.
Es importante tener en cuenta que si la cuota de mercado de una forma de identificación se acerca al 100% y se convierte en la única opción de inicio de sesión, entonces las características mencionadas anteriormente dejarán de ser efectivas. En mi opinión, este es el mayor riesgo que enfrentan los sistemas de identificación que buscan excesivamente la "universalidad": una vez que su cuota de mercado se acerque al 100%, se pasará de un sistema de identidades múltiples a un modelo de "una persona, una identidad", y como se menciona en este artículo, este modelo tiene numerosas desventajas.
En mi opinión, el desenlace ideal del actual proyecto "una persona, una identificación" es la fusión con un sistema de identificación basado en gráficos sociales. El mayor problema al que se enfrenta un proyecto de identificación basado en gráficos sociales es la dificultad de escalar a un número masivo de usuarios. El sistema de "una persona, una identificación" puede utilizarse para proporcionar un soporte inicial para los gráficos sociales, creando millones de "usuarios semilla". En ese momento, el número de usuarios será lo suficientemente grande como para desarrollar de manera segura un gráfico social distribuido globalmente a partir de esta base.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Vitalik: ¿La identidad digital que utiliza la tecnología ZK no presenta riesgos?
Escrito por: Vitalik Buterin
Compilado por: Saoirse, Foresight News
Hoy en día, el uso de zk-SNARKs en los sistemas de identidad digital para proteger la privacidad se ha convertido en una práctica bastante corriente. Diversos proyectos de pasaporte zk-passport están desarrollando paquetes de software muy amigables para los usuarios, que permiten a estos demostrar que poseen una identificación válida sin tener que revelar ningún detalle de su identidad. World ID, que utiliza tecnología de reconocimiento biométrico para la verificación y protege la privacidad a través de zk-SNARKs, ha superado recientemente los 10 millones de usuarios. Un proyecto gubernamental de identidad digital en la región de Taiwán, China, ha aplicado zk-SNARKs, y la Unión Europea también está prestando cada vez más atención a zk-SNARKs en el ámbito de la identidad digital.
A primera vista, la identidad digital basada en la tecnología de zk-SNARKs está siendo adoptada ampliamente y parece ser una gran victoria para d/acc* (Nota: concepto propuesto por Vitalik en 2023, que aboga por impulsar el desarrollo de tecnologías descentralizadas a través de herramientas tecnológicas como criptografía, blockchain, etc., equilibrando la innovación tecnológica con la seguridad, privacidad y la autonomía humana, al tiempo que se acelera el progreso tecnológico y se defiende contra riesgos potenciales.)*. Puede proteger nuestras redes sociales, sistemas de votación y diversos servicios de Internet de ataques de brujas y manipulación por robots sin sacrificar la privacidad. ¿Pero realmente es tan simple? ¿Sigue existiendo riesgo en la identidad basada en zk-SNARKs? Este artículo expondrá los siguientes puntos:
¿Cómo funciona la identificación envuelta en zk-SNARKs?
Imagina que obtuviste un World ID escaneando tu iris, o que usaste el lector NFC de tu teléfono para escanear tu pasaporte, obteniendo una identificación basada en zk-SNARKs. En cuanto al argumento de este artículo, las propiedades centrales de estos dos métodos son consistentes (solo existen algunas diferencias marginales, como en el caso de la doble nacionalidad).
En tu teléfono, hay un valor secreto s. En el registro global en la cadena, hay un valor hash público H(s). Al iniciar sesión en la aplicación, generarás un ID de usuario específico para esa aplicación, es decir, H(s, app_name), y validarás a través de zk-SNARKs: este ID proviene del mismo valor secreto s que algún valor hash público en el registro. Por lo tanto, cada valor hash público puede generar solo un ID para cada aplicación, pero nunca se revelará a qué valor hash público corresponde el ID exclusivo de una aplicación.
De hecho, el diseño puede ser un poco más complejo. En el World ID, el ID específico de la aplicación en realidad es un valor hash que incluye el ID de la aplicación y el ID de la sesión, por lo que diferentes operaciones dentro de la misma aplicación también pueden desvincularse entre sí. El diseño de un pasaporte basado en zk-SNARKs también puede construirse de manera similar.
Antes de discutir las desventajas de este tipo de identificación, primero se debe reconocer las ventajas que conlleva. Fuera del nicho de la identificación basada en zk-SNARKs (ZKID), para probar tu identidad a los servicios que requieren verificación, te ves obligado a revelar tu identificación legal completa. Esto viola gravemente el "principio de mínimo privilegio" de la seguridad informática: un proceso solo debe obtener los mínimos privilegios e información necesarios para completar su tarea. Necesitan probar que no eres un robot, que tienes más de 18 años o que provienes de un país específico, pero lo que obtienen es una indicación de tu identidad completa.
La mejor solución de mejora que se puede lograr actualmente es utilizar tokens indirectos como números de teléfono y números de tarjetas de crédito: en este caso, la entidad que conoce tu número de teléfono/número de tarjeta de crédito asociado a actividades dentro de la aplicación y la entidad que conoce tu número de teléfono/número de tarjeta de crédito asociado a la identificación legal (empresa o banco) están separadas entre sí. Pero esta separación es extremadamente frágil: los números de teléfono y otra información pueden ser filtrados en cualquier momento.
Y gracias a la tecnología de empaquetado zk-SNARKs* (ZK-wrapping, un método técnico que utiliza zk-SNARKs para proteger la privacidad de la identidad del usuario, permitiendo a los usuarios demostrar su identidad sin revelar información sensible)*, los problemas mencionados anteriormente se han resuelto en gran medida. Pero lo que se va a discutir a continuación es un punto que se menciona con menos frecuencia: aún hay algunos problemas que no solo no se han resuelto, sino que podrían agravarse debido a la estricta restricción de "una persona, una identidad" en este tipo de soluciones.
zk-SNARKs en sí mismos no pueden lograr anonimato
Supongamos que una plataforma de identificación basada en zk-SNARKs funciona completamente como se espera, replicando estrictamente toda la lógica anterior, e incluso se ha encontrado una forma de proteger a largo plazo la información privada de los usuarios no técnicos sin depender de instituciones centralizadas. Pero al mismo tiempo, podemos hacer una suposición realista: las aplicaciones no cooperarán proactivamente con la protección de la privacidad, se regirán por el principio del "pragmatismo", y aunque los diseños adoptados se presenten bajo el lema de "maximizar la conveniencia del usuario", en realidad parece que siempre favorecerán sus propios intereses políticos y comerciales.
En este tipo de escenario, las aplicaciones de redes sociales no adoptarán diseños complejos como la rotación frecuente de claves de sesión, sino que asignarán a cada usuario un ID exclusivo para la aplicación. Además, dado que el sistema de identificación sigue la regla de "una persona, una identidad", los usuarios solo pueden tener una cuenta (esto contrasta con la "identidad débil" actual, como las cuentas de Google, donde una persona común puede registrarse fácilmente para unas 5 cuentas). En el mundo real, la implementación del anonimato a menudo requiere múltiples cuentas: una para la "identidad habitual" y otras para varias identidades anónimas (ver "finsta y rinsta"). Por lo tanto, en este modelo, es muy probable que el anonimato que los usuarios puedan obtener sea inferior al nivel actual. De este modo, incluso un sistema de "una persona, una identidad" envuelto en zk-SNARKs podría llevarnos gradualmente hacia un mundo donde todas las actividades deben depender de una única identidad pública. En una época de riesgos crecientes (como la vigilancia con drones, etc.), privar a las personas de la opción de protegerse a través del anonimato tendrá graves consecuencias negativas.
zk-SNARKs en sí mismos no pueden protegerte contra la coerción
Incluso si no revelas tu valor secreto s, nadie puede ver las conexiones públicas entre tus cuentas, pero ¿qué pasa si alguien te obliga a hacerlo? El gobierno podría obligar a revelar su valor secreto para poder ver todas sus actividades. No es una exageración: el gobierno de los Estados Unidos ha comenzado a exigir a los solicitantes de visa que revelen sus cuentas de redes sociales. Además, los empleadores también pueden fácilmente establecer la divulgación de información pública completa como una condición de empleo. Incluso, algunas aplicaciones a nivel técnico pueden exigir a los usuarios que revelen su identificación en otras aplicaciones para poder registrarse (el uso de la aplicación para iniciar sesión lo realiza automáticamente).
Igualmente, en estos casos, el valor de la propiedad de zk-SNARKs se desvanece, pero las desventajas de esta nueva propiedad de "una persona, una cuenta" siguen existiendo.
Podríamos reducir el riesgo de coerción a través de la optimización del diseño: por ejemplo, utilizando un mecanismo de cálculo multipartito para generar un ID exclusivo para cada aplicación, permitiendo que los usuarios participen junto con el proveedor del servicio. De esta manera, si no hay participación del operador de la aplicación, el usuario no puede probar su ID exclusivo en dicha aplicación. Esto aumentaría la dificultad de forzar a otros a revelar su identidad completa, pero no eliminaría completamente esta posibilidad, y este tipo de soluciones también tiene otros inconvenientes, como la necesidad de que los desarrolladores de aplicaciones sean entidades activas en tiempo real, en lugar de contratos inteligentes en la cadena que son pasivos (sin necesidad de intervención continua).
zk-SNARKs por sí mismos no pueden resolver riesgos no relacionados con la privacidad
Todas las formas de identificación tienen casos marginales:
Estos casos marginales son los que más perjudican a los sistemas que intentan mantener la propiedad de "una persona, una identificación", y no tienen ninguna relación con la privacidad. Por lo tanto, zk-SNARKs no pueden hacer nada al respecto.
Confiar en la "prueba de riqueza" para prevenir ataques de brujas no es suficiente para resolver el problema, por lo que necesitamos algún tipo de sistema de identificación.
En la comunidad puramente criptográfica, una alternativa común es: confiar completamente en "pruebas de riqueza" para prevenir ataques de brujas, en lugar de construir cualquier forma de sistema de identificación. Al hacer que cada cuenta genere un cierto coste, se puede evitar que alguien cree fácilmente múltiples cuentas. Este enfoque ya tiene precedentes en Internet; por ejemplo, el foro Somethingawful requiere que los usuarios que se registren paguen una tarifa única de 10 dólares, la cual no se reembolsará si la cuenta es suspendida. Sin embargo, en la práctica, esto no es realmente un modelo de economía criptográfica, ya que el mayor obstáculo para crear una nueva cuenta no es volver a pagar 10 dólares, sino obtener una nueva tarjeta de crédito.
Teóricamente, incluso se podría permitir que los pagos sean condicionales: al registrar una cuenta, solo necesitas garantizar un capital, y solo perderías ese capital en circunstancias muy raras, como cuando la cuenta es bloqueada. Desde un punto de vista teórico, esto podría aumentar significativamente el costo de los ataques.
Este enfoque ha demostrado ser efectivo en muchos escenarios, pero no funciona en absoluto en ciertos tipos de situaciones. Me centraré en dos categorías de escenarios, a los que llamaré "escenarios similares a la renta básica universal (UBI-like)" y "escenarios similares a la gobernanza (governance-like)".
necesidad de identificación en un escenario similar a un ingreso básico universal (UBI-like)
El llamado "escenario de ingreso básico universal" se refiere a situaciones en las que se distribuyen activos o servicios a un grupo de usuarios muy amplio (idealmente a todos), sin considerar su capacidad de pago. Worldcoin es un ejemplo sistemático de esto: cualquier persona que tenga una World ID puede recibir periódicamente una pequeña cantidad de tokens WLD. Muchos airdrops de tokens también buscan lograr objetivos similares de manera más informal, tratando de hacer que al menos una parte de los tokens llegue a la mayor cantidad posible de usuarios.
En lo personal, no creo que el valor de este tipo de tokens pueda alcanzar un nivel suficiente para mantener una vida personal. En una economía impulsada por inteligencia artificial, con una escala de riqueza que alcanza miles de veces la actual, estos tokens podrían tener un valor que mantenga la vida; pero aun así, al menos los proyectos liderados por gobiernos, respaldados por recursos naturales, seguirán ocupando un lugar más importante en el ámbito económico. Sin embargo, creo que un problema que estos «mini-UBIs» pueden solucionar de manera efectiva es: permitir que las personas obtengan una cantidad suficiente de criptomonedas para realizar algunas transacciones básicas en la cadena y compras en línea. Específicamente, podría incluir:
Si las criptomonedas se adoptan ampliamente a nivel mundial, este problema ya no existirá. Pero en el presente, cuando las criptomonedas aún no son comunes, este puede ser el único medio para que las personas accedan a aplicaciones no financieras en la cadena y a servicios de productos en línea relacionados, de lo contrario, podrían no tener acceso a estos recursos en absoluto.
Además, hay otra manera de lograr un efecto similar, que es los «servicios básicos universales»: proporcionar a cada persona con identificación la capacidad de enviar un número limitado de transacciones gratuitas dentro de aplicaciones específicas. Este enfoque puede alinearse mejor con los mecanismos de incentivos y tener una mayor eficiencia de capital, ya que cada aplicación que se beneficia de esta adopción puede hacerlo sin necesidad de pagar por los no usuarios; sin embargo, esto también conlleva ciertos compromisos, ya que la universalidad se verá reducida (los usuarios solo pueden garantizar el acceso a las aplicaciones que participan en el programa). Aun así, se necesita un conjunto de soluciones de identificación aquí para prevenir que el sistema sufra ataques de spam, al mismo tiempo que se evite la exclusión, la cual proviene de exigir a los usuarios que paguen a través de algún método de pago, y este tipo de métodos de pago puede no ser accesible para todos.
La última categoría importante que merece ser enfatizada es el "depósito de seguridad básico universal (universal basic security deposit)". Una de las funciones de la identificación es proporcionar un objetivo que se puede utilizar para la rendición de cuentas, sin que los usuarios tengan que comprometer fondos equivalentes a la escala de incentivos. Esto también contribuye a lograr un objetivo: reducir la dependencia del umbral de participación en relación con la cantidad de capital personal (incluso sin necesidad de capital alguno).
necesidad de identificación en escenarios tipo gobernanza (governance-like)
Imagina un sistema de votación (por ejemplo, los "me gusta" y retweets en las plataformas de redes sociales): si los recursos del usuario A son 10 veces los del usuario B, entonces su derecho a voto también será 10 veces el de B. Pero desde un punto de vista económico, cada unidad de derecho a voto que le da a A generará un beneficio 10 veces mayor que el que le trae a B (porque A tiene una mayor capacidad, cualquier decisión tendrá un impacto más significativo en su nivel económico). Por lo tanto, en términos generales, el beneficio que A obtiene de su voto es 100 veces el beneficio que B obtiene de su voto. Es por eso que descubrimos que A invertirá mucho más esfuerzo en participar en la votación, investigar cómo votar para maximizar sus propios objetivos, e incluso puede manipular estratégicamente el algoritmo. Esta es también la razón fundamental por la cual los "whales" en el mecanismo de votación de tokens pueden tener una influencia desproporcionada.
La razón más general y profunda es que el sistema de gobernanza no debería asignar el mismo peso a "una persona que controla 100,000 dólares" y "1,000 personas que poseen 100,000 dólares". La segunda opción representa 1,000 individuos independientes, por lo que contiene información valiosa más rica, en lugar de una alta repetición de información de bajo volumen. Las señales provenientes de 1,000 personas también tienden a ser más "moderadas", ya que las opiniones de diferentes individuos a menudo se cancelan entre sí.
Este punto se aplica tanto a los sistemas de votación formales como a los "sistemas de votación no formales", como la capacidad de las personas para participar en la evolución cultural a través de la expresión pública.
Esto indica que los sistemas de gobernanza no se conformarán realmente con la práctica de "independientemente del origen de los fondos, todos los conjuntos de fondos de igual tamaño se tratan por igual". El sistema en realidad necesita comprender el grado de coordinación interna de estos conjuntos de fondos.
Es importante tener en cuenta que si estás de acuerdo con mi marco descriptivo para los dos tipos de escenarios mencionados (escenarios de ingreso básico universal y escenarios de gobernanza), entonces desde un punto de vista técnico, la necesidad de una regla clara como "una persona, un voto" ya no existe.
En estos dos escenarios, la identificación sigue siendo muy útil, pero ya no existe la exigencia de seguir reglas estrictas como "una persona, una identificación".
El estado ideal en teoría es: el costo de obtener N identificaciones es N²
A partir de los argumentos anteriores, podemos ver que hay dos presiones que limitan la dificultad esperada de obtener múltiples identidades en el sistema de identificación desde extremos opuestos:
Primero, no se puede establecer un límite rígido y visible sobre la "cantidad de identificaciones que se pueden obtener fácilmente". Si una persona solo puede tener una identificación, no se puede hablar de anonimato, y podría ser coaccionada para revelar su identificación. De hecho, incluso si se establece una cantidad fija mayor a 1, existe riesgo: si todos saben que cada persona tiene 5 identificaciones, entonces podrías ser coaccionado para revelar las 5.
Otra razón que apoya esto es que la anonimidad en sí misma es muy frágil, por lo que se necesita un espacio de seguridad suficientemente grande. Con las herramientas modernas de IA, la asociación de comportamientos de usuarios a través de plataformas se vuelve muy fácil; utilizando hábitos de lenguaje, momentos de publicación, intervalos entre publicaciones, temas de discusión y otra información pública, se puede identificar con precisión a una persona con solo 33 bits de información. Las personas pueden usar herramientas de IA para defenderse (por ejemplo, cuando publiqué contenido de forma anónima, primero lo escribí en francés y luego lo traduje al inglés mediante un modelo de lenguaje que se ejecuta localmente), pero aun así, no se desea que un solo error termine por completo con su anonimidad.
En segundo lugar, la identificación no puede estar completamente vinculada a las finanzas (es decir, el costo de obtener N identificaciones es N), porque esto permitiría a los grandes actores obtener fácilmente una influencia desproporcionada (lo que llevaría a que los pequeños actores pierdan completamente su voz). El nuevo mecanismo de Twitter Blue refleja esto: la tarifa de certificación de 8 dólares al mes es demasiado baja y no puede limitar eficazmente los abusos; hoy en día, los usuarios básicamente ignoran este tipo de insignia de certificación.
Además, es posible que no deseemos que un sujeto con una cantidad de recursos N veces mayor pueda actuar de manera indebida N veces sin restricciones.
Considerando los puntos mencionados anteriormente, esperamos obtener múltiples identificaciones de la manera más fácil posible, bajo las siguientes condiciones restrictivas: (1) restringir el poder de los grandes actores en aplicaciones de gobernanza; (2) limitar los abusos en aplicaciones de renta básica universal.
Si tomamos directamente el modelo matemático de las aplicaciones de gobernanza mencionado anteriormente, obtendremos una respuesta clara: si tener N identidades puede generar un impacto de N², entonces el costo de obtener N identidades debería ser N². Curiosamente, esta respuesta también es aplicable a las aplicaciones de ingreso básico universal.
Los viejos lectores de este blog quizás se den cuenta de que esto es completamente consistente con el gráfico de una entrada anterior sobre "financiamiento cuadrático", no es una coincidencia.
El sistema de identificación pluralista (Pluralistic identity) puede lograr este estado ideal.
El llamado «sistema de identificación múltiple» se refiere a un mecanismo de identificación sin una única entidad emisora dominante, ya sea esta una persona, una organización o una plataforma. Este sistema puede lograrse de dos maneras:
La última instantánea del mapa de identificación de Circles. Circles es uno de los proyectos de identificación basados en redes sociales más grandes en la actualidad.
La identidad múltiple explícita posee naturalmente anonimato: puedes tener una identidad anónima (incluso múltiples), y cada identidad puede construir reputación en la comunidad a través de sus propias acciones. Un sistema ideal de identidad múltiple explícita podría incluso no necesitar el concepto de "identidades discretas"; en cambio, podrías tener un conjunto difuso compuesto por comportamientos pasados verificables y ser capaz de demostrar de manera precisa diferentes partes de acuerdo a las necesidades de cada acción.
zk-SNARKs facilitarán la realización de la anonimidad: puedes utilizar tu identidad principal para iniciar una identidad anónima, proporcionando en privado la primera señal para que la nueva identidad anónima sea reconocida (por ejemplo, demostrando a través de zk-SNARKs que posees una cierta cantidad de tokens, lo que te permitirá publicar contenido en anon.world; o demostrando a través de zk-SNARKs que tus seguidores de Twitter poseen ciertas características). Puede haber formas aún más efectivas de utilizar zk-SNARKs.
La "curva de costos" de la identificación múltiple oculta es más pronunciada que la de una curva cuadrática, pero aún posee la mayoría de las características necesarias. La mayoría de las personas tienen algunas de las formas de identificación enumeradas en este texto, en lugar de todas. Puedes obtener una forma de identificación adicional con cierto esfuerzo, pero cuantas más formas de identificación poseas, menor será la relación costo-beneficio para obtener la siguiente. Por lo tanto, proporciona la contención necesaria contra ataques de gobernanza y otros comportamientos abusivos, al mismo tiempo que asegura que los coercitivos no puedan solicitar (ni razonablemente esperar) que reveles un conjunto fijo de identificaciones.
Cualquier forma de sistema de identificación múltiple (ya sea implícito o explícito) tiene una mayor tolerancia a fallos de forma natural: las personas con discapacidades en las manos o los ojos aún pueden tener pasaporte, y los apátridas también pueden demostrar su identificación a través de ciertos canales no gubernamentales.
Es importante tener en cuenta que si la cuota de mercado de una forma de identificación se acerca al 100% y se convierte en la única opción de inicio de sesión, entonces las características mencionadas anteriormente dejarán de ser efectivas. En mi opinión, este es el mayor riesgo que enfrentan los sistemas de identificación que buscan excesivamente la "universalidad": una vez que su cuota de mercado se acerque al 100%, se pasará de un sistema de identidades múltiples a un modelo de "una persona, una identidad", y como se menciona en este artículo, este modelo tiene numerosas desventajas.
En mi opinión, el desenlace ideal del actual proyecto "una persona, una identificación" es la fusión con un sistema de identificación basado en gráficos sociales. El mayor problema al que se enfrenta un proyecto de identificación basado en gráficos sociales es la dificultad de escalar a un número masivo de usuarios. El sistema de "una persona, una identificación" puede utilizarse para proporcionar un soporte inicial para los gráficos sociales, creando millones de "usuarios semilla". En ese momento, el número de usuarios será lo suficientemente grande como para desarrollar de manera segura un gráfico social distribuido globalmente a partir de esta base.