Análisis del principio de Binius STARKs y reflexiones sobre su optimización
1 Introducción
Una de las principales razones de la baja eficiencia de STARKs es que la mayoría de los valores en los programas reales son relativamente pequeños, como los índices en los bucles for, valores booleanos, contadores, etc. Sin embargo, para garantizar la seguridad de las pruebas basadas en árboles de Merkle, al usar codificación de Reed-Solomon para expandir los datos, muchos valores redundantes adicionales ocuparán todo el campo, incluso si el valor original es muy pequeño. Para resolver este problema, reducir el tamaño del campo se ha convertido en una estrategia clave.
La anchura de codificación de la primera generación de STARKs es de 252 bits, la segunda generación de STARKs tiene una anchura de codificación de 64 bits, y la tercera generación de STARKs tiene una anchura de codificación de 32 bits, pero la anchura de codificación de 32 bits aún presenta una gran cantidad de espacio desperdiciado. En comparación, el campo binario permite operar directamente sobre los bits, con una codificación compacta y eficiente sin ningún espacio desperdiciado, es decir, la cuarta generación de STARKs.
En comparación con los campos finitos descubiertos en investigaciones recientes como Goldilocks, BabyBear y Mersenne31, la investigación sobre campos binarios se remonta a la década de 1980. Actualmente, los campos binarios se utilizan ampliamente en criptografía, ejemplos típicos incluyen:
Estándar de cifrado avanzado (AES), basado en el campo F28;
Galois código de autenticación de mensajes ( GMAC ), basado en el campo F2128;
Código QR, utiliza la codificación Reed-Solomon basada en F28;
Protocolo FRI original y zk-STARK, así como la función hash Grøstl que llegó a la final de SHA-3, que se basa en el campo F28, es un algoritmo de hash muy adecuado para la recursión.
Cuando se utilizan dominios más pequeños, la operación de extensión de dominio se vuelve cada vez más importante para garantizar la seguridad. El dominio binario utilizado por Binius depende completamente de la extensión de dominio para asegurar su seguridad y utilidad práctica. La mayoría de los polinomios involucrados en los cálculos de Prover no necesitan entrar en la extensión de dominio, sino que solo operan en el dominio base, logrando así una alta eficiencia en dominios pequeños. Sin embargo, la verificación de puntos aleatorios y el cálculo de FRI aún requieren profundizar en un dominio de extensión más grande para asegurar la seguridad necesaria.
Al construir un sistema de pruebas basado en el dominio binario, existen 2 problemas prácticos: al calcular la representación de la traza en STARKs, el tamaño del dominio utilizado debe ser mayor que el grado del polinomio; al comprometer el árbol de Merkle en STARKs, se debe realizar la codificación de Reed-Solomon, y el tamaño del dominio utilizado debe ser mayor que el tamaño después de la expansión de la codificación.
Binius propuso una solución innovadora que aborda estos dos problemas por separado y logra representar los mismos datos de dos maneras diferentes: primero, utilizando polinomios multivariables ( en lugar de polinomios univariables, representando toda la trayectoria de cálculo a través de sus valores en los "hipercubos" ); en segundo lugar, dado que la longitud de cada dimensión del hipercubo es 2, no se puede realizar una extensión estándar de Reed-Solomon como en STARKs, pero se puede considerar el hipercubo como un cuadrado (, basando la extensión de Reed-Solomon en ese cuadrado. Este método, al asegurar la seguridad, mejora enormemente la eficiencia de codificación y el rendimiento computacional.
2 Análisis de principios
La mayoría de los sistemas SNARKs actuales generalmente se construyen en dos partes:
Prueba de Oracle Interactiva Polinómica de Teoría de la Información ): PIOP como el núcleo del sistema de prueba, convierte la relación de cálculo de entrada en ecuaciones polinómicas verificables. Diferentes protocolos PIOP permiten al probador enviar polinomios de manera gradual a través de la interacción con el verificador, lo que permite que el verificador valide si el cálculo es correcto consultando solo unos pocos resultados de evaluación de polinomios. Los protocolos PIOP existentes incluyen: PIOP PLONK, PIOP Spartan y PIOP HyperPlonk, cada uno de los cuales tiene un enfoque diferente para el manejo de expresiones polinómicas, lo que afecta el rendimiento y la eficiencia de todo el sistema SNARK.
Esquema de Compromiso Polinómico (Polynomial Commitment Scheme, PCS): El esquema de compromiso polinómico se utiliza para probar si se cumple la igualdad polinómica generada por PIOP. PCS es una herramienta criptográfica, a través de la cual, el probador puede comprometerse a un polinomio y verificar más tarde el resultado de la evaluación de ese polinomio, al mismo tiempo que oculta otra información del polinomio. Los esquemas de compromiso polinómico más comunes son KZG, Bulletproofs, FRI(Fast Reed-Solomon IOPP) y Brakedown, entre otros. Diferentes PCS tienen diferentes rendimientos, seguridad y escenarios de aplicación.
Según las necesidades específicas, elige diferentes PIOP y PCS, y combina con campos finitos o curvas elípticas apropiadas, se pueden construir sistemas de prueba con diferentes atributos. Por ejemplo:
• Halo2: combinado de PLONK PIOP y Bulletproofs PCS, basado en la curva Pasta. Halo2 se diseñó con un enfoque en la escalabilidad y en eliminar el setup confiable del protocolo ZCash.
• Plonky2: combina PLONK PIOP con FRI PCS y se basa en el dominio Goldilocks. Plonky2 está diseñado para lograr recursividad eficiente. Al diseñar estos sistemas, la PIOP y la PCS elegidas deben coincidir con el campo finito o la curva elíptica utilizada, para garantizar la corrección, el rendimiento y la seguridad del sistema. La elección de estas combinaciones no solo afecta el tamaño de las pruebas SNARK y la eficiencia de verificación, sino que también determina si el sistema puede lograr transparencia sin la necesidad de un entorno de confianza y si puede soportar funciones extendidas como pruebas recursivas o pruebas agregadas.
Binius: HyperPlonk PIOP + Brakedown PCS + campos binarios. En concreto, Binius incluye cinco tecnologías clave para lograr su eficiencia y seguridad. Primero, la aritmética basada en torres de campos binarios (towers of binary fields) constituye la base de su cálculo, permitiendo operaciones simplificadas dentro del campo binario. En segundo lugar, Binius adapta la verificación de productos y permutaciones de HyperPlonk en su protocolo de prueba Oracle interactivo (PIOP), asegurando una verificación de consistencia segura y eficiente entre las variables y sus permutaciones. Tercero, el protocolo introduce una nueva prueba de desplazamiento multilineal, optimizando la eficiencia de la verificación de relaciones multilineales en campos pequeños. Cuarto, Binius utiliza una versión mejorada de la prueba de búsqueda Lasso, proporcionando flexibilidad y seguridad robusta para el mecanismo de búsqueda. Finalmente, el protocolo utiliza un esquema de compromiso polinómico de campo pequeño (Small-Field PCS), permitiendo un sistema de prueba eficiente en el campo binario y reduciendo los gastos generalmente asociados con campos grandes.
( 2.1 Campo finito: Arimética basada en torres de campos binarios
El campo binario en torre es clave para lograr cálculos rápidos y verificables, principalmente debido a dos aspectos: el cálculo eficiente y la aritmética eficiente. El campo binario apoya inherentemente operaciones aritméticas altamente eficientes, lo que lo convierte en una opción ideal para aplicaciones criptográficas sensibles al rendimiento. Además, la estructura del campo binario admite un proceso de aritmética simplificado, es decir, las operaciones realizadas sobre el campo binario pueden representarse en una forma algebraica compacta y fácil de verificar. Estas características, junto con la capacidad de aprovechar plenamente sus características jerárquicas a través de la estructura de torre, hacen que el campo binario sea especialmente adecuado para sistemas de prueba escalables como Binius.
Donde "canónico" se refiere a la representación única y directa de un elemento en el campo binario. Por ejemplo, en el campo binario más básico F2, cualquier cadena de k bits puede mapearse directamente a un elemento del campo binario de k bits. Esto es diferente del campo primo, que no puede proporcionar esta representación canónica dentro de un número específico de bits. Aunque un campo primo de 32 bits puede estar contenido en 32 bits, no todas las cadenas de 32 bits pueden corresponder de manera única a un elemento del campo, mientras que el campo binario tiene esta conveniencia de mapeo uno a uno. En el campo primo Fp, los métodos de reducción comunes incluyen la reducción de Barrett, la reducción de Montgomery y métodos de reducción especiales para campos finitos específicos como Mersenne-31 o Goldilocks-64. En el campo binario F2k, los métodos de reducción comúnmente utilizados incluyen la reducción especial ) como se usa en AES (, la reducción de Montgomery ) como se usa en POLYVAL ### y la reducción recursiva ( como Tower ). El artículo "Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations" señala que el campo binario no requiere llevar en las operaciones de suma y multiplicación, y que la operación de cuadrado en el campo binario es muy eficiente, ya que sigue la regla simplificada (X + Y )2 = X2 + Y 2.
Como se muestra en la figura 1, una cadena de 128 bits: esta cadena puede interpretarse de varias maneras en el contexto del dominio binario. Puede considerarse como un elemento único en un dominio binario de 128 bits, o puede descomponerse en dos elementos de dominio de torre de 64 bits, cuatro elementos de dominio de torre de 32 bits, 16 elementos de dominio de torre de 8 bits o 128 elementos de dominio F2. Esta flexibilidad de representación no requiere ningún costo computacional, solo una conversión de tipo de cadena de bits (typecast), lo cual es una propiedad muy interesante y útil. Al mismo tiempo, los elementos de dominio pequeños pueden empaquetarse en elementos de dominio más grandes sin necesidad de costos computacionales adicionales. El protocolo Binius aprovecha esta característica para mejorar la eficiencia computacional. Además, el trabajo "Sobre la inversión eficiente en dominios de torre de característica dos" explora la complejidad computacional de realizar multiplicaciones, cuadrados y operaciones de inversión en un dominio binario de torre de n bits ( descomponible en un subdominio de m bits ).
( 2.2 PIOP: versión adaptada del Producto HyperPlonk y PermutationCheck------aplicable al campo binario
El diseño de PIOP en el protocolo Binius se basa en HyperPlonk y utiliza una serie de mecanismos de verificación fundamentales para validar la corrección de los polinomios y conjuntos multivariables. Estas verificaciones fundamentales incluyen:
GateCheck: Verifica si el testigo secreto ω y la entrada pública x satisfacen la relación de cálculo del circuito C)x,ω(=0, para asegurar que el circuito funcione correctamente.
PermutationCheck: Verificar si los resultados de evaluación de los dos polinomios multivariables f y g en el hipercubo booleano son una relación de permutación f)x### = f(π)x(), para asegurar la consistencia de la permutación entre las variables del polinomio.
LookupCheck: verifica si la evaluación del polinomio está en la tabla de búsqueda dada, es decir, f(Bµ( ⊆ T)Bµ), asegurando que ciertos valores estén dentro del rango especificado.
MultisetCheck: verifica si dos conjuntos multivariables son iguales, es decir, {(x1,i,x2,)}i∈H={(y1,i,y2,)}i∈H, garantizando la consistencia entre múltiples conjuntos.
ProductCheck: Verificar si la evaluación de un polinomio racional en el hipercubo booleano es igual a un valor declarado ∏x∈Hµ f(x) = s, para asegurar la corrección del producto polinómico.
ZeroCheck: Verificar si un polinomio multivariable en el hipercubo booleano es cero en cualquier punto ∏x∈Hµ f(x) = 0, ∀x ∈ Bµ, para asegurar la distribución de los ceros del polinomio.
SumCheck: Verifica si la suma de un polinomio multivariable es igual al valor declarado ∑x∈Hµ f(x) = s. Al transformar el problema de evaluación de polinomios multivariables en la evaluación de un polinomio unidimensional, se reduce la complejidad computacional del verificador. Además, SumCheck también permite el procesamiento por lotes, introduciendo números aleatorios para construir combinaciones lineales que permiten el procesamiento por lotes de múltiples instancias de verificación de suma.
BatchCheck: Basado en SumCheck, verifica la corrección de la evaluación de múltiples polinomios multivariables para mejorar la eficiencia del protocolo.
A pesar de que Binius y HyperPlonk tienen muchas similitudes en el diseño del protocolo, Binius ha realizado mejoras en los siguientes 3 aspectos:
Optimización de ProductCheck: en HyperPlonk, ProductCheck requiere que el denominador U sea no cero en todo el hipercubo, y el producto debe ser igual a un valor específico; Binius simplifica este proceso de verificación al especializar este valor a 1, reduciendo así la complejidad computacional.
Manejo del problema de división por cero: HyperPlonk no pudo manejar adecuadamente los casos de división por cero, lo que impide afirmar que U es no cero en el hipercubo; Binius manejó correctamente este problema, incluso en el caso de que el denominador sea cero, el ProductCheck de Binius puede continuar procesándose, permitiendo la generalización a cualquier valor de producto.
Comprobación de Permutación de Filas: HyperPlonk no tiene esta función; Binius admite la Comprobación de Permutación entre múltiples filas, lo que permite a Binius manejar situaciones de permutación polinómica más complejas.
Por lo tanto, Binius ha mejorado la flexibilidad y eficiencia del protocolo a través de la mejora del mecanismo PIOPSumCheck existente, proporcionando un soporte funcional más fuerte, especialmente al manejar la verificación de polinomios multivariables más complejos. Estas mejoras no solo abordan las limitaciones en HyperPlonk, sino que también sientan las bases para futuros sistemas de prueba basados en campos binarios.
( 2.3 PIOP: nuevo argumento de desplazamiento multilineal------aplicable al hipercubo booleano
En el protocolo Binius, la construcción y el manejo de polinomios virtuales es una de las tecnologías clave, que puede generar y operar de manera efectiva polinomios derivados de un manejador de entrada u otros polinomios virtuales. A continuación se presentan dos métodos clave:
Packing: Este método a través de
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
13 me gusta
Recompensa
13
5
Compartir
Comentar
0/400
TokenomicsTinfoilHat
· 07-09 06:31
No entiendo por qué, cuanto más se optimiza, más bajo se vuelve.
Ver originalesResponder0
FancyResearchLab
· 07-06 17:35
Otra vez haciendo estas optimizaciones extravagantes
Ver originalesResponder0
PaperHandsCriminal
· 07-06 17:32
Otra solución de optimización. Ni siquiera puedo entender los problemas básicos...
Ver originalesResponder0
ConfusedWhale
· 07-06 17:24
Optimizar, optimizar, aún hay que optimizar.
Ver originalesResponder0
NFTBlackHole
· 07-06 17:12
¡Vaya! Reducir el área aún puede ahorrar tanto espacio.
Binius: Análisis de la solución de optimización STARKs basada en el dominio binario
Análisis del principio de Binius STARKs y reflexiones sobre su optimización
1 Introducción
Una de las principales razones de la baja eficiencia de STARKs es que la mayoría de los valores en los programas reales son relativamente pequeños, como los índices en los bucles for, valores booleanos, contadores, etc. Sin embargo, para garantizar la seguridad de las pruebas basadas en árboles de Merkle, al usar codificación de Reed-Solomon para expandir los datos, muchos valores redundantes adicionales ocuparán todo el campo, incluso si el valor original es muy pequeño. Para resolver este problema, reducir el tamaño del campo se ha convertido en una estrategia clave.
La anchura de codificación de la primera generación de STARKs es de 252 bits, la segunda generación de STARKs tiene una anchura de codificación de 64 bits, y la tercera generación de STARKs tiene una anchura de codificación de 32 bits, pero la anchura de codificación de 32 bits aún presenta una gran cantidad de espacio desperdiciado. En comparación, el campo binario permite operar directamente sobre los bits, con una codificación compacta y eficiente sin ningún espacio desperdiciado, es decir, la cuarta generación de STARKs.
En comparación con los campos finitos descubiertos en investigaciones recientes como Goldilocks, BabyBear y Mersenne31, la investigación sobre campos binarios se remonta a la década de 1980. Actualmente, los campos binarios se utilizan ampliamente en criptografía, ejemplos típicos incluyen:
Estándar de cifrado avanzado (AES), basado en el campo F28;
Galois código de autenticación de mensajes ( GMAC ), basado en el campo F2128;
Código QR, utiliza la codificación Reed-Solomon basada en F28;
Protocolo FRI original y zk-STARK, así como la función hash Grøstl que llegó a la final de SHA-3, que se basa en el campo F28, es un algoritmo de hash muy adecuado para la recursión.
Cuando se utilizan dominios más pequeños, la operación de extensión de dominio se vuelve cada vez más importante para garantizar la seguridad. El dominio binario utilizado por Binius depende completamente de la extensión de dominio para asegurar su seguridad y utilidad práctica. La mayoría de los polinomios involucrados en los cálculos de Prover no necesitan entrar en la extensión de dominio, sino que solo operan en el dominio base, logrando así una alta eficiencia en dominios pequeños. Sin embargo, la verificación de puntos aleatorios y el cálculo de FRI aún requieren profundizar en un dominio de extensión más grande para asegurar la seguridad necesaria.
Al construir un sistema de pruebas basado en el dominio binario, existen 2 problemas prácticos: al calcular la representación de la traza en STARKs, el tamaño del dominio utilizado debe ser mayor que el grado del polinomio; al comprometer el árbol de Merkle en STARKs, se debe realizar la codificación de Reed-Solomon, y el tamaño del dominio utilizado debe ser mayor que el tamaño después de la expansión de la codificación.
Binius propuso una solución innovadora que aborda estos dos problemas por separado y logra representar los mismos datos de dos maneras diferentes: primero, utilizando polinomios multivariables ( en lugar de polinomios univariables, representando toda la trayectoria de cálculo a través de sus valores en los "hipercubos" ); en segundo lugar, dado que la longitud de cada dimensión del hipercubo es 2, no se puede realizar una extensión estándar de Reed-Solomon como en STARKs, pero se puede considerar el hipercubo como un cuadrado (, basando la extensión de Reed-Solomon en ese cuadrado. Este método, al asegurar la seguridad, mejora enormemente la eficiencia de codificación y el rendimiento computacional.
2 Análisis de principios
La mayoría de los sistemas SNARKs actuales generalmente se construyen en dos partes:
Prueba de Oracle Interactiva Polinómica de Teoría de la Información ): PIOP como el núcleo del sistema de prueba, convierte la relación de cálculo de entrada en ecuaciones polinómicas verificables. Diferentes protocolos PIOP permiten al probador enviar polinomios de manera gradual a través de la interacción con el verificador, lo que permite que el verificador valide si el cálculo es correcto consultando solo unos pocos resultados de evaluación de polinomios. Los protocolos PIOP existentes incluyen: PIOP PLONK, PIOP Spartan y PIOP HyperPlonk, cada uno de los cuales tiene un enfoque diferente para el manejo de expresiones polinómicas, lo que afecta el rendimiento y la eficiencia de todo el sistema SNARK.
Esquema de Compromiso Polinómico (Polynomial Commitment Scheme, PCS): El esquema de compromiso polinómico se utiliza para probar si se cumple la igualdad polinómica generada por PIOP. PCS es una herramienta criptográfica, a través de la cual, el probador puede comprometerse a un polinomio y verificar más tarde el resultado de la evaluación de ese polinomio, al mismo tiempo que oculta otra información del polinomio. Los esquemas de compromiso polinómico más comunes son KZG, Bulletproofs, FRI(Fast Reed-Solomon IOPP) y Brakedown, entre otros. Diferentes PCS tienen diferentes rendimientos, seguridad y escenarios de aplicación.
Según las necesidades específicas, elige diferentes PIOP y PCS, y combina con campos finitos o curvas elípticas apropiadas, se pueden construir sistemas de prueba con diferentes atributos. Por ejemplo:
• Halo2: combinado de PLONK PIOP y Bulletproofs PCS, basado en la curva Pasta. Halo2 se diseñó con un enfoque en la escalabilidad y en eliminar el setup confiable del protocolo ZCash.
• Plonky2: combina PLONK PIOP con FRI PCS y se basa en el dominio Goldilocks. Plonky2 está diseñado para lograr recursividad eficiente. Al diseñar estos sistemas, la PIOP y la PCS elegidas deben coincidir con el campo finito o la curva elíptica utilizada, para garantizar la corrección, el rendimiento y la seguridad del sistema. La elección de estas combinaciones no solo afecta el tamaño de las pruebas SNARK y la eficiencia de verificación, sino que también determina si el sistema puede lograr transparencia sin la necesidad de un entorno de confianza y si puede soportar funciones extendidas como pruebas recursivas o pruebas agregadas.
Binius: HyperPlonk PIOP + Brakedown PCS + campos binarios. En concreto, Binius incluye cinco tecnologías clave para lograr su eficiencia y seguridad. Primero, la aritmética basada en torres de campos binarios (towers of binary fields) constituye la base de su cálculo, permitiendo operaciones simplificadas dentro del campo binario. En segundo lugar, Binius adapta la verificación de productos y permutaciones de HyperPlonk en su protocolo de prueba Oracle interactivo (PIOP), asegurando una verificación de consistencia segura y eficiente entre las variables y sus permutaciones. Tercero, el protocolo introduce una nueva prueba de desplazamiento multilineal, optimizando la eficiencia de la verificación de relaciones multilineales en campos pequeños. Cuarto, Binius utiliza una versión mejorada de la prueba de búsqueda Lasso, proporcionando flexibilidad y seguridad robusta para el mecanismo de búsqueda. Finalmente, el protocolo utiliza un esquema de compromiso polinómico de campo pequeño (Small-Field PCS), permitiendo un sistema de prueba eficiente en el campo binario y reduciendo los gastos generalmente asociados con campos grandes.
( 2.1 Campo finito: Arimética basada en torres de campos binarios
El campo binario en torre es clave para lograr cálculos rápidos y verificables, principalmente debido a dos aspectos: el cálculo eficiente y la aritmética eficiente. El campo binario apoya inherentemente operaciones aritméticas altamente eficientes, lo que lo convierte en una opción ideal para aplicaciones criptográficas sensibles al rendimiento. Además, la estructura del campo binario admite un proceso de aritmética simplificado, es decir, las operaciones realizadas sobre el campo binario pueden representarse en una forma algebraica compacta y fácil de verificar. Estas características, junto con la capacidad de aprovechar plenamente sus características jerárquicas a través de la estructura de torre, hacen que el campo binario sea especialmente adecuado para sistemas de prueba escalables como Binius.
Donde "canónico" se refiere a la representación única y directa de un elemento en el campo binario. Por ejemplo, en el campo binario más básico F2, cualquier cadena de k bits puede mapearse directamente a un elemento del campo binario de k bits. Esto es diferente del campo primo, que no puede proporcionar esta representación canónica dentro de un número específico de bits. Aunque un campo primo de 32 bits puede estar contenido en 32 bits, no todas las cadenas de 32 bits pueden corresponder de manera única a un elemento del campo, mientras que el campo binario tiene esta conveniencia de mapeo uno a uno. En el campo primo Fp, los métodos de reducción comunes incluyen la reducción de Barrett, la reducción de Montgomery y métodos de reducción especiales para campos finitos específicos como Mersenne-31 o Goldilocks-64. En el campo binario F2k, los métodos de reducción comúnmente utilizados incluyen la reducción especial ) como se usa en AES (, la reducción de Montgomery ) como se usa en POLYVAL ### y la reducción recursiva ( como Tower ). El artículo "Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations" señala que el campo binario no requiere llevar en las operaciones de suma y multiplicación, y que la operación de cuadrado en el campo binario es muy eficiente, ya que sigue la regla simplificada (X + Y )2 = X2 + Y 2.
Como se muestra en la figura 1, una cadena de 128 bits: esta cadena puede interpretarse de varias maneras en el contexto del dominio binario. Puede considerarse como un elemento único en un dominio binario de 128 bits, o puede descomponerse en dos elementos de dominio de torre de 64 bits, cuatro elementos de dominio de torre de 32 bits, 16 elementos de dominio de torre de 8 bits o 128 elementos de dominio F2. Esta flexibilidad de representación no requiere ningún costo computacional, solo una conversión de tipo de cadena de bits (typecast), lo cual es una propiedad muy interesante y útil. Al mismo tiempo, los elementos de dominio pequeños pueden empaquetarse en elementos de dominio más grandes sin necesidad de costos computacionales adicionales. El protocolo Binius aprovecha esta característica para mejorar la eficiencia computacional. Además, el trabajo "Sobre la inversión eficiente en dominios de torre de característica dos" explora la complejidad computacional de realizar multiplicaciones, cuadrados y operaciones de inversión en un dominio binario de torre de n bits ( descomponible en un subdominio de m bits ).
( 2.2 PIOP: versión adaptada del Producto HyperPlonk y PermutationCheck------aplicable al campo binario
El diseño de PIOP en el protocolo Binius se basa en HyperPlonk y utiliza una serie de mecanismos de verificación fundamentales para validar la corrección de los polinomios y conjuntos multivariables. Estas verificaciones fundamentales incluyen:
GateCheck: Verifica si el testigo secreto ω y la entrada pública x satisfacen la relación de cálculo del circuito C)x,ω(=0, para asegurar que el circuito funcione correctamente.
PermutationCheck: Verificar si los resultados de evaluación de los dos polinomios multivariables f y g en el hipercubo booleano son una relación de permutación f)x### = f(π)x(), para asegurar la consistencia de la permutación entre las variables del polinomio.
LookupCheck: verifica si la evaluación del polinomio está en la tabla de búsqueda dada, es decir, f(Bµ( ⊆ T)Bµ), asegurando que ciertos valores estén dentro del rango especificado.
MultisetCheck: verifica si dos conjuntos multivariables son iguales, es decir, {(x1,i,x2,)}i∈H={(y1,i,y2,)}i∈H, garantizando la consistencia entre múltiples conjuntos.
ProductCheck: Verificar si la evaluación de un polinomio racional en el hipercubo booleano es igual a un valor declarado ∏x∈Hµ f(x) = s, para asegurar la corrección del producto polinómico.
ZeroCheck: Verificar si un polinomio multivariable en el hipercubo booleano es cero en cualquier punto ∏x∈Hµ f(x) = 0, ∀x ∈ Bµ, para asegurar la distribución de los ceros del polinomio.
SumCheck: Verifica si la suma de un polinomio multivariable es igual al valor declarado ∑x∈Hµ f(x) = s. Al transformar el problema de evaluación de polinomios multivariables en la evaluación de un polinomio unidimensional, se reduce la complejidad computacional del verificador. Además, SumCheck también permite el procesamiento por lotes, introduciendo números aleatorios para construir combinaciones lineales que permiten el procesamiento por lotes de múltiples instancias de verificación de suma.
BatchCheck: Basado en SumCheck, verifica la corrección de la evaluación de múltiples polinomios multivariables para mejorar la eficiencia del protocolo.
A pesar de que Binius y HyperPlonk tienen muchas similitudes en el diseño del protocolo, Binius ha realizado mejoras en los siguientes 3 aspectos:
Optimización de ProductCheck: en HyperPlonk, ProductCheck requiere que el denominador U sea no cero en todo el hipercubo, y el producto debe ser igual a un valor específico; Binius simplifica este proceso de verificación al especializar este valor a 1, reduciendo así la complejidad computacional.
Manejo del problema de división por cero: HyperPlonk no pudo manejar adecuadamente los casos de división por cero, lo que impide afirmar que U es no cero en el hipercubo; Binius manejó correctamente este problema, incluso en el caso de que el denominador sea cero, el ProductCheck de Binius puede continuar procesándose, permitiendo la generalización a cualquier valor de producto.
Comprobación de Permutación de Filas: HyperPlonk no tiene esta función; Binius admite la Comprobación de Permutación entre múltiples filas, lo que permite a Binius manejar situaciones de permutación polinómica más complejas.
Por lo tanto, Binius ha mejorado la flexibilidad y eficiencia del protocolo a través de la mejora del mecanismo PIOPSumCheck existente, proporcionando un soporte funcional más fuerte, especialmente al manejar la verificación de polinomios multivariables más complejos. Estas mejoras no solo abordan las limitaciones en HyperPlonk, sino que también sientan las bases para futuros sistemas de prueba basados en campos binarios.
( 2.3 PIOP: nuevo argumento de desplazamiento multilineal------aplicable al hipercubo booleano
En el protocolo Binius, la construcción y el manejo de polinomios virtuales es una de las tecnologías clave, que puede generar y operar de manera efectiva polinomios derivados de un manejador de entrada u otros polinomios virtuales. A continuación se presentan dos métodos clave: