Análisis de los principios de Binius STARKs y reflexiones sobre su optimización
1 Introducción
Una de las principales razones de la baja eficiencia de los STARKs es que la mayoría de los valores en los programas reales son bastante pequeños, como los índices en un bucle for, los valores booleanos, los contadores, etc. Sin embargo, para garantizar la seguridad de las pruebas basadas en árboles de Merkle, al expandir los datos utilizando codificación de Reed-Solomon, muchos valores redundantes adicionales ocuparán todo el dominio, incluso si el valor original en sí es muy pequeño. Para resolver este problema, reducir el tamaño del dominio se ha convertido en una estrategia clave.
La anchura de codificación de la primera generación de STARKs es de 252 bits, la de la segunda generación es de 64 bits, y la de la tercera generación es de 32 bits, pero la codificación de 32 bits aún presenta un gran desperdicio de espacio. En comparación, el campo binario permite operar directamente sobre los bits, con una codificación compacta y eficiente sin ningún desperdicio de espacio, es decir, la cuarta generación de STARKs.
En comparación con los dominios finitos descubiertos en investigaciones recientes como Goldilocks, BabyBear y Mersenne31, la investigación sobre dominios binarios se remonta a la década de 1980. Actualmente, los dominios binarios se utilizan ampliamente en criptografía, ejemplos típicos incluyen:
Estándar de Cifrado Avanzado ( AES ), basado en el campo F28;
Código de autenticación de mensajes Galois ( GMAC ), basado en el campo F2128;
Código QR, utiliza codificación Reed-Solomon basada en F28;
El protocolo original FRI y zk-STARK, así como la función hash Grøstl, que llegó a la final de SHA-3, está basada en el campo F28 y es un algoritmo hash muy adecuado para 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 viabilidad 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 un dominio pequeño. 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 garantizar 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 requiere realizar 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 ambos problemas de manera separada y representa los mismos datos de dos formas diferentes: primero, utilizando polinomios multivariables ( en lugar de polinomios univariables, representando toda la trayectoria de cálculo a través de sus valores en "hipercubos" ); en segundo lugar, dado que cada dimensión del hipercubo tiene una longitud de 2, no se puede realizar una extensión estándar de Reed-Solomon como en los STARKs, pero se puede considerar el hipercubo como un cuadrado (, y realizar la extensión de Reed-Solomon basada en ese cuadrado. Este método, al garantizar la seguridad, mejora enormemente la eficiencia de codificación y el rendimiento computacional.
2 Análisis de principios
La construcción de la mayoría de los sistemas SNARKs actuales generalmente incluye las siguientes dos partes:
Prueba de Oráculo Interactivo Polinómico Teórica de la Información ) Information-Theoretic Polynomial Interactive Oracle Proof, PIOP (: PIOP, como el núcleo del sistema de pruebas, transforma la relación computacional de entrada en ecuaciones polinómicas verificables. Diferentes protocolos PIOP permiten al probador enviar progresivamente polinomios a través de la interacción con el validador, de modo que el validador pueda verificar si el cálculo es correcto consultando solo unos pocos resultados de evaluación de polinomios. Los protocolos PIOP existentes incluyen: PLONK PIOP, Spartan PIOP y HyperPlonk PIOP, que difieren en su 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 demostrar si las igualdades polinómicas generadas por PIOP son válidas. PCS es una herramienta criptográfica que permite al probador comprometerse a un polinomio y verificar más tarde los resultados de la evaluación de ese polinomio, ocultando al mismo tiempo otra información sobre el polinomio. Los esquemas de compromiso polinómico más comunes incluyen 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, elija diferentes PIOP y PCS, y combine con un campo finito adecuado o una curva elíptica, se pueden construir sistemas de prueba con diferentes atributos. Por ejemplo:
• Halo2: combina PLONK PIOP y Bulletproofs PCS, y se basa en la curva Pasta. Halo2 se diseñó con un enfoque en la escalabilidad y en eliminar la configuración de confianza en el protocolo ZCash.
• Plonky2: combina PLONK PIOP y FRI PCS, y se basa en el dominio de Goldilocks. Plonky2 está diseñado para lograr una recursividad eficiente. Al diseñar estos sistemas, la PIOP y la PCS elegidas deben coincidir con el campo finito o la curva elíptica utilizados, 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 la prueba y la eficiencia de verificación de SNARK, sino que también determina si el sistema puede lograr transparencia sin la necesidad de una configuración confiable, y si puede soportar funciones extendidas como pruebas recursivas o pruebas agregadas.
Binius: HyperPlonk PIOP + Brakedown PCS + campos binarios. Concretamente, 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 sus cálculos, permitiendo realizar operaciones simplificadas dentro del campo binario. En segundo lugar, Binius ha adaptado la verificación de productos y permutaciones de HyperPlonk en su protocolo de prueba interactiva de Oracle )PIOP(, asegurando una verificación consistente, segura y eficiente entre las variables y sus permutaciones. Tercero, el protocolo introduce una nueva prueba de traslado 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, que proporciona flexibilidad y una fuerte seguridad al mecanismo de búsqueda. Finalmente, el protocolo utiliza un esquema de compromiso de polinomios en pequeños campos )Small-Field PCS(, lo que le permite implementar un sistema de pruebas eficiente en campos binarios y reduce la sobrecarga comúnmente asociada a grandes campos.
) 2.1 Campos finitos: aritmética basada en torres de campos binarios
Los cuerpos binarios en torre son clave para implementar cálculos verificables rápidos, principalmente debido a dos aspectos: cálculos eficientes y aritmética eficiente. Los cuerpos binarios, en esencia, permiten operaciones aritméticas altamente eficientes, lo que los convierte en una opción ideal para aplicaciones criptográficas que son sensibles al rendimiento. Además, la estructura del cuerpo binario admite un proceso de aritmética simplificado, es decir, las operaciones realizadas sobre el cuerpo 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 los cuerpos binarios sean particularmente adecuados 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 se puede mapear directamente a un elemento de campo binario de k bits. Esto es diferente de los campos primos, que no pueden proporcionar esta representación canónica dentro de un número fijo de bits. Aunque un campo primo de 32 bits puede caber dentro de 32 bits, no todas las cadenas de 32 bits pueden corresponder de manera única a un elemento de 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 Barrett, la reducción 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 comunes incluyen la reducción especial ( como se usa en AES ), la reducción 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 se puede interpretar de varias maneras en el contexto de un campo binario. Puede considerarse como un elemento único en un campo binario de 128 bits, o interpretarse como dos elementos de campo de torre de 64 bits, cuatro elementos de campo de torre de 32 bits, 16 elementos de campo de torre de 8 bits, o 128 elementos de campo F2. Esta flexibilidad en la 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 campo pequeños se pueden empaquetar en elementos de campo más grandes sin necesidad de costos computacionales adicionales. El protocolo Binius se beneficia de esta característica para mejorar la eficiencia computacional. Además, el artículo "On Efficient Inversion in Tower Fields of Characteristic Two" explora la complejidad computacional de realizar multiplicaciones, cuadrados y operaciones de inversión en un campo de torre binario de n bits ) descomponiéndose en un subcampo de m bits (.
![Bitlayer Research:Análisis del principio de Binius STARKs y reflexiones sobre su optimización])https://img-cdn.gateio.im/webp-social/moments-5775a629f494c4e01e2b74d864fa4100.webp(
) 2.2 PIOP: versión adaptada del producto HyperPlonk y PermutationCheck------aplicable a campos binarios
El diseño de PIOP en el protocolo Binius se basa en HyperPlonk y utiliza una serie de mecanismos de verificación central para validar la corrección de polinomios y conjuntos multivariables. Estas verificaciones centrales incluyen:
GateCheck: Verifica si el testigo secreto ω y la entrada pública x satisfacen la relación de operación 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: Verificar 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 del polinomio.
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 sumas.
BatchCheck: basado en SumCheck, verifica la corrección de la evaluación de múltiples polinomios multivariados 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 distinto de cero en todo el hipercubo y que el producto sea igual a un valor específico; Binius simplifica este proceso de verificación al especializar este valor en 1, reduciendo así la complejidad computacional.
Manejo del problema de división por cero: HyperPlonk no logró manejar adecuadamente los casos de división por cero, lo que impide afirmar que U es diferente de cero en el hipercubo; Binius manejó este problema correctamente, incluso en el caso de que el denominador sea cero, el ProductCheck de Binius puede continuar procesando, permitiendo la extensión a cualquier valor de producto.
Verificación de Permutación de columnas: HyperPlonk no tiene esta función; Binius admite la verificación de permutaciones entre múltiples columnas, lo que permite a Binius manejar situaciones de arreglo polinómico más complejas.
Por lo tanto, Binius ha mejorado la flexibilidad y eficiencia del protocolo mediante la mejora del mecanismo PIOPSumCheck existente, especialmente al manejar la verificación de polinomios multivariables más complejos, proporcionando un soporte funcional más robusto. 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 a hipercubo booleano
En el protocolo Binius, la construcción y el manejo de polinomios virtuales es una de las tecnologías clave, que permite generar y operar de manera eficaz polinomios derivados de manejadores de entrada u otros polinomios virtuales. A continuación se presentan dos métodos clave:
Empaque: Este método optimiza la operación empaquetando elementos más pequeños en posiciones adyacentes del orden léxico en elementos más grandes. El operador Pack se aplica a bloques de tamaño 2κ y los combina en un dominio de mayor dimensión.
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.
19 me gusta
Recompensa
19
5
Compartir
Comentar
0/400
DAOdreamer
· 07-13 05:38
Es algo que solo entiende un experto en desarrollo.
Ver originalesResponder0
GateUser-afe07a92
· 07-11 08:38
los cigüeñas no pueden jugar más.. mejor esperemos.
Ver originalesResponder0
MiningDisasterSurvivor
· 07-11 04:14
En aquel entonces, perdí mucho con 252bit. Ahora aún vengo a optimizar.
Ver originalesResponder0
ForkMaster
· 07-11 04:13
Otra vez zk, la nueva forma de tomar a la gente por tonta de la n-ésima generación. Los viejos tontos ven cómo el equipo detrás del proyecto engaña.
Ver originalesResponder0
RugPullSurvivor
· 07-11 04:13
Esto es demasiado hardcore 8... ¿Cuándo le darán una explicación a los novatos?
Binius STARKs: Análisis del sistema de pruebas de conocimiento cero eficiente basado en dominios binarios
Análisis de los principios de Binius STARKs y reflexiones sobre su optimización
1 Introducción
Una de las principales razones de la baja eficiencia de los STARKs es que la mayoría de los valores en los programas reales son bastante pequeños, como los índices en un bucle for, los valores booleanos, los contadores, etc. Sin embargo, para garantizar la seguridad de las pruebas basadas en árboles de Merkle, al expandir los datos utilizando codificación de Reed-Solomon, muchos valores redundantes adicionales ocuparán todo el dominio, incluso si el valor original en sí es muy pequeño. Para resolver este problema, reducir el tamaño del dominio se ha convertido en una estrategia clave.
La anchura de codificación de la primera generación de STARKs es de 252 bits, la de la segunda generación es de 64 bits, y la de la tercera generación es de 32 bits, pero la codificación de 32 bits aún presenta un gran desperdicio de espacio. En comparación, el campo binario permite operar directamente sobre los bits, con una codificación compacta y eficiente sin ningún desperdicio de espacio, es decir, la cuarta generación de STARKs.
En comparación con los dominios finitos descubiertos en investigaciones recientes como Goldilocks, BabyBear y Mersenne31, la investigación sobre dominios binarios se remonta a la década de 1980. Actualmente, los dominios binarios se utilizan ampliamente en criptografía, ejemplos típicos incluyen:
Estándar de Cifrado Avanzado ( AES ), basado en el campo F28;
Código de autenticación de mensajes Galois ( GMAC ), basado en el campo F2128;
Código QR, utiliza codificación Reed-Solomon basada en F28;
El protocolo original FRI y zk-STARK, así como la función hash Grøstl, que llegó a la final de SHA-3, está basada en el campo F28 y es un algoritmo hash muy adecuado para 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 viabilidad 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 un dominio pequeño. 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 garantizar 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 requiere realizar 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 ambos problemas de manera separada y representa los mismos datos de dos formas diferentes: primero, utilizando polinomios multivariables ( en lugar de polinomios univariables, representando toda la trayectoria de cálculo a través de sus valores en "hipercubos" ); en segundo lugar, dado que cada dimensión del hipercubo tiene una longitud de 2, no se puede realizar una extensión estándar de Reed-Solomon como en los STARKs, pero se puede considerar el hipercubo como un cuadrado (, y realizar la extensión de Reed-Solomon basada en ese cuadrado. Este método, al garantizar la seguridad, mejora enormemente la eficiencia de codificación y el rendimiento computacional.
2 Análisis de principios
La construcción de la mayoría de los sistemas SNARKs actuales generalmente incluye las siguientes dos partes:
Prueba de Oráculo Interactivo Polinómico Teórica de la Información ) Information-Theoretic Polynomial Interactive Oracle Proof, PIOP (: PIOP, como el núcleo del sistema de pruebas, transforma la relación computacional de entrada en ecuaciones polinómicas verificables. Diferentes protocolos PIOP permiten al probador enviar progresivamente polinomios a través de la interacción con el validador, de modo que el validador pueda verificar si el cálculo es correcto consultando solo unos pocos resultados de evaluación de polinomios. Los protocolos PIOP existentes incluyen: PLONK PIOP, Spartan PIOP y HyperPlonk PIOP, que difieren en su 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 demostrar si las igualdades polinómicas generadas por PIOP son válidas. PCS es una herramienta criptográfica que permite al probador comprometerse a un polinomio y verificar más tarde los resultados de la evaluación de ese polinomio, ocultando al mismo tiempo otra información sobre el polinomio. Los esquemas de compromiso polinómico más comunes incluyen 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, elija diferentes PIOP y PCS, y combine con un campo finito adecuado o una curva elíptica, se pueden construir sistemas de prueba con diferentes atributos. Por ejemplo:
• Halo2: combina PLONK PIOP y Bulletproofs PCS, y se basa en la curva Pasta. Halo2 se diseñó con un enfoque en la escalabilidad y en eliminar la configuración de confianza en el protocolo ZCash.
• Plonky2: combina PLONK PIOP y FRI PCS, y se basa en el dominio de Goldilocks. Plonky2 está diseñado para lograr una recursividad eficiente. Al diseñar estos sistemas, la PIOP y la PCS elegidas deben coincidir con el campo finito o la curva elíptica utilizados, 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 la prueba y la eficiencia de verificación de SNARK, sino que también determina si el sistema puede lograr transparencia sin la necesidad de una configuración confiable, y si puede soportar funciones extendidas como pruebas recursivas o pruebas agregadas.
Binius: HyperPlonk PIOP + Brakedown PCS + campos binarios. Concretamente, 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 sus cálculos, permitiendo realizar operaciones simplificadas dentro del campo binario. En segundo lugar, Binius ha adaptado la verificación de productos y permutaciones de HyperPlonk en su protocolo de prueba interactiva de Oracle )PIOP(, asegurando una verificación consistente, segura y eficiente entre las variables y sus permutaciones. Tercero, el protocolo introduce una nueva prueba de traslado 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, que proporciona flexibilidad y una fuerte seguridad al mecanismo de búsqueda. Finalmente, el protocolo utiliza un esquema de compromiso de polinomios en pequeños campos )Small-Field PCS(, lo que le permite implementar un sistema de pruebas eficiente en campos binarios y reduce la sobrecarga comúnmente asociada a grandes campos.
) 2.1 Campos finitos: aritmética basada en torres de campos binarios
Los cuerpos binarios en torre son clave para implementar cálculos verificables rápidos, principalmente debido a dos aspectos: cálculos eficientes y aritmética eficiente. Los cuerpos binarios, en esencia, permiten operaciones aritméticas altamente eficientes, lo que los convierte en una opción ideal para aplicaciones criptográficas que son sensibles al rendimiento. Además, la estructura del cuerpo binario admite un proceso de aritmética simplificado, es decir, las operaciones realizadas sobre el cuerpo 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 los cuerpos binarios sean particularmente adecuados 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 se puede mapear directamente a un elemento de campo binario de k bits. Esto es diferente de los campos primos, que no pueden proporcionar esta representación canónica dentro de un número fijo de bits. Aunque un campo primo de 32 bits puede caber dentro de 32 bits, no todas las cadenas de 32 bits pueden corresponder de manera única a un elemento de 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 Barrett, la reducción 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 comunes incluyen la reducción especial ( como se usa en AES ), la reducción 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 se puede interpretar de varias maneras en el contexto de un campo binario. Puede considerarse como un elemento único en un campo binario de 128 bits, o interpretarse como dos elementos de campo de torre de 64 bits, cuatro elementos de campo de torre de 32 bits, 16 elementos de campo de torre de 8 bits, o 128 elementos de campo F2. Esta flexibilidad en la 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 campo pequeños se pueden empaquetar en elementos de campo más grandes sin necesidad de costos computacionales adicionales. El protocolo Binius se beneficia de esta característica para mejorar la eficiencia computacional. Además, el artículo "On Efficient Inversion in Tower Fields of Characteristic Two" explora la complejidad computacional de realizar multiplicaciones, cuadrados y operaciones de inversión en un campo de torre binario de n bits ) descomponiéndose en un subcampo de m bits (.
![Bitlayer Research:Análisis del principio de Binius STARKs y reflexiones sobre su optimización])https://img-cdn.gateio.im/webp-social/moments-5775a629f494c4e01e2b74d864fa4100.webp(
) 2.2 PIOP: versión adaptada del producto HyperPlonk y PermutationCheck------aplicable a campos binarios
El diseño de PIOP en el protocolo Binius se basa en HyperPlonk y utiliza una serie de mecanismos de verificación central para validar la corrección de polinomios y conjuntos multivariables. Estas verificaciones centrales incluyen:
GateCheck: Verifica si el testigo secreto ω y la entrada pública x satisfacen la relación de operación 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: Verificar 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 del polinomio.
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 sumas.
BatchCheck: basado en SumCheck, verifica la corrección de la evaluación de múltiples polinomios multivariados 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 distinto de cero en todo el hipercubo y que el producto sea igual a un valor específico; Binius simplifica este proceso de verificación al especializar este valor en 1, reduciendo así la complejidad computacional.
Manejo del problema de división por cero: HyperPlonk no logró manejar adecuadamente los casos de división por cero, lo que impide afirmar que U es diferente de cero en el hipercubo; Binius manejó este problema correctamente, incluso en el caso de que el denominador sea cero, el ProductCheck de Binius puede continuar procesando, permitiendo la extensión a cualquier valor de producto.
Verificación de Permutación de columnas: HyperPlonk no tiene esta función; Binius admite la verificación de permutaciones entre múltiples columnas, lo que permite a Binius manejar situaciones de arreglo polinómico más complejas.
Por lo tanto, Binius ha mejorado la flexibilidad y eficiencia del protocolo mediante la mejora del mecanismo PIOPSumCheck existente, especialmente al manejar la verificación de polinomios multivariables más complejos, proporcionando un soporte funcional más robusto. 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 a hipercubo booleano
En el protocolo Binius, la construcción y el manejo de polinomios virtuales es una de las tecnologías clave, que permite generar y operar de manera eficaz polinomios derivados de manejadores de entrada u otros polinomios virtuales. A continuación se presentan dos métodos clave: