Aprovechamiento de ZK Snarks para permitir la funcionalidad de los contratos inteligentes que preservan la privacidad sin sacrificar las características de descentralización
Los contratos inteligentes presentan un enfoque estándar para expresar interacciones complejas entre dos o más partes dispuestas a intercambiar divisas o datos de forma descentralizada. Los contratos inteligentes son efectivamente acuerdos digitales automatizados en una blockchain. Escritos en código, pueden rastrear, verificar y ejecutar las transacciones vinculantes de un contrato cuando se cumplen condiciones predeterminadas. Para crear un contrato inteligente que exprese tales condiciones, los desarrolladores utilizan lenguajes de programación. El código del contrato se almacena y se distribuye en una red descentralizada blockchain, lo que lo hace transparente y, si se desea, irreversible.
En esta entrada del blog, hablamos de Kachina, una solución de contrato inteligente que preserva la privacidad, desarrollada por Input Output Global (IOG) en colaboración con la Universidad de Edimburgo. Permite a los usuarios lograr la preservación de la privacidad y la funcionalidad de los contratos inteligentes de propósito general sin sacrificar las características de descentralización.
Preservar la privacidad en los acuerdos de contratos inteligentes
La transparencia y la configuración pública de la mayoría de los libros de contabilidad de contratos inteligentes hacen que las condiciones del contrato sean visibles para todo el mundo. Aunque la transparencia es una de las ventajas más fuertes de la tecnología blockchain, la privacidad sigue siendo esencial para las aplicaciones que trabajan con datos sensibles.
Los desarrolladores pueden utilizar varias técnicas criptográficas para garantizar una mayor privacidad en los contratos inteligentes. Las pruebas de conocimiento cero (ZKP) y la computación segura son dos ejemplos. Motivados por estas técnicas criptográficas, han aparecido varias soluciones que satisfacen varias definiciones de privacidad y que requieren supuestos de confianza. Algunos ejemplos son Zexe, zkay, Hawk, Zether, Secret Network y otros. Las más expresivas de estas soluciones, Hawk y Secret, se basan en supuestos de confianza, lo que limita significativamente el nivel de descentralización que podrían alcanzar. Hawk asume un conjunto pequeño y fijo de participantes en el núcleo del sistema, mientras que Secret se basa en Entornos de Ejecución de Confianza (TEE), una tecnología con un amplio historial de ataques que dañan la privacidad. Estas técnicas chocan fundamentalmente con los principios básicos de una plataforma blockchain descentralizada.
Kachina: fundamentos de los contratos inteligentes privados
Kachina identifica una gran clase de cálculos distribuidos expresables como contratos inteligentes con garantías de privacidad, que los desarrolladores pueden implementar sin supuestos adicionales de confianza.
Un protocolo de contrato inteligente se basa únicamente en argumentos sucintos de conocimiento no interactivo (ZK Snarks) para proporcionar privacidad. Las garantías de privacidad de este protocolo se demuestran en el marco de seguridad de la composibilidad universal (UC) mediante modelos y pruebas matemáticas. El objetivo principal del protocolo es proporcionar una base de nivel suficientemente bajo y de propósito general para otros sistemas de preservación de la privacidad sin necesidad de actualizar el sistema subyacente con cada nueva extensión o cambio.
Kachina permite a los autores de contratos tender un puente entre la blockchain y las máquinas locales de los usuarios, que se representan mediante dos estados independientes, uno público y otro privado, respectivamente. Un contrato puede actualizar conjuntamente el estado público en la cadena (y compartido) y el estado privado fuera de la cadena (y local). Las partes demuestran entonces en conocimiento cero que actualizan el estado público de una manera permisible: proporcionan detalles sobre la existencia de un estado privado y entradas para las que esta actualización tiene sentido.
Los contratos Kachina también garantizan:
- La concurrencia de una manera que preserva la privacidad. Kachina consigue una mayor concurrencia gracias al novedoso concepto de transcripciones de oráculos de estado. Se trata de registros de operaciones realizadas en el estado del contrato que interactúan con las consultas del oráculo. Los autores de los contratos pueden optimizar las transacciones conflictivas, asegurando una fuga mínima y permitiendo al mismo tiempo reordenamientos.
- Construcción modular eficiente. Kachina está diseñado para ser desplegado a escala. Los trabajos anteriores que utilizan el conocimiento cero no mantienen explícitamente el estado del contrato. Kachina permite el acceso al estado indirectamente a través de oráculos especificados por el contrato. Este acceso indirecto garantiza una mayor escalabilidad y, como resultado, la complejidad de lo que debe probarse está bajo el control total del autor del contrato y puede optimizarse.
En el documento de investigación, IOG demuestra la versatilidad del protocolo Kachina en el caso de estudio de los pagos privados. El equipo especifica formalmente un contrato de tokens privados a través de sus funciones de transición y fuga. Este contrato admite transferencias de fondos privados, consultas de saldo y creación de activos.
Aunque el diseño propuesto es sobre todo teórico, Kachina demuestra la posibilidad de crear contratos inteligentes que preserven la privacidad bajo restricciones de la vida real:
- El uso de oráculos de estado permite trasladar la mayoría de las operaciones computacionalmente difíciles o de almacenamiento intensivo fuera de la prueba de conocimiento cero, lo que reduce su coste.
- Aunque el sistema de prueba de conocimiento cero debe seguir siendo universal, las construcciones ZKP existen y son prácticas para su uso en el entorno propuesto.
Para más detalles, ejemplos y muestras de contratos, lea ‘Kachina - Foundations of Private Smart Contracts’.
Me gustaría agradecer a Thomas Kerber su aportación y apoyo en la preparación de esta entrada del blog.
Traducción al español de “Kachina: privacy-preserving smart contracts”, publicado por Olga Hryniuk en el blog IOG el 4 de Agosto de 2022