Conozca Pickles SNARK: Habilitación de contratos inteligentes en el protocolo Coda

Mina protocol Español
4 min readMar 26, 2021

Pickles es un nuevo sistema de prueba y un conjunto de herramientas asociado que es el primer SNARK implementado capaz de composición recursiva sin una configuración confiable.

En nuestra próxima red de prueba Coda (3.3), lanzaremos Pickles : un nuevo sistema de prueba y un conjunto de herramientas asociado que es el primer SNARK implementado capaz de composición recursiva sin una configuración confiable . Pickles servirá como base para que los desarrolladores creen contratos inteligentes privados y escalables en Coda.

Las configuraciones de confianza han acosado durante mucho tiempo a los usuarios de SNARK: para los más escépticos entre nosotros, hacen que el uso de SNARK sea desagradable, ya que te obligan a confiar en que algún actor del pasado se comportó con honestidad.

Para aquellos más dispuestos a confiar, representan un obstáculo para la implementación de nuevas aplicaciones, ya que antes de la llegada de los SNARK de configuración universal, se requería una nueva configuración para cada nuevo circuito SNARK.

Para Coda específicamente, la necesidad de configuraciones confiables presentó un obstáculo para que la ejecución de contratos inteligentes se verificara en la cadena, ya que la creación de nuevos contratos inteligentes requeriría realizar nuevas configuraciones confiables, que son una tarea costosa y logísticamente compleja.

Afortunadamente, a partir de la próxima red de prueba (3.3), Coda se ejecutará sobre nuestro Pickles SNARK, que no requiere una configuración confiable y está hecho a medida para habilitar Snapps basados ​​en contratos inteligentes sobre Coda.

¿Qué hace que los pickles sean tan deliciosos?
Para los desarrolladores que trabajan en aplicaciones privadas verificables (lo que llamamos Snapps), un sistema de prueba y su kit de herramientas para desarrolladores necesitan tres cosas: 1. Un camino fácil de implementación que aborde la necesidad de una configuración confiable o la evite. 2. Potentes herramientas de desarrollo y una biblioteca de funcionalidades de alto nivel. 3. Probador y verificador eficiente, y un camino para escalar.

Pickles tiene dos componentes: un zk-SNARK central y un kit de herramientas para desarrolladores (que contiene una amplia gama de funciones de biblioteca y el Sistema de prueba inductivo de Pickles) que hace que el escalado con recursividad sea muy fácil (juego de palabras inicialmente no intencionado). Juntos, proporcionan los elementos 1 a 3.

Dentro de la salmuera: Núcleo de encurtidos zk-SNARK

El zk-SNARK de Pickles mejora significativamente el SNARK recursivo anterior basado en Groth16 de Coda de varias maneras.

Primero, permite una mayor eficiencia en Coda al cambiar de campos grandes de 753 bits a campos pequeños de 255 bits. Esto ha resultado en:

Velocidad de evaluación VRF aumentada 16x
La velocidad de hash aumentó aproximadamente 8x
reduce los requisitos de almacenamiento para el libro mayor en 3 veces
Como ya se mencionó, elimina la necesidad de una configuración confiable. Para lograrlo , se basa en el argumento del producto interno de Halo , ampliándolo con una técnica de procesamiento por lotes, restricciones personalizadas y un montón de otras optimizaciones.

Por último, admite restricciones personalizadas diseñadas para permitir una recursividad eficiente, lo que específicamente permite:

Poseidón hash
Escalado, adición y duplicación de curvas elípticas
Esto se incluirá en nuestra versión 4.1 de Coda y actualmente está deshabilitado.
Además, el sistema de prueba inductivo Pickles del kit de herramientas avanza drásticamente en las soluciones existentes para la recursividad, al abstraer todos los detalles confusos de la criptografía subyacente y hacer que el diseño de sistemas de prueba recursiva sea accesible para los desarrolladores de aplicaciones.

Prueba de sabor: cómo se compara Pickles

Pickles es el único zk-SNARK sin configuración que admite la recursividad de ramificación arbitraria (que es esencial para la escalabilidad). Además, tiene un probador rápido y, a diferencia de los STARK basados ​​en AIR, ambos tienen un tamaño de prueba pequeño que admite circuitos generales. Esta tabla ofrece una descripción general de cómo Pickles se enfrenta a otros sistemas.

Obtener datos de manzanas con manzanas de cada uno sobre la velocidad de prueba de estos sistemas es muy difícil, por lo que he tratado de dar un resumen justo de alto nivel.

Mirando hacia adelante hacia los picckles snapps

Para la mayoría de las aplicaciones verificables, la ejecución aislada no es suficiente y, además de los elementos 1 a 3 anteriores (es decir, un camino hacia la implementación, herramientas para desarrolladores, escalabilidad), también desea:

La capacidad de interactuar de forma componible con otras aplicaciones dentro de un ecosistema completamente verificado.

Pickles es la tecnología fundamental que permite a Coda admitir Snapps , contratos inteligentes de conocimiento cero totalmente verificables y computación general.

--

--