¡Bienvenido! ¿Eres nuevo en Zcash?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

Idioma

ZSL: zk-SNARKs para la Empresa

Jack Gavigan | Mar 23, 2017

El objetivo principal de The Zerocoin Electric Coin Company es, y siempre será, desarrollar y apoyar a Zcash.

Sin embargo, siendo una startup que necesita generar ingresos para sobrevivir, sería negligente de nuestra parte ignorar el flujo potencial de ingresos representado por el mercado empresarial de la tecnología de libro contable distribuido (DLT, siglas de Distributed Ledger Technology), que ha generado un intenso interés por parte de variados sectores de la industria, incluidos servicios financieros, sanidad y sectores que buscan beneficiarse de todo el potencial de los dispositivos conectados y compatibles con IoT.

Existe una plétora de casos de uso potencial para la tecnología blockchain, donde la confidencialidad y la privacidad son requisitos previos, por una variedad de razones que van desde la confidencialidad comercial estándar hasta los requisitos legales y regulatorios. En los Estados Unidos, la Ley Gramm-Leach-Bailey exige la privacidad de la información financiera de los consumidores y la directiva de seguridad HIPAA establece un estándar para proteger la información relativa a la salud personal de los individuos; la Directiva de Protección de Datos de la UE (que pronto será sustituida por el Reglamento General de Protección de Datos) establece que los datos personales deben estar protegidos contra la divulgación no autorizada; y finalmente los requisitos de confidencialidad comercial trascienden tanto las fronteras como las industrias.

Creemos que la tecnología de preservación de la privacidad de Zcash puede satisfacer muchos de los requisitos de confidencialidad y privacidad de los libros contables distribuidos de las empresas.

Para comprender cómo la tecnología que sustenta Zcash puede satisfacer este tipo de requisitos, será de ayuda comprender la arquitectura misma de Zcash.

La Arquitectura en Capas de Zcash

En el blockchain de Bitcoin, crear una transacción válida implica probar tres cosas: 1. que las monedas no han sido gastadas previamente, 2. que el Remitente está autorizado a transferir la "propiedad" de las monedas en cuestión, y 3. que las entradas de la transacción son iguales a sus salidas.

La prueba de que las monedas no se han gastado previamente se obtiene del propio libro mayor y no requiere ningún esfuerzo de parte del Remitente.

El Remitente demuestra la propiedad de las monedas que desea transferir mediante la firma digital de la transacción, utilizando la clave secreta que corresponde a la dirección que actualmente contiene las monedas. Para permitir que esta firma sea verificada, se debe revelar la dirección de envío. A su vez, el Destinatario sólo podrá gastar las monedas si su dirección es igualmente revelada.

Con Bitcoin, la verificación de que las entradas de la transacción son iguales a sus salidas es trivial porque la cantidad que se transfiere es revelada.

Un diagrama esquemático de alto nivel de una transacción Bitcoin

Zcash utiliza pruebas de conocimiento-cero (específicamente, zk-SNARKs) para probar los mismos tres hechos sin revelar ninguna información sobre el Remitente, el Destinatario o los activos que están siendo transferidos. Cada transacción válida se acompaña de un zk-SNARK que demuestra que: los activos de Entrada existen y no se han gastado previamente, el creador de la transacción tiene autoridad para gastar los activos de Entrada, y la cantidad y tipo de Entradas es igual a la cantidad y tipo de Salidas.

La información requerida para gastar las Salidas (mediante la creación de un nuevo zk-SNARK) se adjunta a la transacción, cifrada por medio de la clave pública del Destinatario, y sólo podrá ser utilizada por el Destinatario.

Un diagrama esquemático de alto nivel de una transacción con prueba de conocimiento-cero

El resultado es efectivamente un nuevo tipo de libro contable distribuido, al cual llamamos la capa de seguridad de conocimiento-cero, o ZSL por las siglas en inglés de Zero-knowledge Security Layer.

Zcash es una implementación de ZSL, utilizando un fork de la base de código de Bitcoin para permitir transacciones transparentes.

Un diagrama esquemático de alto nivel de una transacción Zcash

Al construir Zcash, podríamos haber implementado únicamente ZSL (es decir, sin incluir un soporte para transacciones transparentes), pero pensamos que los usuarios tenderían a sentirse cómodos con una criptografía que también soporte el tipo de transacciones transparentes con las que ya están familiarizados. Habilitar las transacciones transparentes de estilo Bitcoin también facilita la integración con Zcash utilizando las herramientas e infraestructura existentes que fueron creadas para funcionar con Bitcoin.

