a16z Crypto lanzó dos tecnologías relacionadas con SNARK: Lasso y Jolt. Entre ellos, Lasso es un nuevo parámetro de búsqueda que puede aumentar significativamente el costo del probador; Jolt (Just One Lookup Table) es un marco diseñado para acumulaciones compatibles con Ethereum Virtual Machine, una forma novedosa de construir máquinas virtuales SNARK utilizando el método Lasso. Lasso y Jolt pueden acelerar significativamente el escalado y la creación de aplicaciones en Web3, y juntos representan un nuevo enfoque para el diseño de SNARK que puede mejorar el rendimiento de cadenas de herramientas ampliamente implementadas en un orden de magnitud o más. También proporciona una experiencia de desarrollador mejor y más conveniente y facilita la auditoría. Lasso y Jolt abordan tres preocupaciones clave: rendimiento, experiencia del desarrollador y auditabilidad.
Rendimiento más rápido
Lasso es un nuevo parámetro de búsqueda en el que el probador promete menos valores y más pequeños que el trabajo anterior. El equipo de investigación de a16z crypto dijo que Lasso puede mejorar significativamente la velocidad general de los probadores SNARK, en comparación con herramientas como la cadena de herramientas Halo2, el rendimiento se puede mejorar diez veces, lo que ayuda a desarrollar ZK-rollups más rápidos. Se espera que el rendimiento aumente unas 40 veces después de que se complete la optimización. Por lo tanto, el equipo cree que la tecnología de prueba de Lasso superará a todas las tecnologías de prueba SNARK de conocimiento cero existentes empleadas por las principales soluciones de escalado Ethereum L2.
Jolt implementa la "singularidad de búsqueda", una visión propuesta originalmente por Barry Whitehat de la Fundación Ethereum para habilitar herramientas más simples y circuitos ligeros centrados en la búsqueda. El equipo espera que Jolt logre un rendimiento similar o mejor en relación con el zkVM existente y, lo que es más importante, brinde una experiencia de desarrollador más optimizada y accesible.
Experiencia de desarrollador más conveniente
Lasso proporciona una ruta auditable y más amigable para los desarrolladores para implementar zkVM que los enfoques existentes.
Los enfoques anteriores del diseño de SNARK formularon instrucciones de CPU como circuitos y las optimizaron manualmente, una tarea de bajo nivel y propensa a errores que requería experiencia en lenguaje específico del dominio. Por el contrario, los desarrolladores de diferentes ecosistemas lingüísticos deberían poder utilizar Lasso con relativa facilidad.
Esto se debe a que en Lasso una instrucción se define por su descomposición en subtablas: su tabla de búsqueda "grande" puede estar compuesta por varias "subtablas" más pequeñas. Más importante aún, tales descomposiciones se pueden describir sucintamente en lenguajes de programación de alto nivel. Por ejemplo, se puede implementar una instrucción en solo 50 líneas de Rust. Además, muchas instrucciones en diferentes conjuntos de instrucciones son conceptualmente iguales y se permite repetir una gran cantidad de código; por ejemplo, WASM, EVM y RISC-V especifican las mismas operaciones básicas aritméticas, bit a bit y de comparación.
Más fácil de revisar
La forma en que Lasso simplifica la experiencia del desarrollador también hace que sea más fácil de auditar que los métodos anteriores. La auditabilidad de zkVM es especialmente valiosa ya que muchos SNARK ya han ganado un valor enorme en las cadenas de bloques en la actualidad. Dado que Lasso implementa la lógica de instrucciones en Rust y fomenta la duplicación de código en conjuntos de instrucciones, concentra las áreas que se auditarán en una base de código relativamente pequeña y legible.
Actualmente, además del trabajo requerido para implementar Jolt por completo, hay muchas tareas en progreso o que esperan ser completadas por otros desarrolladores, que incluyen:
Implementar/integrar diferentes esquemas de compromiso polinomial, como las variantes multilineales de KZG (PST, Zeromorph, etc.), Dory, Ligero, Brakedown y Sona
Realice la optimización de parámetros del producto descrita en la Sección 6 del documento de Quarks
Evaluación comparativa y manejo de errores más extensos
Utilice la recursión SNARK para lograr una verificación de prueba en cadena eficiente
Lasso and Jolt, una nueva herramienta de prueba de conocimiento cero basada en SNARK lanzada por a16z
Por Félix, PANews
a16z Crypto lanzó dos tecnologías relacionadas con SNARK: Lasso y Jolt. Entre ellos, Lasso es un nuevo parámetro de búsqueda que puede aumentar significativamente el costo del probador; Jolt (Just One Lookup Table) es un marco diseñado para acumulaciones compatibles con Ethereum Virtual Machine, una forma novedosa de construir máquinas virtuales SNARK utilizando el método Lasso. Lasso y Jolt pueden acelerar significativamente el escalado y la creación de aplicaciones en Web3, y juntos representan un nuevo enfoque para el diseño de SNARK que puede mejorar el rendimiento de cadenas de herramientas ampliamente implementadas en un orden de magnitud o más. También proporciona una experiencia de desarrollador mejor y más conveniente y facilita la auditoría. Lasso y Jolt abordan tres preocupaciones clave: rendimiento, experiencia del desarrollador y auditabilidad.
Rendimiento más rápido
Lasso es un nuevo parámetro de búsqueda en el que el probador promete menos valores y más pequeños que el trabajo anterior. El equipo de investigación de a16z crypto dijo que Lasso puede mejorar significativamente la velocidad general de los probadores SNARK, en comparación con herramientas como la cadena de herramientas Halo2, el rendimiento se puede mejorar diez veces, lo que ayuda a desarrollar ZK-rollups más rápidos. Se espera que el rendimiento aumente unas 40 veces después de que se complete la optimización. Por lo tanto, el equipo cree que la tecnología de prueba de Lasso superará a todas las tecnologías de prueba SNARK de conocimiento cero existentes empleadas por las principales soluciones de escalado Ethereum L2.
Jolt implementa la "singularidad de búsqueda", una visión propuesta originalmente por Barry Whitehat de la Fundación Ethereum para habilitar herramientas más simples y circuitos ligeros centrados en la búsqueda. El equipo espera que Jolt logre un rendimiento similar o mejor en relación con el zkVM existente y, lo que es más importante, brinde una experiencia de desarrollador más optimizada y accesible.
Experiencia de desarrollador más conveniente
Lasso proporciona una ruta auditable y más amigable para los desarrolladores para implementar zkVM que los enfoques existentes.
Los enfoques anteriores del diseño de SNARK formularon instrucciones de CPU como circuitos y las optimizaron manualmente, una tarea de bajo nivel y propensa a errores que requería experiencia en lenguaje específico del dominio. Por el contrario, los desarrolladores de diferentes ecosistemas lingüísticos deberían poder utilizar Lasso con relativa facilidad.
Esto se debe a que en Lasso una instrucción se define por su descomposición en subtablas: su tabla de búsqueda "grande" puede estar compuesta por varias "subtablas" más pequeñas. Más importante aún, tales descomposiciones se pueden describir sucintamente en lenguajes de programación de alto nivel. Por ejemplo, se puede implementar una instrucción en solo 50 líneas de Rust. Además, muchas instrucciones en diferentes conjuntos de instrucciones son conceptualmente iguales y se permite repetir una gran cantidad de código; por ejemplo, WASM, EVM y RISC-V especifican las mismas operaciones básicas aritméticas, bit a bit y de comparación.
Más fácil de revisar
La forma en que Lasso simplifica la experiencia del desarrollador también hace que sea más fácil de auditar que los métodos anteriores. La auditabilidad de zkVM es especialmente valiosa ya que muchos SNARK ya han ganado un valor enorme en las cadenas de bloques en la actualidad. Dado que Lasso implementa la lógica de instrucciones en Rust y fomenta la duplicación de código en conjuntos de instrucciones, concentra las áreas que se auditarán en una base de código relativamente pequeña y legible.
Actualmente, además del trabajo requerido para implementar Jolt por completo, hay muchas tareas en progreso o que esperan ser completadas por otros desarrolladores, que incluyen: