Privacidad en L2

📌Introducción

En estos días existe una falta de coherencia entre la transparencia existente en las Layer 2 —cripto en general— y el deseo de privacidad que exige el ecosistema al final del día. Los datos públicos y verificables on-chain significan que las transacciones son rastreables y no pueden modificarse. Al mismo tiempo, al interactuar en el mundo real y en el mundo digital, inevitablemente dejamos alguna información, lo que también hace que otros puedan rastrearnos, desde movimientos on-chain hasta relacionar una address con nuestra identidad real.

La falta de protección efectiva de los datos es inaceptable en el mundo que vivmos, porque no solo los individuos quieren proteger su propia información o la de terceros, cualquier empresa u organización también quiere mantener la confidencialidad de sus datos sensibles y valiosos. Por lo tanto, resolver el problema de la privacidad es clave para que, en el caso específico de las Layer 2, logren dar un paso hacia la adopción masiva. Motivados por esto, muchos actores han identificado el problema y han dado forma a las primeras soluciones de privacidad como parte de las soluciones de escalabilidad de Ethereum.

A continuación, presentaremos las soluciones existentes en materia de privacidad dentro del ecosistema Layer 2 y relacionados.


✨Proyectos principales que ofrecen privacidad en L2.

🔷Aztec Network

Aztec Network es un de las mejores opciones para obtener privacidad en L2.
Aztec Network es un de las mejores opciones para obtener privacidad en L2.

Aztec es una Layer 2 de privacidad de Ethereum construida con un ZK Rollup que permite transacciones anónimas entre cuentas.

Aztec crea de una manera fácil zero-knowledge proofs, mediante PLONK, y luego usa el modelo Bitcoin UTXO para permitir transacciones de privacidad.

Dado que el modelo UTXO no permite que Aztec use smart contracts complejos, el equipo a desarrollado una solución llamada Aztec Connect, una forma de implementación de contratos en la mainnet de Ethereum que permite a los usuarios hacer uso de DeFi, algo que equivale al "mapping".

Nota: El término mapping en Solidity actúa como una tabla hash o diccionario en cualquier otro lenguaje. Estos se utilizan para almacenar los datos en forma de pares clave-valor. Los mappings se utilizan principalmente para asociar la dirección única de Ethereum con el tipo de valor asociado.

🧾PLONK, el sistema zero-knowledge proof de Aztec

El papel de PLONK es generar zero-knowledge proofs, lo que podríamos referir por ejemplo a "sacar una licencia de conducir". En otras palabras, PLONK es un tipo de tecnología zero-knowledge.

Con PLONK, cuando los comerciantes transfieren dinero de un lado a otro, los nodos y otras personas solo pueden obtener una "una licencia de conducir" y saber que la información en la "licencia" es definitivamente cierta, pero no sabrán exactamente que información tienen la licencia.

🤔¿Por qué necesitamos PLONK?

Aunque la tecnología de las zero-knowledge proofs es relativamente madura, Ethereum no se consideró compatible con la zero-knowledge proof cuando se creó.

Como resultado, lleva mucho tiempo generar una zero-knowledge proof directamente en Ethereum, por lo que los desarrolladores tienen que elegir otras opciones, y PLONK es una de esas "opciones".

PLONK en realidad proporciona un "Template" unificado para crear zero-knowledge proof para que los nodos de Aztec mejoren la eficiencia de la red.

Además, Aztec ha modularizado PLONK. Si un nodo no quiere usar PLONK y quiere usar otras formas de zero-knowledge proofs, como FRI, también es posible.

💰UTXO: una forma de comerciar amigable a zero-knowledge proofs

Funcionamiento de las Transacciones UTXO.
Funcionamiento de las Transacciones UTXO.

Después de usar PLONK para generar zero-knowledge proofs, ¿cómo se pasan las "proofs" entre nodos y cuentas? Pues usando UTXO.

UTXO es un método de transferencia de bitcoin que se diferencia de los sistemas de cuentas como Ethereum ya que en un sistema de cuentas como Ethereum los usuarios tienen wallets. Es como, si vas a pagar, sacas el dinero de tu bolsillo y lo das.

