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, se utilizan códigos de Reed-Solomon para expandir los datos, lo que resulta en que muchos valores redundantes adicionales ocupen todo el campo, incluso si los valores originales son muy pequeños. Para resolver este problema, reducir el tamaño del campo se ha convertido en una estrategia clave.
Como se muestra en la tabla 1, el ancho de codificación de la primera generación de STARKs es de 252 bits, el ancho de codificación de la segunda generación de STARKs es de 64 bits, y el ancho de codificación de la tercera generación de STARKs es de 32 bits, pero el ancho de codificación de 32 bits todavía presenta un gran desperdicio de espacio. En comparación, el campo binario permite operaciones directas sobre los bits, codificando de manera compacta y eficiente sin ningún desperdicio de espacio, es decir, la cuarta generación de STARKs.
En comparación con Goldilocks, BabyBear, Mersenne31 y otros descubrimientos recientes en campos finitos, 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, utilizando 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, basada en el campo F28, que 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 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 operan solo en el dominio base, logrando así alta eficiencia en dominios pequeños. Sin embargo, la verificación de puntos aleatorios y el cálculo FRI aún deben profundizar en una extensión de dominio más grande para garantizar la seguridad requerida.
Al construir un sistema de pruebas basado en el dominio binario, existen 2 problemas prácticos: al calcular la representación de 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 para abordar estos dos problemas, y logró representar los mismos datos de dos maneras diferentes: primero, utilizando un polinomio multivariable ( en lugar de un polinomio univariable, representando toda la trayectoria de cálculo a través de sus valores en "hipercubos" ); en segundo lugar, dado que la longitud de cada dimensión del hipercubo es 2, no se puede realizar la expansión estándar de Reed-Solomon como en los STARKs, pero se puede considerar el hipercubo como un cuadrado (, y realizar la expansió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 suele incluir las siguientes dos partes:
Prueba de Oracle Interactiva Polinómica Teórica de la Información ) Information-Theoretic Polynomial Interactive Oracle Proof, PIOP (: PIOP, como núcleo del sistema de prueba, transforma las relaciones computacionales 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 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, entre otros, que manejan las expresiones polinómicas de manera diferente, afectando así 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 la igualdad polinómica generada por PIOP es válida. PCS es una herramienta criptográfica a través de la cual el probador puede comprometerse a un polinomio y, más tarde, verificar el resultado de la evaluación de ese polinomio, mientras oculta otra información del polinomio. Los esquemas de compromiso polinómico 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, elige diferentes PIOP y PCS, y combina con un campo finito o una curva elíptica adecuada, se puede construir un sistema de pruebas con diferentes atributos. Por ejemplo:
• Halo2: combina PLONK PIOP y Bulletproofs PCS, y se basa en la curva Pasta. En el diseño de Halo2, se presta atención a la escalabilidad, así como a la eliminación de la configuración confiable 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 recursión eficiente. Al diseñar estos sistemas, la PIOP y 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 la prueba SNARK y la eficiencia de verificación, 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 + dominios binarios. En concreto, Binius incluye cinco tecnologías clave para lograr su eficiencia y seguridad. Primero, la aritmética basada en torres de dominios binarios )towers of binary fields( constituye la base de su cálculo, permitiendo realizar operaciones simplificadas dentro del dominio binario. En segundo lugar, Binius adapta la verificación de productos y permutaciones de HyperPlonk en su protocolo de prueba de Oracle interactivo )PIOP(, asegurando una verificación de consistencia segura y eficiente entre las variables y sus permutaciones. En tercer lugar, el protocolo introduce una nueva prueba de desplazamiento multilineal, optimizando la eficiencia de la verificación de relaciones multilineales en dominios pequeños. En cuarto lugar, Binius utiliza una versión mejorada de la prueba de búsqueda Lasso, proporcionando flexibilidad y una fuerte seguridad al mecanismo de búsqueda. Finalmente, el protocolo utiliza un esquema de compromiso polinómico de dominios pequeños )Small-Field PCS(, permitiendo un sistema de prueba eficiente en el dominio binario y reduciendo los costos que generalmente están asociados con dominios grandes.
) 2.1 Campo finito: aritmética basada en torres de campos binarios
Los campos binarios en torre son clave para implementar cálculos rápidos y verificables, debido principalmente a dos aspectos: el cálculo eficiente y la aritmética eficiente. Los campos binarios, en esencia, admiten operaciones aritméticas altamente eficientes, lo que los convierte en una opción ideal para aplicaciones criptográficas que son sensibles a los requisitos de rendimiento. Además, la estructura del campo binario apoya 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 su naturaleza jerárquica a través de la estructura en torre, hacen que los campos binarios sean especialmente adecuados para sistemas de prueba escalables como Binius.
Entre ellos, "canonical" se refiere a la representación única y directa de los elementos 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 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 caber 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 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 ( utilizada en AES ), la reducción Montgomery ### utilizada en POLYVAL ( y la reducción recursiva ) como Tower (. El documento "Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations" señala que en el campo binario, no se necesita introducir acarreo 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 múltiples maneras en el contexto de un campo binario. Puede considerarse como un elemento único en un campo binario de 128 bits, o puede interpretarse como dos elementos de campo torre de 64 bits, cuatro elementos de campo torre de 32 bits, dieciséis elementos de campo torre de 8 bits, o 128 elementos de campo 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 campo pequeños pueden empaquetarse en elementos de campo más grandes sin necesidad de un costo computacional adicional. El protocolo Binius aprovecha 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 torre binario de n bits ) descomponiéndose en un subcampo de m bits (.
![Investigación de Bitlayer: Análisis de principios 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 al campo binario
El diseño de PIOP en el protocolo Binius se basa en HyperPlonk, utilizando una serie de mecanismos de verificación clave para validar la corrección de polinomios y conjuntos multivariables. Estas verificaciones clave incluyen:
GateCheck: verificar 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 en la permutación de 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 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 un polinomio multivariable en la evaluación de un polinomio univariable, se reduce la complejidad computacional para el verificador. Además, SumCheck permite el procesamiento por lotes, introduciendo números aleatorios para construir combinaciones lineales que permiten el procesamiento 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 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 ese valor en 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 llevó a la incapacidad de asegurar que U no es cero en el hipercubo; Binius manejó correctamente este problema, incluso en el caso de que el denominador sea cero, ProductCheck de Binius puede continuar procesando, permitiendo la generalización a cualquier valor de producto.
Comprobación de Permutación de múltiples columnas: HyperPlonk no tiene esta función; Binius admite la comprobación de permutación entre varias columnas, 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 mediante la mejora del mecanismo existente PIOPSumCheck, especialmente al proporcionar un soporte funcional más robusto para el manejo de la verificación de polinomios multivariables más complejos. Estas mejoras no solo abordan las limitaciones de HyperPlonk, sino que también sientan las bases para futuros sistemas de prueba basados en dominios binarios.
) 2.3 PIOP: nuevo argumento de desplazamiento multilineal------aplicable a hipercubo booleano
En el protocolo Binius, múltiples virtuales
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.
6 me gusta
Recompensa
6
3
Compartir
Comentar
0/400
ETHReserveBank
· hace15h
¿A quién no le gustaría que los costos en cadena bajaran?
Ver originalesResponder0
ChainChef
· hace22h
cocinando un poco de nueva información aquí... binius parece una salsa perfectamente reducida en comparación con esas recetas hinchadas de 252 bits, para ser honesto
Binius: Optimización revolucionaria de los STARKs de 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, se utilizan códigos de Reed-Solomon para expandir los datos, lo que resulta en que muchos valores redundantes adicionales ocupen todo el campo, incluso si los valores originales son muy pequeños. Para resolver este problema, reducir el tamaño del campo se ha convertido en una estrategia clave.
Como se muestra en la tabla 1, el ancho de codificación de la primera generación de STARKs es de 252 bits, el ancho de codificación de la segunda generación de STARKs es de 64 bits, y el ancho de codificación de la tercera generación de STARKs es de 32 bits, pero el ancho de codificación de 32 bits todavía presenta un gran desperdicio de espacio. En comparación, el campo binario permite operaciones directas sobre los bits, codificando de manera compacta y eficiente sin ningún desperdicio de espacio, es decir, la cuarta generación de STARKs.
Tabla 1: Ruta de derivación de STARKs
| Álgebra | Ancho de codificación | Ejemplo | |------|----------|------| | Primera generación | 252bit | Ethereum STARKs | | Segunda generación | 64bit | Plonky2 | | 3ª generación | 32bit | BabyBear | | Cuarta Generación | 1bit | Binius |
En comparación con Goldilocks, BabyBear, Mersenne31 y otros descubrimientos recientes en campos finitos, 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:
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 operan solo en el dominio base, logrando así alta eficiencia en dominios pequeños. Sin embargo, la verificación de puntos aleatorios y el cálculo FRI aún deben profundizar en una extensión de dominio más grande para garantizar la seguridad requerida.
Al construir un sistema de pruebas basado en el dominio binario, existen 2 problemas prácticos: al calcular la representación de 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 para abordar estos dos problemas, y logró representar los mismos datos de dos maneras diferentes: primero, utilizando un polinomio multivariable ( en lugar de un polinomio univariable, representando toda la trayectoria de cálculo a través de sus valores en "hipercubos" ); en segundo lugar, dado que la longitud de cada dimensión del hipercubo es 2, no se puede realizar la expansión estándar de Reed-Solomon como en los STARKs, pero se puede considerar el hipercubo como un cuadrado (, y realizar la expansió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 suele incluir las siguientes dos partes:
Prueba de Oracle Interactiva Polinómica Teórica de la Información ) Information-Theoretic Polynomial Interactive Oracle Proof, PIOP (: PIOP, como núcleo del sistema de prueba, transforma las relaciones computacionales 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 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, entre otros, que manejan las expresiones polinómicas de manera diferente, afectando así 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 la igualdad polinómica generada por PIOP es válida. PCS es una herramienta criptográfica a través de la cual el probador puede comprometerse a un polinomio y, más tarde, verificar el resultado de la evaluación de ese polinomio, mientras oculta otra información del polinomio. Los esquemas de compromiso polinómico 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, elige diferentes PIOP y PCS, y combina con un campo finito o una curva elíptica adecuada, se puede construir un sistema de pruebas con diferentes atributos. Por ejemplo:
• Halo2: combina PLONK PIOP y Bulletproofs PCS, y se basa en la curva Pasta. En el diseño de Halo2, se presta atención a la escalabilidad, así como a la eliminación de la configuración confiable 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 recursión eficiente. Al diseñar estos sistemas, la PIOP y 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 la prueba SNARK y la eficiencia de verificación, 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 + dominios binarios. En concreto, Binius incluye cinco tecnologías clave para lograr su eficiencia y seguridad. Primero, la aritmética basada en torres de dominios binarios )towers of binary fields( constituye la base de su cálculo, permitiendo realizar operaciones simplificadas dentro del dominio binario. En segundo lugar, Binius adapta la verificación de productos y permutaciones de HyperPlonk en su protocolo de prueba de Oracle interactivo )PIOP(, asegurando una verificación de consistencia segura y eficiente entre las variables y sus permutaciones. En tercer lugar, el protocolo introduce una nueva prueba de desplazamiento multilineal, optimizando la eficiencia de la verificación de relaciones multilineales en dominios pequeños. En cuarto lugar, Binius utiliza una versión mejorada de la prueba de búsqueda Lasso, proporcionando flexibilidad y una fuerte seguridad al mecanismo de búsqueda. Finalmente, el protocolo utiliza un esquema de compromiso polinómico de dominios pequeños )Small-Field PCS(, permitiendo un sistema de prueba eficiente en el dominio binario y reduciendo los costos que generalmente están asociados con dominios grandes.
) 2.1 Campo finito: aritmética basada en torres de campos binarios
Los campos binarios en torre son clave para implementar cálculos rápidos y verificables, debido principalmente a dos aspectos: el cálculo eficiente y la aritmética eficiente. Los campos binarios, en esencia, admiten operaciones aritméticas altamente eficientes, lo que los convierte en una opción ideal para aplicaciones criptográficas que son sensibles a los requisitos de rendimiento. Además, la estructura del campo binario apoya 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 su naturaleza jerárquica a través de la estructura en torre, hacen que los campos binarios sean especialmente adecuados para sistemas de prueba escalables como Binius.
Entre ellos, "canonical" se refiere a la representación única y directa de los elementos 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 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 caber 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 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 ( utilizada en AES ), la reducción Montgomery ### utilizada en POLYVAL ( y la reducción recursiva ) como Tower (. El documento "Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations" señala que en el campo binario, no se necesita introducir acarreo 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 múltiples maneras en el contexto de un campo binario. Puede considerarse como un elemento único en un campo binario de 128 bits, o puede interpretarse como dos elementos de campo torre de 64 bits, cuatro elementos de campo torre de 32 bits, dieciséis elementos de campo torre de 8 bits, o 128 elementos de campo 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 campo pequeños pueden empaquetarse en elementos de campo más grandes sin necesidad de un costo computacional adicional. El protocolo Binius aprovecha 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 torre binario de n bits ) descomponiéndose en un subcampo de m bits (.
![Investigación de Bitlayer: Análisis de principios 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 al campo binario
El diseño de PIOP en el protocolo Binius se basa en HyperPlonk, utilizando una serie de mecanismos de verificación clave para validar la corrección de polinomios y conjuntos multivariables. Estas verificaciones clave incluyen:
GateCheck: verificar 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 en la permutación de 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 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 un polinomio multivariable en la evaluación de un polinomio univariable, se reduce la complejidad computacional para el verificador. Además, SumCheck permite el procesamiento por lotes, introduciendo números aleatorios para construir combinaciones lineales que permiten el procesamiento 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 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 ese valor en 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 llevó a la incapacidad de asegurar que U no es cero en el hipercubo; Binius manejó correctamente este problema, incluso en el caso de que el denominador sea cero, ProductCheck de Binius puede continuar procesando, permitiendo la generalización a cualquier valor de producto.
Comprobación de Permutación de múltiples columnas: HyperPlonk no tiene esta función; Binius admite la comprobación de permutación entre varias columnas, 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 mediante la mejora del mecanismo existente PIOPSumCheck, especialmente al proporcionar un soporte funcional más robusto para el manejo de la verificación de polinomios multivariables más complejos. Estas mejoras no solo abordan las limitaciones de HyperPlonk, sino que también sientan las bases para futuros sistemas de prueba basados en dominios binarios.
) 2.3 PIOP: nuevo argumento de desplazamiento multilineal------aplicable a hipercubo booleano
En el protocolo Binius, múltiples virtuales