ZSL puede superponerse a cualquier solución de libro contable distribuido, añadiendo soporte para transacciones blindadas al conjunto de características del libro contable subyacente. Sin embargo, no se puede deducir automáticamente que toda la funcionalidad del libro contable subyacente se beneficiará de la privacidad y confidencialidad añadidas. Por ejemplo, la integración de ZSL con la base de código Ethereum permitiría utilizar transacciones blindadas para proteger la privacidad de los usuarios, pero los contratos inteligentes aún tendrían que ejecutarse de manera transparente. Todavía estamos en las primeras etapas de investigación de cómo la programabilidad puede ser implementada dentro de ZSL de una manera eficiente.

ZSL también puede ser integrado a cualquier mecanismo de consenso; en lugar de una prueba de trabajo, un libro contable empresarial podría utilizar round-robin, pruebas de participación, o nuevos mecanismos de consenso como Tendermint. Incluso podría integrarse a una base de datos MySQL, donde un plugin de esquema requiere pruebas válidas para los insertos de tablas pero el administrador de la base de datos no puede ver saldos de cuenta.

Este enfoque ofrece una enorme flexibilidad cuando se trata de casos de uso empresarial. Esto significa que la confidencialidad y la privacidad pueden lograrse manteniendo la fungibilidad de los activos digitales que se transfieren, sin comprometer la naturaleza completamente descentralizada del libro contable distribuido. Esta es una ventaja clave sobre las técnicas de privacidad que usan el cifrado tradicional para proteger los detalles de las transacciones. La fungibilidad de los activos transferidos en tales transacciones sólo puede lograrse si los detalles de las transacciones pasadas se revelan al siguiente receptor (lo que compromete la confidencialidad y privacidad), o si se utiliza un tercero de confianza para verificar la validez de las transacciones (lo que compromete el carácter totalmente descentralizado de un libro contable distribuido).

Otra ventaja de la arquitectura en capas es que nos permite centrarnos en lo que hacemos mejor. Somos una empresa pequeña, y planeamos mantenernos estrechamente centrados en el desarrollo de tecnologías criptográficas innovadoras (en contraposición a la creación de soluciones netamente empresariales de libro contable distribuido). El ofrecer esas tecnologías como una capa adicional, nos permite asociarnos con proveedores de soluciones para poder ofrecer a los usuarios finales la confidencialidad y privacidad basadas en zk-SNARK sobre la plataforma DLT escogida.

Con el riesgo de sonar a cliché, queremos que el pastel crezca a través de la colaboración, en lugar de competir por una porción tan grande como sea posible.

Mejorar la Funcionalidad de Zcash (y de ZSL)

Zcash ya ha establecido el máximo estándar para la privacidad, pero no nos estamos durmiendo en los laureles. Recientemente hemos anunciado nuestras prioridades de desarrollo para el 2017, incluyendo el soporte para tokens emitidos por los usuarios (que permitirá a cualquier persona emitir y transferir activos digitales en la plataforma Zcash con la misma confidencialidad y privacidad que protegen las transacciones de ZEC) y la interoperabilidad entre blockchains con Bitcoin y Ethereum, que permitirá a los usuarios intercambiar ZEC por bitcoins y ether sin la necesidad de pasar por un cambio centralizado.

Nuestro principal objetivo en el desarrollo de estas características es mejorar la utilidad de Zcash para quienes ya lo utilizan y a la vez atraer nuevos usuarios. Sin embargo, existe igualmente un beneficio secundario clave: estas características también son útiles para potenciales usuarios empresariales.

La función de Divulgación de Pagos en la que estamos trabajando es el primer paso para permitir que los usuarios puedan divulgar detalles de sus transacciones blindadas a un tercero determinado, a la vez que estos datos se mantienen en secreto frente a todos los demás. En relación a Zcash, esto puede ser utilizado para crear el equivalente de un recibo de pago, para ayudar a resolver disputas y para solucionar problemas. Para los casos de uso empresarial esta función puede ser utilizada para permitir que los usuarios brinden a un tercero, tal como un auditor, un regulador o un árbitro, la capacidad de ver los detalles de transacciones específicas (o incluso que puedan supervisar todas sus transacciones en tiempo real), mientras que estos detalles permanecen confidenciales frente al resto de usuarios del blockchain.

Hacer que ZSL sea compatible con los Tokens Emitidos por el Usuario permitirá la emisión dinámica y la transferencia de diferentes activos digitales en el mismo blockchain. Esto tiene aplicaciones obvias en el sector financiero, que ya está explorando el uso de la tecnología blockchain para la comercialización de valores. Mediante el uso de ZSL, los detalles de tales operaciones pueden mantenerse confidenciales y las identidades de las contrapartes pueden permanecer privadas, sin comprometer la fungibilidad de los activos que están siendo comercializados.

Además, dar a los participantes del blockchain la posibilidad de emitir dentro del blockchain y de forma dinámica sus propios activos digitales abre una amplia gama de casos de uso, tales como la emisión y transferencia de papeles comerciales, facturas descontadas, préstamos sindicados, bonos corporativos y una variedad de derivados (nos referimos a estos derivados como "derivados negociados en blockchain", para diferenciarlos de los más tradicionales derivados negociados en bolsa).

En el espacio de interoperabilidad, estamos trabajando en la implementación de soporte para las transacciones atómicas cross-chain (XCAT), que harán posible el intercambio de activos a través de diferentes blockchains y permitirán asimismo la interoperabilidad entre diferentes tipos de blockchains, siendo optimizadas para comerciar diferentes tipos de activos y operar bajo diferentes modelos de gobernanza y regímenes regulatorios. Por ejemplo, un derivado negociado en blockchain que sea negociado en un blockchain particular operando bajo la supervisión de la CFTC podría liquidarse mediante la entrega de acciones en un libro contable regulado por la SEC. Un comercio de valores en un blockchain que sea operado por NYSE o DTCC podría ser liquidado, al estilo DvP, utilizando CBDC o dinero bancario comercial ("b-money") en un libro contable operado por la Reserva Federal.

Eficiencia, rendimiento y escalabilidad son áreas clave de enfoque para nosotros. Actualmente, la generación del zk-SNARK para una transacción Zcash blindada tarda un poco más de 40 segundos en un CPU de escritorio típico. A la vez que estamos implementando poco a poco mejoras de rendimiento incrementales, también estamos llevando a cabo investigaciones sobre cómo mejorar el circuito criptográfico central, lo cual podría permitir mejoras significativas de eficiencia, desbloqueando así el uso de ZSL para situaciones de uso que requieran una baja latencia y un alto rendimiento.

Mientras tanto, el Offloading de Pagos permitirá que los clientes que estén corriendo en dispositivos de baja potencia puedan ejecutar los elementos computacionales más intensivos de la generación de pruebas zk-SNARK remotamente, en un servidor más potente.

Mirando al Futuro

Los blockchains y los libros contables distribuidos son una tecnología emergente. En mi opinión, se encuentran en un nivel de madurez similar al que tenían Internet y la "World Wide Web" en 1996. En aquel entonces, estaba claro que Internet tenía el potencial de cambiar el mundo, pero aún tomó tiempo que la tecnología madurara y lograra una adopción generalizada, y que nosotros entendiéramos su potencial para desarrollarse hasta el punto donde podríamos comenzar a explotarla plenamente.

La tecnología de libro mayor distribuido ─y nuestra comprensión de la misma─ también necesita desarrollarse, evolucionar y madurar antes de que puedan ser concebidos muchos de sus usos potenciales, especialmente aquellos que requieren un despliegue y adopción a gran escala o generalizados.

Esperamos que la exploración de los usos empresariales de zk-SNARK nos ayude a mejorar la red pública de Zcash, al exponernos a ideas y situaciones de uso que amplíen nuestra comprensión de las aplicaciones potenciales, y a través de la creación de herramientas y características que puedan luego ser aplicadas a Zcash.

Reconocemos que existe un potencial conflicto de intereses entre nuestro papel como los principales impulsores de la criptomoneda Zcash y nuestro deseo de generar ingresos mediante la venta de soluciones habilitadas por ZSL a nivel empresarial. Para garantizar la independencia y la objetividad, hemos establecido una Fundación Zcash independiente y sin fines de lucro para representar los intereses de la comunidad Zcash y del público en general en tanto usuarios del protocolo y del blockchain de Zcash.

A largo plazo, creemos que la adopción y uso generalizados de las tecnologías que sustentan Zcash beneficiarán a todos sus usuarios, de la misma manera que la adopción de Linux por parte de usuarios empresariales ha beneficiado a los usuarios personales y aficionados de Linux.

En última instancia, nuestro objetivo es un futuro en el que todos los que utilicen la tecnología de libro contable distribuido, sean individuos o empresas, puedan beneficiarse de todo el potencial de las tecnologías de privacidad más avanzadas.