En el caso de UTXO, no todos los usuarios tienen wallets. En su lugar, se registra el dinero y el historial de transferencias de este dinero. Y el último destinatario del dinero, es el dueño del mismo.

Entonces, en el sistema de wallets de Ethereum es "nosotros poseemos el dinero" y en el caso de UTXO es "mi nombre está en el dinero".

Ahora bien, lo que hace Aztec es tomar el nombre del comerciante y borrarlo del dinero.

Para evitar que los comerciantes se confabulen entre sí, se genera una zero-knowledge proof antes de la transacción, lo que demuestra su transacción original, y la nueva proof se publica bajo el nuevo dinero.

Los resultados de la transferencia se registran en dos libros separados (Merkle Trees), uno para el Note Tree y el otro para el Nullifier Tree.

Si esta "proof" existe en el Note Tree, pero no en el Nullifier Tree. Esto significa que el saldo es válido.

💳Aztec Connect: UTXO aplicado a DeFi

Lamentablemente UTXO no funciona para implementaciones complejas de smart contracts, y Aztec Connect está diseñado para resolver este problema.

Aztec implementó el smart contract “Aztec Bridge Contract” en la mainnet de Ethereum. Cuando un usuario usa el protocolo DeFi en Aztec, el contrato agrega fondos e interactúa con el protocolo DeFi en mainnet, y luego devuelve los fondos al usuario una vez que se completa la transacción.

Las dApps que quieran implementarse en Aztec, debe conectarse al Connect SDK. Algunos de los proyecto que lo hicieron usando zk.money son:

  • Yearn Finance : Para yield farming usando las vaults de Yearn Finance.

  • Euler: para hacer lending usando ETH y generar ganancias por hacer yield con weWETH

  • AAVE: para hacer lending usando ETH ó DAI y generar ganancias por hacer yield con wa2WETH ó wa2DAI respectivamente.

  • Compound: para hacer lending usando DAI y generar ganancias por hacer yield con wcDAI.

  • Liquity: Servicio de borrowing con LUSD utilizando ETH como colateral.

  • Lido: Para hacer swap de ETH por stETH y realizar staking con stETH en Curve para obtener recompensas diarias.

Recientemente el equipo de Aztec anuncio su desvinculación Aztec Connect, los depositos de front-ends como zk.money y zk.finance serán deshabilitados, y se dará la oportunidad a los usuarios de retirar los fondos hasta el 21 de marzo del 2024. El objetivo de esto sera reducir el trabajo de secuenciador progresivamente, renunciar a los permisos del contrato y cesar el funcionamiento del rollup.

El codigo de Aztec ha sido abierto al público con las actualizaciones de scaling debidas y un nuevo SDK seguro. Con esto, el equipo de Aztec invita a los developers a crear, mejorar y implementar sus propios forks de Aztec Connect, a fin de lograr obtener una nueva versión de Aztec Connect 100% dirigida por la comunidad, en donde se comprometen a financiar las soluciones más prometedoras.


🌚Obscuro

Obscuro utiliza a su favor la ventajas de los Optimistic y ZK rollups.
Obscuro utiliza a su favor la ventajas de los Optimistic y ZK rollups.

Obscuro es una solución de Ethereum L2 de uso general que prioriza la privacidad que se encuentra entre los Optimistic y ZK Rollups para beneficiarse de lo mejor de ambos mundos.

Obscuro afirma que es capaz de tener el performance y uso general de los Optimistic Rollups combinado con la velocidad de retiro de los ZK Rollups.

A diferencia de las soluciones basadas en zero-knowledge proofs, la privacidad de Obscuro se basa en el uso de TEE, que es un enclave seguro que se encuentra en los procesadores de Intel (SGX), donde puede ejecutar cálculos totalmente confidenciales. Básicamente, cuando un nodo recibe una data encriptada, el procesador la desencripta, la valida y la vuelve a encriptar, sin que los validadores, los nodos completos y hasta el mismo operador del nodo puedan ver la información

El uso de los TEE no es exclusivo de Obscuro también lo usan Secret Network en Cosmos y Phala en Polkadot. Actualmente se encuentra en desarrollo.


🔥Otras soluciones de privacidad en L2.

🙊Zkopru

Zkopru combina la tecnología zk-SNARK con un Optimistic Rollup.
Zkopru combina la tecnología zk-SNARK con un Optimistic Rollup.

Zkopru es una Layer 2 basado en UTXO para transacciones privadas que utiliza zk-SNARK y un Optimistic Rollup. Es capaz de admitir transferencias privadas y atomic swaps privados dentro de su L2, es compatible con ETH, ERC20, ERC721 con un bajo costo. Además, con la función de pay-in-advance, los usuarios pueden retirar activos de la L2 antes de la finalización. Zkopru significa zk (de zero-knowledge proof) opru (de Optimistic Rollup).

Es importante destacar que los ZK rollups, utilizan zero-knowledge proofs para verificar el cálculo correcto del siguiente estado cuando se aplican nuevas transacciones, pero Zkopru no es un ZK Rollup. Mientras que los ZK Rollups usan la parte "zk" para crear una validity proof para la transición del estado del rollup, Zkopru usa la parte “zk” para hacer que las transferencias individuales sean privadas.

Este concepto tiene importantes ventajas en términos de consumo de gas. Para las transacciones zk directamente en mainnet, sería necesario utilizar una función hash compatible con SNARK para construir un Merkle tree, lo que es muy costoso. Pero usando un Optimistic Rollup, se puede actualizar el Merkle tree compatible con SNARK a un bajo costo off-chain. Como resultado, este protocolo consume alrededor de 8800 gas por transferencia privada (una transferencia ETH normal en Ethereum cuesta 21000 gas)

El procesos de zkopru son sencillos, para depositar solo es necesario usar la interfaz principal para enviar los fondos desde la L1. Luego para transferencias, cada usuario necesita generar su propia dirección Zkopru a partir de la llave privada que su ethereum wallet (la cual será utilizada para enviar o recibir fondos al igual que en la L1). Para garantizar la seguridad de la plataforma, cada vez que se completa una transferencia se genera una zero-knowledge proof que es enviada al Zkopru coordinator. Después de que el Zkopru coordinator haya sido incluido en la transacción (mediante fees), los fondos se consideran privados.

Para el caso del retiro de fondos de la chain, al igual que el cualquier Optimistic Rollup, se deben esperar 7 días. En donde los detalles de la transacción deberán revelarse para ello, por lo que la dirección y el monto retirado ya no son privados.

❗‼🧨Actualmente Zkopru ha dejado de tener actividad en cuanto a desarrollo, la prueba de ello es que su último post en twitter es de 19 de enero del 2022, es decir más de un año sin novedades.

🌪Tornado Cash

Tornado Cash otorga su servicio a las L2 a traves de Arbitrum y Optimism.
Tornado Cash otorga su servicio a las L2 a traves de Arbitrum y Optimism.

Tornado Cash es un mixer open-source que otorga privacidad a sus usuarios permitiendo ocultar el origen o destino de sus criptomonedas y tokens en la red Ethereum. Sin embargo, a pesar de ser originalmente creado para Ethereum, también se a extendido a las Layer 2 Arbitrum y Optimism (aunque no con tanta repercusión como en la L1).

El código fue diseñado para unir los activos de los usuarios dentro de una misma pool, usando zero-knowledge proofs, por lo tanto es difícil para un observador externo rastrear la procedencia de los fondos.

El rendimiento y las capacidades de Tornado Cash son indudables, y por tal motivo ha sido la herramienta favorita de los hackers para "borrar evidencia” de sus ataques. Debido a esto, el protocolo ha estado bajo la lupa de los reguladores, a través de sanciones de la OFAC e incluso el arresto de su uno de sus co-fundadores (sin importar que desde 2020 el team había renunciado a la propiedad del multisign, dejado a la DAO como único gestor de los fondos).

A pesar de todas estas polémicas, Tornado Cash sigue siendo una de las opciones para obtener privacidad en L2, y al ser open-source, da la posibilidad a los developers de crear variaciones del protocolo con sus propias reglas, tal como Privacy Pools.


🔮Soluciones futuras

🤫Privacy Pools

Privacy Pools anunció la integración con Optimism.
Privacy Pools anunció la integración con Optimism.

Privacy Pools es un protocolo que es capaz de proporcionar privacidad a las transacciones de Ethereum, originalmente fue pensado para operar en la L1, sin embargo recientemente, el co-fundador de Privacy Pools, @ameensol, anunció la integración con Optimism, por lo tanto los usuarios de la L2 de Optimism podrán disfrutar de las funcionalidades de Privacy Pools.

Privacy Pools puede ser considerado un fork de Tornado Cash, en esencia es igual, es un mixer de criptomonedas con la diferencia que utiliza zero knowledge proofs a través de la cual los usuarios pueden probar que sus retiros no son parte de las transacciones ilícitas. @ameensol publicó un tutorial de como utilizar la solución.

Es importante mencionar que actualmente de acuerdo a su documentación, el código de Privacy Pools aún se encuentra en fase alpha, aún no ha sido auditado, todavía no ha tenido su trusted setup y se han encontrado bugs en lo que se está trabajando.

Esta solución aún tiene mucho camino por recorrer y mejorar, solo el tiempo dirá si trasciende o se la lleva un “tornado”.

⭐Starknet L3s

Startnet buscará mediante L3 implementar la base para obtener privacidad.
Startnet buscará mediante L3 implementar la base para obtener privacidad.

Como se sabe, Starknet utiliza una L2 pública para mostrar y validar sus transacciones que luego son verificadas en la L1. Sin embargo debido a la reciente demanda de escalabilidad, interoperabilidad y privacidad, Starknet tiene planeado la creación de varias subredes (L3), con el fin de mejorar el rendimiento, reducir los fees exponencialmente e implementar privacidad. De acuerdo a lo expuesto en este tuit, con la creación de un fractal destinado a la privacidad, Starknet será capaz de probar un statement y entregar una proof hacia una Layer debajo de ella, sin revelar ningún detalle.

De esta forma la L3 puede incluir áreas privadas para computar datos que nunca llegarán a L2 pública. ¡Lo que se dice en L3 se queda en L3!

Esta tecnología sigue en desarrollo pero será la base para que futuras soluciones de privacidad en Starknet salgan a la luz.

🌊Sin7Y - Ola

Sin7y implementará privacidad a través de su producto Ola.
Sin7y implementará privacidad a través de su producto Ola.

Fue fundada en 2021 e impulsada por blockchain developers de primer nivel, Sin7Y es una incubadora de proyectos y un equipo de investigación de tecnología de blockchain que explora las tecnologías más importantes y de vanguardia, incluidas EVM, Layer2, Crosschain, Privacy Computing, etc. Actualmente están construyendo Ola, una plataforma integral que refuerza el ecosistema Ethereum con privacidad programable, escalabilidad programable y facil de usar por developers.

El equipo de Ola se planteó el reto de crear una programmable privacy. Para conseguir esto el equipo de Ola debe abordar 2 elementos clave: La parte "Programable" lo cual se refiere a usar una ZKVM (zero-knowledge virtual machine) para generar proofs válidas para cualquier uso. Y la parte de "privacidad" esto significa que se necesita un sistema de encriptación complejo y un nuevo tipo de dato para lograrlo.

Actualmente el equipo de desarrollo de Ola se encuentra explorando opciones de que tipo de encriptación va a utilizar, por lo que habrá que esperar a futuros avances para saber cómo pretenden ofrecer privacidad, una buena pista de ello es el lanzamiento de su testnet destinada para el Q4 del 2023 según el roadmap que se muestra en su website.

🌀Intmax

https://intmax.io/
https://intmax.io/

Es un zk Rollup stateless que poseen una serie de características únicas que permiten a los usuarios obtener “customizable privacy” (Privacidad personalizada en español).

La principal característica de Inxmax reside no usa datos históricos de transacciones. Esta eliminación de casi todos los datos on-chain de zkRollup, proporciona una gran ventaja. Por ejemplo, los datos resultantes de las transacciones se comprimen en gran medida, lo que reduce el costo del gas. Además, los datos de los usuarios se separan de los datos compartidos comúnmente, lo que permite la privacidad por defecto.

Otra característica importante es que no utiliza zkp verification, ya que Intmax usa un mecanismo llamado “Pre-consensus” en donde es posible enviar datos de zkp sin ejecutar verificaciones zkp on-chain, creando al mismo tiempo un compromiso optimista sin posibilidad de actividades maliciosas. Esto permite acortar de manera segura el período de espera de 7 días que requieren los Optimistic rollups a solo unas pocas horas.

Actualmente es posible usar la testnet de Intmax y se espera que su mainnet sea lanzada en el Q2 de 2023.

🐱‍👤Ethereum Stealth Addresses

Vitalik propuso al mundo su idea de como integrar privacidad a la Ethereum mainnet.
Vitalik propuso al mundo su idea de como integrar privacidad a la Ethereum mainnet.

En Ethereum, las transacciones son públicas de forma predeterminada, lo que puede plantear un problema de privacidad. Hay formas de lograr la privacidad transaccional en la red, como usar mixers de criptomonedas. Sin embargo, tales métodos pueden plantear problemas regulatorios. Esto se vió con Tornado Cash, que fue sancionado por la Oficina de Control de Activos Extranjeros (OFAC) del Departamento del Tesoro de EE. UU. por actividades potencialmente ilícitas.

De acuerdo a las palabras de Vitalik:

“La privacidad es uno de los mayores desafíos que quedan en el ecosistema Ethereum".

Por ello, el 20 de enero del 2023 Vitalik Buterin, publicó una propuesta en donde se presenta la idea de agregar privacidad a Ethereum mediante la implementación de las Stealth Addresses (en español dirección oculta o secreta).

El sistema de las Stealth Addresses se basa en un mecanismo que permitiría que cualquier wallet de Ethereum genere direcciones públicas ofuscadas criptográficamente llamadas "Stealth Addresses" para recibir fondos de manera privada y acceder a ellos usando un código especial llamado "spending key" (clave de gasto en español).

Buterin describió que las Stealth Addresses brindan las mismas propiedades de privacidad de alguien que genera una dirección nueva para cada transacción. Estas Stealth Addresses propuestas son una forma de aumentar la privacidad en Ethereum al crear direcciones únicas y anónimas para cada transacción.

Cada vez que alguien realiza una transacción, puede generar una nueva Stealth Address para que sea difícil rastrear las transacciones o determinar quién envía y recibe activos.

Esto significa que el historial de transacciones de cada usuario puede permanecer privado. De igual forma, Buterin también sugirió usar zk-SNARK (zero-knowledge proofs), para aumentar la privacidad del sistema y dificultar la vinculación de las Stealth Addresses.

Básicamente esta propuesta es para ser operada en la L1 de Ethereum, pero una vez que sea lanzada, es muy probable que sea aprovechada para agregar privacidad indirectamente a las L2.


Conclusión

Es natural que cuando vemos que las transacciones y saldos de nuestra billetera son publicadas en la blockchain nos sintamos observados e intimidados. Muchos usuarios y proyectos han sufrido ataques luego de meses de persecución por parte de exploiters. Por lo que la búsqueda de la privacidad siempre tendrá demanda.

Si realmente se quiere que la tecnología blockchain iguale o supere a las finanzas del mundo real, es importante que se la privacidad sea un objetivo o al menos una opción a implementar. Algunos proyectos, como los que se mencionaron en este artículo, emplean o emplearán buenas ideas de privacidad para reducir esta brecha entre DeFi y TradFi, en donde solo el tiempo dirá si lo logran o no.

En esta industria siempre existirán aquellos que se aprovecharan para lucrarse o dañar, lo cual da argumentos a reguladores de interceder en la misma. Pero aun así, la privacidad siempre sera necesaria.

Si no tienes nada que ocultar, no tienes nada que temer…

Pero cuando no hay dónde esconderse, debes tener mucho miedo.


📌Por último, no olvides leer nuestro últimos trabajos de investigación hechos por @Nadai02010, Una serie de 3 artículos en donde se explica el cual es la arquitectura, el futuro y como desarrollar usando zkSync Era.

Dale un vistazo! No arrepentirás!


🎉 ¡Gracias por leer hasta el final! En L2 en Español estamos avocados en educar, aprender y estudiar juntos, sigue nuestras redes sociales y únete a la conversación en nuestra comunidad de Telegram!


Subscribe to L2 en Español
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.