Distinguidos das SNARKs baseadas em curvas elípticas, STARKs podem ser vistas como SNARKs baseadas em hash. Um dos principais desafios que contribuem para a atual ineficiência dos STARKs é que a maioria dos valores em programas reais são relativamente pequenos, como índices em laços for, valores booleanos e contadores. No entanto, para garantir a segurança de provas baseadas em árvores de Merkle, a codificação Reed-Solomon é usada para estender dados, resultando em muitos valores redundantes ocupando todo o campo, mesmo quando os valores originais em si são pequenos. Para resolver essa ineficiência, a redução do tamanho do campo tornou-se uma estratégia-chave.
Como mostrado na Tabela 1, a primeira geração de STARKs tinha uma largura de codificação de 252 bits, a segunda geração 64 bits e a terceira geração 32 bits. Apesar da redução da largura de codificação na terceira geração, ainda há um espaço significativo desperdiçado. Em contraste, os campos binários permitem manipulação direta a nível de bits, possibilitando uma codificação compacta e eficiente com desperdício mínimo. Essa eficiência é realizada na quarta geração de STARKs.
Tabela 1: Caminho de Derivação STARKs
Em comparação com campos finitos como Goldilocks, BabyBear e Mersenne31, que têm ganhado atenção recentemente, a pesquisa de campos binários remonta aos anos 1980. Hoje, os campos binários são amplamente utilizados em criptografia, com exemplos notáveis incluindo:
Quando são utilizados campos menores, as operações de extensão de campo se tornam cada vez mais importantes para garantir a segurança. O campo binário usado pelo Binius depende inteiramente da extensão do campo para garantir tanto a segurança quanto a usabilidade prática. A maioria dos cálculos polinomiais envolvidos nas operações de Prover não precisa entrar no campo estendido, pois eles só precisam operar no campo base, alcançando assim alta eficiência no campo pequeno. No entanto, verificações de pontos aleatórios e cálculos FRI ainda devem ser realizados em um campo estendido maior para garantir o nível necessário de segurança.
Existem dois desafios práticos ao construir um sistema de prova baseado em campos binários: Primeiro, o tamanho do campo usado para representação de rastreamento em STARKs deve ser maior do que o grau do polinômio. Segundo, o tamanho do campo usado para o compromisso da árvore de Merkle em STARKs deve ser maior do que o tamanho após a extensão de codificação de Reed-Solomon.
Binius é uma solução inovadora para resolver esses dois problemas, representando os mesmos dados de duas maneiras diferentes: Primeiro, usando polinômios multivariados (especificamente polinômios multilíneares) em vez de polinômios univariados, representando todo o rastreamento de computação por meio de suas avaliações em "hipercubos". Segundo, uma vez que cada dimensão do hipercubo tem um comprimento de 2, não é possível realizar extensões de Reed-Solomon padrão como em STARKs, mas o hipercubo pode ser tratado como um quadrado e uma extensão de Reed-Solomon pode ser realizada com base nesse quadrado. Esse método não apenas garante segurança, mas também melhora significativamente a eficiência de codificação e o desempenho computacional.
A construção da maioria dos sistemas SNARK modernos geralmente consiste nos seguintes dois componentes:
Selecionando diferentes esquemas de PIOPs e PCS, e combinando-os com campos finitos ou curvas elípticas adequados, é possível construir sistemas de prova com propriedades distintas. Por exemplo:
Ao projetar esses sistemas, a compatibilidade entre o PIOP escolhido, o PCS e o campo finito ou curva elíptica é fundamental para garantir a correção, desempenho e segurança. Essas combinações influenciam o tamanho da prova SNARK, a eficiência da verificação e determinam se o sistema pode alcançar transparência sem uma configuração confiável, além de oferecer suporte a recursos avançados como provas recursivas ou agregação de provas.
Binius combina HyperPlonk PIOP com Brakedown PCS e opera em um campo binário. Especificamente, Binius incorpora cinco tecnologias-chave para alcançar eficiência e segurança:
Essas inovações permitem que Binius ofereça um sistema SNARK compacto e de alto desempenho, otimizado para campos binários, ao mesmo tempo em que mantém segurança e escalabilidade robustas.
Torres de campos binários desempenham um papel crítico na realização de cálculos rápidos e verificáveis devido a dois fatores principais: cálculo eficiente e aritmetização eficiente. Campos binários suportam operações aritméticas altamente eficientes, tornando-os ideais para aplicações criptográficas sensíveis ao desempenho. Além disso, sua estrutura permite um processo de aritmetização simplificado, onde as operações realizadas em campos binários podem ser representadas em formas algébricas compactas e facilmente verificáveis. Essas características, combinadas com a estrutura hierárquica das torres de campos binários, os tornam particularmente adequados para sistemas de prova escalonáveis como Binius.
O termo "canônico" refere-se à representação única e direta de elementos em um campo binário. Por exemplo, no campo binário mais básico $\mathbb{F}2
,qualquer-bitstream que pode ser diretamente mapeado para um bit binário. Esses diffractômetros de raios-X primários são incompatíveis com o número de bits. Embora 32-bit prime-field-cânfora com 32 bits, not every 32-bit string can unambiguously correspond to a field element, where binary fields provided this one mapping. InferredFieleds
\mathbb{F}_p$, métodos comuns de redução incluem redução de Barrett, redução de Montgomery, bem como métodos de redução especializados para certos campos finitos como Mersenne-31 ou Goldilocks-64. Em campos binários $\mathbb{F}{2^k}$, métodos comuns de redução incluem redução especial (como usado em AES), redução de Montgomery (como usado em POLYVAL) e redução recursiva (como usado em campos Tower). O artigo Explorando o Espaço de Design de Implementações de Hardware ECC de Campo Primo vs. Campo Binárioobserva que os campos binários não requerem propagação de carry na adição ou multiplicação, e o quadrado nos campos binários é altamente eficiente devido à regra de simplificação
(𝑋+𝑌)2=𝑋2+𝑌2
.
Figura 1. Torres do Campo Binário
Conforme mostrado na Figura 1, uma sequência de 128 bits pode ser interpretada de várias maneiras no contexto de um campo binário. Pode ser vista como um elemento único no campo binário de 128 bits, ou pode ser analisada como dois elementos de campo de torre de 64 bits, quatro elementos de campo de torre de 32 bits, dezesseis elementos de campo de torre de 8 bits ou 128 elementos de
𝐹2
. Essa flexibilidade na representação não incorre em sobrecarga computacional, pois é apenas um tipo de conversão da sequência de bits. Esta é uma propriedade muito interessante e útil, pois elementos de campo menores podem ser empacotados em elementos de campo maiores sem custo computacional adicional. O protocolo Binius aproveita essa propriedade para aprimorar a eficiência computacional. Além disso, o artigoSobre inversão eficiente em campos de torre de característica doisexplora a complexidade computacional da multiplicação, do quadrado e da inversão em
𝑛
-bit campos binários da torre (decomponíveis em
m
subcampos de bits).
O design PIOP no protocolo Binius se inspira no HyperPlonk e incorpora uma série de verificações principais para verificar a correção de polinômios e conjuntos multivariados. Essas verificações são essenciais para garantir a integridade dos cálculos dentro do sistema de prova, especialmente ao operar em campos binários. As verificações-chave incluem:
Embora Binius e HyperPlonk compartilhem várias semelhanças em seus projetos de protocolo, Binius introduz as seguintes melhorias-chave:
Assim, Binius melhora a flexibilidade e eficiência do protocolo ao aprimorar o mecanismo de verificação PIOP SumCheck existente, especialmente ao fornecer uma funcionalidade mais forte para verificar polinômios multivariados mais complexos. Essas melhorias não apenas abordam as limitações do HyperPlonk, mas também estabelecem a base para sistemas à prova de futuros baseados em campos binários.
No protocolo Binius, a manipulação e construção de polinômios virtuais desempenham um papel crucial na capacitação da manipulação eficiente de polinômios. Duas técnicas principais são empregadas para essas operações:
O protocolo Lasso em Binius oferece um método altamente eficiente para provar que elementos em um vetor
𝑎∈𝐹𝑚
estão contidos dentro de uma tabela predefinida
𝑡∈𝐹𝑛
. Este argumento de pesquisa introduz o conceito de 'Singularidade de Pesquisa' e é adequado para esquemas de compromisso polinomial multilinear. A eficiência do Lasso é destacada em dois aspectos principais:
O protocolo Lasso consiste em três componentes principais:
O protocolo Binius adapta Lasso para operações de campo binário, assumindo que o campo atual é um campo primo de grande característica (muito maior do que o comprimento da coluna que está sendo pesquisada). Binius introduz uma versão multiplicativa do protocolo Lasso, exigindo que o provador e verificador incrementem a operação de "contador de memória" do protocolo não simplesmente adicionando 1, mas incrementando usando um gerador multiplicativo dentro do campo binário. No entanto, essa adaptação multiplicativa introduz complexidade adicional: ao contrário de um incremento aditivo, o gerador multiplicativo não incrementa em todos os casos, tendo uma única órbita em 0, o que pode apresentar um vetor de ataque. Para mitigar esse ataque potencial, o provador deve se comprometer com um vetor de contador de leitura diferente de zero em todos os lugares para garantir a segurança do protocolo.
A ideia central por trás da construção do Binius PCS (Esquema de Compromisso Polinomial) é a compactação. O artigo Binius apresenta dois esquemas Brakedown PCS baseados em campos binários: um instanciado usando códigos concatenados, e outro usando codificação a nível de bloco, que suporta o uso independente de códigos Reed-Solomon. O segundo esquema Brakedown PCS simplifica o processo de prova e verificação, embora produza um tamanho de prova ligeiramente maior do que o primeiro; no entanto, esse equilíbrio vale a pena devido aos benefícios de simplificação e implementação que oferece.
O compromisso polinomial Binius utiliza principalmente compromissos polinomiais de campo pequeno com avaliações em um campo estendido, construção universal de campo pequeno e codificação a nível de bloco com técnicas de código Reed-Solomon.
Compromisso de Polinômio de Campo Pequeno com Avaliação de Campo Estendido No protocolo Binius, os compromissos polinomiais são realizados em um campo pequeno
K
, com avaliações ocorrendo em um campo estendido
𝐿/𝐾
. Esta técnica garante que um polinômio multilinear
𝑡(𝑋0,…,𝑋ℓ−1)
pertence ao domínio
𝐾[𝑋0,…,𝑋ℓ−1]
, enquanto os pontos de avaliação estão no campo maior
𝐿
. Essa estrutura de compromisso permite consultas eficientes dentro do campo estendido, equilibrando segurança e eficiência computacional.
Construção Universal de Campo Pequeno Esta construção define parâmetros chave como o campo
𝐾
, sua dimensão
ℓ
, e o código de bloco linear associado
𝐶
, garantindo ao mesmo tempo que o campo estendido
𝐿
é grande o suficiente para avaliações seguras. Ao alavancar propriedades do campo estendido, Binius alcança compromissos robustos através de códigos de bloco linear, mantendo um equilíbrio entre eficiência computacional e segurança.
Codificação em nível de bloco com códigos Reed-Solomon para polinômios definidos em campos pequenos como $\mathbb{F}2
,𝑡ℎ𝑒𝐵𝑖𝑛𝑖𝑢𝑠𝑝𝑟𝑜𝑡𝑜𝑐𝑜𝑙𝑒𝑚𝑝𝑙𝑜𝑦𝑠𝑏𝑙𝑜𝑐𝑘−𝑙𝑒𝑣𝑒𝑙𝑒𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑢𝑠𝑖𝑛𝑔𝑅𝑒𝑒𝑑−𝑆𝑜𝑙𝑜𝑚𝑜𝑛𝑐𝑜𝑑𝑒𝑠.𝑇ℎ𝑖𝑠𝑠𝑐ℎ𝑒𝑚𝑒𝑎𝑙𝑙𝑜𝑤𝑠𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡𝑜𝑓𝑠𝑚𝑎𝑙𝑙−𝑓𝑖𝑒𝑙𝑑𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝑠𝑏𝑦𝑒𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑡ℎ𝑒𝑚𝑟𝑜𝑤−𝑏𝑦−𝑟𝑜𝑤𝑖𝑛𝑡𝑜𝑙𝑎𝑟𝑔𝑒𝑟𝑓𝑖𝑒𝑙𝑑𝑠(𝑠𝑢𝑐ℎ𝑎𝑠
\mathbb{F}{2^{16}}$ ), utilizando a eficiência e propriedades de distância máxima separável dos códigos de Reed-Solomon. Após a codificação, essas linhas são comprometidas usando uma árvore de Merkle, o que simplifica a complexidade operacional dos compromissos polinomiais de pequenos campos. Essa abordagem permite o manuseio eficiente de polinômios em campos pequenos sem o ônus computacional geralmente associado a campos maiores.
Para melhorar ainda mais o desempenho, Binius incorpora quatro grandes otimizações:
No protocolo original do Binius, a multiplicação de campos binários é tratada por meio de um esquema baseado em pesquisa, que vincula a multiplicação a operações de adição linear com base no número de membros em uma palavra. Embora esse método otimize a multiplicação binária em certa medida, ele ainda introduz compromissos auxiliares linearmente relacionados ao número de membros. Ao adotar uma abordagem baseada em GKR, o protocolo Binius pode reduzir significativamente o número de compromissos necessários, levando a uma maior eficiência nas operações de multiplicação de campos binários.
A ideia central do protocolo GKR (Goldwasser-Kalai-Rothblum) é alcançar um acordo entre o Prover (P) e o Verificador (V) sobre um circuito aritmético em camadas em um campo finito.
𝐹
. Cada nó neste circuito tem duas entradas para calcular a função necessária. Para reduzir a complexidade computacional do Verificador, o protocolo emprega o protocolo SumCheck, que reduz progressivamente as declarações sobre os valores da porta de saída do circuito para valores de porta de camada mais baixa, eventualmente simplificando as declarações para declarações sobre as entradas. Dessa forma, o Verificador só precisa verificar a exatidão das entradas do circuito.
O Algoritmo de multiplicação de inteiros baseado em GKRem Binius transforma a verificação de se dois inteiros de 32 bits
Um
e
𝐵
satisfazer
A⋅B=?C
em verificar se
(𝑔𝐴)𝐵=?𝑔𝐶
mantém em
𝐹264∗
Esta transformação, combinada com o protocolo GKR, reduz significativamente as sobrecargas associadas a compromissos de polinômios. Comparado ao esquema anterior baseado em pesquisa de Binius, a abordagem de multiplicação baseada em GKR requer apenas um compromisso auxiliar e reduz o custo de SumChecks, tornando o algoritmo mais eficiente, especialmente em casos em que SumChecks são mais econômicos do que compromissos adicionais. Este método está se tornando uma solução promissora para minimizar os custos de compromisso de polinômios de campo binário à medida que as otimizações do Binius avançam.
O papel Algumas melhorias para o PIOP para ZeroCheckpropõe estratégias para equilibrar os custos computacionais entre o Provador (P) e o Verificador (V), com foco na redução da transmissão de dados e na complexidade computacional. Abaixo estão as principais técnicas de otimização:
Ao transferir parte da carga computacional para o Verificador, a transmissão de dados do Provador pode ser minimizada. Por exemplo, em rodada
𝑖
, o Prover envia
𝑣𝑖+1(𝑋)
durante
X=0,...,d+1
, e o Verificador verifica se
𝑣𝑖=𝑣𝑖+1(0)+𝑣𝑖+1(1)
mantém.
Otimização: O Prover pode evitar enviar
𝑣𝑖+1(1)
, como o Verificador pode calcular isso como
𝑣𝑖+1(1)=𝑣𝑖−𝑣𝑖+1(0)
.
Na rodada inicial, o Prover envia
𝑣1(0)=𝑣1(1)=0
, eliminando alguns cálculos de avaliação, o que reduz tanto os custos computacionais quanto os custos de transmissão para
d2n−1CF+(d+1)2n−1CG
.
Durante a rodada
𝑖
, o Prover deve enviar
𝑣𝑖+1(𝑋)
, calculado como
𝑣𝑖+1(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼,(𝑟,𝑋,𝑥))𝐶(𝑟,𝑋,𝑥)
.
Otimização: Em vez disso, o Prover pode enviar
𝑣𝑖+1′(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼𝑖+1,…,𝛼𝑛−1,𝑥)𝐶(𝑟,𝑋,𝑥),
onde $v_i(X) = v_i'(X) \cdot \hat{\delta}{i+1}((\alpha_0, \dots, \alpha_i), (r, X))
.𝐴𝑠𝑡ℎ𝑒𝑉𝑒𝑟𝑖𝑓𝑖𝑒𝑟ℎ𝑎𝑠𝑎𝑐𝑐𝑒𝑠𝑠𝑡𝑜
\alpha
𝑎𝑛𝑑
r
,𝑡ℎ𝑒𝑑𝑒𝑔𝑟𝑒𝑒𝑜𝑓
v_i’(X)
𝑖𝑠𝑙𝑜𝑤𝑒𝑟𝑡ℎ𝑎𝑛𝑡ℎ𝑎𝑡𝑜𝑓
v_i(X)
, reduzindo os pontos de avaliação exigidos.O controlo inter-round podeentão ser simplificado como
(1 - \alphai)v{i+1}’(0) + \alpha_i v{i+1}'(1) = v_i'(X),
𝑡ℎ𝑒𝑟𝑒𝑏𝑦𝑙𝑜𝑤𝑒𝑟𝑖𝑛𝑔𝑑𝑎𝑡𝑎𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑠𝑖𝑜𝑛𝑛𝑒𝑒𝑑𝑠𝑎𝑛𝑑𝑒𝑛ℎ𝑎𝑛𝑐𝑖𝑛𝑔𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑦.𝑊𝑖𝑡ℎ𝑡ℎ𝑒𝑠𝑒𝑖𝑚𝑝𝑟𝑜𝑣𝑒𝑚𝑒𝑛𝑡𝑠,𝑡ℎ𝑒𝑜𝑣𝑒𝑟𝑎𝑙𝑙𝑐𝑜𝑠𝑡𝑖𝑠𝑎𝑝𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑡𝑒𝑙𝑦
2^{n-1}(d - 1)C_F + 2^{n-1}dC_G.
𝐹𝑜𝑟
d = 3$ , estas otimizações resultam numa redução de custos por um fator de 5/3.
Para um Prover honesto, o polinômio
𝐶(𝑥0,…,𝑥𝑛−1)
é zero em
𝐻𝑛
e pode ser expresso como
𝐶(𝑥0,…,𝑥𝑛−1)=∑𝑖=0𝑛−1𝑥𝑖(𝑥𝑖−1)𝑄𝑖(𝑥0,…,𝑥𝑛−1)
. Onde
𝑄𝑖
é computado através da divisão polinomial ordenada, começando a partir de
𝑅𝑛=𝐶
. Divisão sequencial por
𝑥𝑖(𝑥𝑖−1)
calcula
𝑄𝑖
e
𝑅𝑖
, com
𝑅0
representando a extensão multilinear de
𝐶
em
𝐻𝑛
, assumido como zero.
Analisando os Graus de
𝑄𝑖
. Para
𝑗>𝑖
,
𝑄𝑗
mantém o mesmo grau em
𝑥𝑖
como
𝐶
. Para
𝑗=𝑖
, o grau é reduzido em 2 e para
J
, o grau é no máximo 1. Dado um vetor
𝑟=(𝑟0,…,𝑟𝑖)
,
𝑄𝑗(𝑟,𝑋)
é multilinear para todos
𝑗≤𝑖
. Além disso,
𝑄𝑖(𝑟,𝑋)=∑𝑗=0𝑖𝑟𝑗(𝑟𝑗−1)𝑄𝑗(𝑟,𝑋)
é o polinômio multilinear único correspondente
𝐶(𝑟,𝑋)
em
𝐻𝑛−𝑖
. Para qualquer
𝑋
e
𝑥∈𝐻𝑛−𝑖−1
, pode ser representado como
𝐶(𝑟,𝑋,𝑥)−𝑄𝑖(𝑟,𝑋,𝑥)=𝑋(𝑋−1)𝑄𝑖+1(𝑟,𝑋,𝑥).
Assim, a cada rodada do protocolo, um novo
𝑄
é introduzido, e sua avaliação pode ser derivada de
𝐶
e o anterior
𝑄
, permitindo a otimização da interpolação.
No protocolo STARKs implementado por Binius, o gargalo principal para o provador muitas vezes é o protocolo de verificação de soma em vez do Polynomial Commitment Scheme (PCS), devido ao baixo custo de comprometimento.
Figura 2. Relação entre a rodada de troca e a melhoria do fator
Em 2024, Ingonyama propôsmelhorias para protocolos de Sumcheck baseados em pequenos campos, focando nos Algoritmos 3 e 4. Essas melhorias foram implementadas e disponibilizadas publicamente aqui. O Algoritmo 4 incorpora o algoritmo Karatsuba no Algoritmo 3, reduzindo o número de multiplicações de campo de extensão em troca de mais multiplicações de campo base. Essa abordagem é mais eficiente quando as multiplicações de campo de extensão são mais caras do que as de campo base.
𝑡
, que marca quando o protocolo reverte da versão otimizada para o algoritmo ingênuo. Experimentos indicam que o fator de melhoria atinge o pico no ponto de transição ideal e depois segue uma tendência parabólica. Quando esse ponto é excedido, a eficiência diminui porque a proporção entre multiplicações de campo base e campo de extensão é maior em campos menores, exigindo uma reversão oportuna para o algoritmo ingênuo.
Para certas aplicações, como o Cubic Sumcheck (
𝑑=3
) O protocolo de verificação de soma de campo pequeno oferece uma melhoria de ordem de magnitude em relação à abordagem ingênua. Por exemplo, no campo base
𝐺𝐹[2]2. Impact of Base Field Size on Performance Smaller base fields (e.g.,
, O Algoritmo 4 é quase 30 vezes mais eficiente do que o algoritmo ingênuo.
𝐺𝐹[2]
) melhoram significativamente a eficiência do algoritmo otimizado devido à maior disparidade entre os custos das multiplicações do campo de extensão e do campo base. Isso resulta em um fator de melhoria mais substancial para o algoritmo otimizado.
𝐺𝐹[2]
, O Algoritmo 4 alcança fatores de melhoria máxima de 6 para o Algoritmo 3 e 30 para o Algoritmo 4, indicando que o Algoritmo 4 é cinco vezes mais eficiente que o Algoritmo 3. O algoritmo Karatsuba melhora a eficiência de tempo de execução e otimiza o ponto de transição para ambos os algoritmos, com pontos ótimos em
𝑡=5
para o Algoritmo 3 e
t = 8
para o Algoritmo 4.
𝑂(𝑑⋅𝑡)
memória, enquanto o Algoritmo 3 precisa
𝑂(2𝑑⋅𝑡)
memória. Para
𝑡=8
, O Algoritmo 4 usa apenas 0,26 MB de memória, em comparação com os 67 MB necessários pelo Algoritmo 3. Isso torna o Algoritmo 4 particularmente adequado para ambientes com restrição de memória, como prova do lado do cliente com recursos limitados.
Um dos principais desafios do protocolo Binius é o seu tamanho de prova relativamente grande, que escala com a raiz quadrada do tamanho da testemunha em
𝑂(𝑁)
. Esse dimensionamento de raiz quadrada limita sua competitividade quando comparado a sistemas que oferecem provas mais sucintas. Em contraste, tamanhos de prova polilogarítmica, como alcançado por sistemas avançados como Plonky3 através de técnicas como FRI, são essenciais para garantir verificadores verdadeiramente "sucintos". A otimização FRI-Binius visa reduzir o tamanho da prova Binius e melhorar seu desempenho geral em comparação com sistemas mais eficientes.
O papel Provas polilogarítmicas para multilineares sobre torres binárias, referido como FRI-Binius, introduz um novo mecanismo de dobramento FRI (Prova Interativa do Oráculo de Reed-Solomon Rápido de Proximidade) baseado em campo binário com quatro inovações-chave:
Processo principal do Esquema de Compromisso Polinomial Multilinear (PCS) FRI-Binius
O protocolo FRI-Binius otimiza os esquemas de compromisso polinomial multilinear (PCS) em campos binários, transformando o polinômio multilinear inicial, definido sobre o campo binário.
𝐹2
, em um polinômio multilinear sobre um campo maior
𝐾
.
Benefícios do FRI-Binius
Ao aplicar este método, a Binius consegue reduzir o tamanho da sua prova em uma ordem de magnitude, aproximando-se do desempenho dos sistemas criptográficos mais avançados, mantendo-se compatível com campos binários. O método de dobragem FRI, otimizado para campos binários, combinado com empacotamento algébrico e otimizações SumCheck, ajuda a Binius a gerar provas menores sem comprometer a eficiência de verificação.
Essa transformação marca um passo significativo em direção à melhoria do tamanho da prova em Binius, garantindo que ele se torne mais competitivo com outros sistemas de ponta, especialmente aqueles focados em tamanhos de prova polilogarítmicos.
Tabela 2: Comparação do tamanho da prova Binius vs. FRI-Binius
Tabela 3: Comparação Plonky3 FRI vs FRI-Binius
A proposta de valor integral do Binius reside em sua capacidade de usar o menor tamanho de campo de potência de dois para testemunhas, selecionando o tamanho do campo conforme necessário. O Binius é um esquema de co-design para "protocolos de verificação de soma acelerados por hardware, software e FPGA", permitindo provas rápidas com uso muito baixo de memória.
Sistemas de prova como Halo2 e Plonky3 envolvem quatro etapas-chave com intensidade computacional: gerar dados de testemunha, comprometer-se com os dados de testemunha, realizar um argumento de desaparecimento e gerar a prova de abertura.
Por exemplo, com a função hash Keccak em Plonky3 e a função hash Grøstl em Binius, a distribuição computacional para essas quatro etapas-chave é ilustrada na Figura 3.
Figura 3. Menor Custo de Compromisso
Esta comparação mostra que a Binius praticamente eliminou o gargalo do compromisso do provador. O novo gargalo é o protocolo Sumcheck, onde questões como inúmeras avaliações de polinômios e multiplicações de campo podem ser eficientemente abordadas com hardware especializado.
O esquema FRI-Binius, uma variante de FRI, oferece uma opção altamente atrativa ao remover a sobrecarga de incorporação da camada de prova de campo sem causar um aumento significativo de custo na camada de prova agregada.
Atualmente, a equipe do Irredutible está desenvolvendo sua camada recursiva e tem anunciou uma parceria com a equipe da Polygon para construir um zkVM baseado em Binius; o Jolt zkVM está fazendo a transição do Lasso para o Binius para melhorar seu desempenho recursivo; e o A equipe Ingonyama está implementando uma versão FPGA do Binius.
Mời người khác bỏ phiếu
Distinguidos das SNARKs baseadas em curvas elípticas, STARKs podem ser vistas como SNARKs baseadas em hash. Um dos principais desafios que contribuem para a atual ineficiência dos STARKs é que a maioria dos valores em programas reais são relativamente pequenos, como índices em laços for, valores booleanos e contadores. No entanto, para garantir a segurança de provas baseadas em árvores de Merkle, a codificação Reed-Solomon é usada para estender dados, resultando em muitos valores redundantes ocupando todo o campo, mesmo quando os valores originais em si são pequenos. Para resolver essa ineficiência, a redução do tamanho do campo tornou-se uma estratégia-chave.
Como mostrado na Tabela 1, a primeira geração de STARKs tinha uma largura de codificação de 252 bits, a segunda geração 64 bits e a terceira geração 32 bits. Apesar da redução da largura de codificação na terceira geração, ainda há um espaço significativo desperdiçado. Em contraste, os campos binários permitem manipulação direta a nível de bits, possibilitando uma codificação compacta e eficiente com desperdício mínimo. Essa eficiência é realizada na quarta geração de STARKs.
Tabela 1: Caminho de Derivação STARKs
Em comparação com campos finitos como Goldilocks, BabyBear e Mersenne31, que têm ganhado atenção recentemente, a pesquisa de campos binários remonta aos anos 1980. Hoje, os campos binários são amplamente utilizados em criptografia, com exemplos notáveis incluindo:
Quando são utilizados campos menores, as operações de extensão de campo se tornam cada vez mais importantes para garantir a segurança. O campo binário usado pelo Binius depende inteiramente da extensão do campo para garantir tanto a segurança quanto a usabilidade prática. A maioria dos cálculos polinomiais envolvidos nas operações de Prover não precisa entrar no campo estendido, pois eles só precisam operar no campo base, alcançando assim alta eficiência no campo pequeno. No entanto, verificações de pontos aleatórios e cálculos FRI ainda devem ser realizados em um campo estendido maior para garantir o nível necessário de segurança.
Existem dois desafios práticos ao construir um sistema de prova baseado em campos binários: Primeiro, o tamanho do campo usado para representação de rastreamento em STARKs deve ser maior do que o grau do polinômio. Segundo, o tamanho do campo usado para o compromisso da árvore de Merkle em STARKs deve ser maior do que o tamanho após a extensão de codificação de Reed-Solomon.
Binius é uma solução inovadora para resolver esses dois problemas, representando os mesmos dados de duas maneiras diferentes: Primeiro, usando polinômios multivariados (especificamente polinômios multilíneares) em vez de polinômios univariados, representando todo o rastreamento de computação por meio de suas avaliações em "hipercubos". Segundo, uma vez que cada dimensão do hipercubo tem um comprimento de 2, não é possível realizar extensões de Reed-Solomon padrão como em STARKs, mas o hipercubo pode ser tratado como um quadrado e uma extensão de Reed-Solomon pode ser realizada com base nesse quadrado. Esse método não apenas garante segurança, mas também melhora significativamente a eficiência de codificação e o desempenho computacional.
A construção da maioria dos sistemas SNARK modernos geralmente consiste nos seguintes dois componentes:
Selecionando diferentes esquemas de PIOPs e PCS, e combinando-os com campos finitos ou curvas elípticas adequados, é possível construir sistemas de prova com propriedades distintas. Por exemplo:
Ao projetar esses sistemas, a compatibilidade entre o PIOP escolhido, o PCS e o campo finito ou curva elíptica é fundamental para garantir a correção, desempenho e segurança. Essas combinações influenciam o tamanho da prova SNARK, a eficiência da verificação e determinam se o sistema pode alcançar transparência sem uma configuração confiável, além de oferecer suporte a recursos avançados como provas recursivas ou agregação de provas.
Binius combina HyperPlonk PIOP com Brakedown PCS e opera em um campo binário. Especificamente, Binius incorpora cinco tecnologias-chave para alcançar eficiência e segurança:
Essas inovações permitem que Binius ofereça um sistema SNARK compacto e de alto desempenho, otimizado para campos binários, ao mesmo tempo em que mantém segurança e escalabilidade robustas.
Torres de campos binários desempenham um papel crítico na realização de cálculos rápidos e verificáveis devido a dois fatores principais: cálculo eficiente e aritmetização eficiente. Campos binários suportam operações aritméticas altamente eficientes, tornando-os ideais para aplicações criptográficas sensíveis ao desempenho. Além disso, sua estrutura permite um processo de aritmetização simplificado, onde as operações realizadas em campos binários podem ser representadas em formas algébricas compactas e facilmente verificáveis. Essas características, combinadas com a estrutura hierárquica das torres de campos binários, os tornam particularmente adequados para sistemas de prova escalonáveis como Binius.
O termo "canônico" refere-se à representação única e direta de elementos em um campo binário. Por exemplo, no campo binário mais básico $\mathbb{F}2
,qualquer-bitstream que pode ser diretamente mapeado para um bit binário. Esses diffractômetros de raios-X primários são incompatíveis com o número de bits. Embora 32-bit prime-field-cânfora com 32 bits, not every 32-bit string can unambiguously correspond to a field element, where binary fields provided this one mapping. InferredFieleds
\mathbb{F}_p$, métodos comuns de redução incluem redução de Barrett, redução de Montgomery, bem como métodos de redução especializados para certos campos finitos como Mersenne-31 ou Goldilocks-64. Em campos binários $\mathbb{F}{2^k}$, métodos comuns de redução incluem redução especial (como usado em AES), redução de Montgomery (como usado em POLYVAL) e redução recursiva (como usado em campos Tower). O artigo Explorando o Espaço de Design de Implementações de Hardware ECC de Campo Primo vs. Campo Binárioobserva que os campos binários não requerem propagação de carry na adição ou multiplicação, e o quadrado nos campos binários é altamente eficiente devido à regra de simplificação
(𝑋+𝑌)2=𝑋2+𝑌2
.
Figura 1. Torres do Campo Binário
Conforme mostrado na Figura 1, uma sequência de 128 bits pode ser interpretada de várias maneiras no contexto de um campo binário. Pode ser vista como um elemento único no campo binário de 128 bits, ou pode ser analisada como dois elementos de campo de torre de 64 bits, quatro elementos de campo de torre de 32 bits, dezesseis elementos de campo de torre de 8 bits ou 128 elementos de
𝐹2
. Essa flexibilidade na representação não incorre em sobrecarga computacional, pois é apenas um tipo de conversão da sequência de bits. Esta é uma propriedade muito interessante e útil, pois elementos de campo menores podem ser empacotados em elementos de campo maiores sem custo computacional adicional. O protocolo Binius aproveita essa propriedade para aprimorar a eficiência computacional. Além disso, o artigoSobre inversão eficiente em campos de torre de característica doisexplora a complexidade computacional da multiplicação, do quadrado e da inversão em
𝑛
-bit campos binários da torre (decomponíveis em
m
subcampos de bits).
O design PIOP no protocolo Binius se inspira no HyperPlonk e incorpora uma série de verificações principais para verificar a correção de polinômios e conjuntos multivariados. Essas verificações são essenciais para garantir a integridade dos cálculos dentro do sistema de prova, especialmente ao operar em campos binários. As verificações-chave incluem:
Embora Binius e HyperPlonk compartilhem várias semelhanças em seus projetos de protocolo, Binius introduz as seguintes melhorias-chave:
Assim, Binius melhora a flexibilidade e eficiência do protocolo ao aprimorar o mecanismo de verificação PIOP SumCheck existente, especialmente ao fornecer uma funcionalidade mais forte para verificar polinômios multivariados mais complexos. Essas melhorias não apenas abordam as limitações do HyperPlonk, mas também estabelecem a base para sistemas à prova de futuros baseados em campos binários.
No protocolo Binius, a manipulação e construção de polinômios virtuais desempenham um papel crucial na capacitação da manipulação eficiente de polinômios. Duas técnicas principais são empregadas para essas operações:
O protocolo Lasso em Binius oferece um método altamente eficiente para provar que elementos em um vetor
𝑎∈𝐹𝑚
estão contidos dentro de uma tabela predefinida
𝑡∈𝐹𝑛
. Este argumento de pesquisa introduz o conceito de 'Singularidade de Pesquisa' e é adequado para esquemas de compromisso polinomial multilinear. A eficiência do Lasso é destacada em dois aspectos principais:
O protocolo Lasso consiste em três componentes principais:
O protocolo Binius adapta Lasso para operações de campo binário, assumindo que o campo atual é um campo primo de grande característica (muito maior do que o comprimento da coluna que está sendo pesquisada). Binius introduz uma versão multiplicativa do protocolo Lasso, exigindo que o provador e verificador incrementem a operação de "contador de memória" do protocolo não simplesmente adicionando 1, mas incrementando usando um gerador multiplicativo dentro do campo binário. No entanto, essa adaptação multiplicativa introduz complexidade adicional: ao contrário de um incremento aditivo, o gerador multiplicativo não incrementa em todos os casos, tendo uma única órbita em 0, o que pode apresentar um vetor de ataque. Para mitigar esse ataque potencial, o provador deve se comprometer com um vetor de contador de leitura diferente de zero em todos os lugares para garantir a segurança do protocolo.
A ideia central por trás da construção do Binius PCS (Esquema de Compromisso Polinomial) é a compactação. O artigo Binius apresenta dois esquemas Brakedown PCS baseados em campos binários: um instanciado usando códigos concatenados, e outro usando codificação a nível de bloco, que suporta o uso independente de códigos Reed-Solomon. O segundo esquema Brakedown PCS simplifica o processo de prova e verificação, embora produza um tamanho de prova ligeiramente maior do que o primeiro; no entanto, esse equilíbrio vale a pena devido aos benefícios de simplificação e implementação que oferece.
O compromisso polinomial Binius utiliza principalmente compromissos polinomiais de campo pequeno com avaliações em um campo estendido, construção universal de campo pequeno e codificação a nível de bloco com técnicas de código Reed-Solomon.
Compromisso de Polinômio de Campo Pequeno com Avaliação de Campo Estendido No protocolo Binius, os compromissos polinomiais são realizados em um campo pequeno
K
, com avaliações ocorrendo em um campo estendido
𝐿/𝐾
. Esta técnica garante que um polinômio multilinear
𝑡(𝑋0,…,𝑋ℓ−1)
pertence ao domínio
𝐾[𝑋0,…,𝑋ℓ−1]
, enquanto os pontos de avaliação estão no campo maior
𝐿
. Essa estrutura de compromisso permite consultas eficientes dentro do campo estendido, equilibrando segurança e eficiência computacional.
Construção Universal de Campo Pequeno Esta construção define parâmetros chave como o campo
𝐾
, sua dimensão
ℓ
, e o código de bloco linear associado
𝐶
, garantindo ao mesmo tempo que o campo estendido
𝐿
é grande o suficiente para avaliações seguras. Ao alavancar propriedades do campo estendido, Binius alcança compromissos robustos através de códigos de bloco linear, mantendo um equilíbrio entre eficiência computacional e segurança.
Codificação em nível de bloco com códigos Reed-Solomon para polinômios definidos em campos pequenos como $\mathbb{F}2
,𝑡ℎ𝑒𝐵𝑖𝑛𝑖𝑢𝑠𝑝𝑟𝑜𝑡𝑜𝑐𝑜𝑙𝑒𝑚𝑝𝑙𝑜𝑦𝑠𝑏𝑙𝑜𝑐𝑘−𝑙𝑒𝑣𝑒𝑙𝑒𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑢𝑠𝑖𝑛𝑔𝑅𝑒𝑒𝑑−𝑆𝑜𝑙𝑜𝑚𝑜𝑛𝑐𝑜𝑑𝑒𝑠.𝑇ℎ𝑖𝑠𝑠𝑐ℎ𝑒𝑚𝑒𝑎𝑙𝑙𝑜𝑤𝑠𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑐𝑜𝑚𝑚𝑖𝑡𝑚𝑒𝑛𝑡𝑜𝑓𝑠𝑚𝑎𝑙𝑙−𝑓𝑖𝑒𝑙𝑑𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝑠𝑏𝑦𝑒𝑛𝑐𝑜𝑑𝑖𝑛𝑔𝑡ℎ𝑒𝑚𝑟𝑜𝑤−𝑏𝑦−𝑟𝑜𝑤𝑖𝑛𝑡𝑜𝑙𝑎𝑟𝑔𝑒𝑟𝑓𝑖𝑒𝑙𝑑𝑠(𝑠𝑢𝑐ℎ𝑎𝑠
\mathbb{F}{2^{16}}$ ), utilizando a eficiência e propriedades de distância máxima separável dos códigos de Reed-Solomon. Após a codificação, essas linhas são comprometidas usando uma árvore de Merkle, o que simplifica a complexidade operacional dos compromissos polinomiais de pequenos campos. Essa abordagem permite o manuseio eficiente de polinômios em campos pequenos sem o ônus computacional geralmente associado a campos maiores.
Para melhorar ainda mais o desempenho, Binius incorpora quatro grandes otimizações:
No protocolo original do Binius, a multiplicação de campos binários é tratada por meio de um esquema baseado em pesquisa, que vincula a multiplicação a operações de adição linear com base no número de membros em uma palavra. Embora esse método otimize a multiplicação binária em certa medida, ele ainda introduz compromissos auxiliares linearmente relacionados ao número de membros. Ao adotar uma abordagem baseada em GKR, o protocolo Binius pode reduzir significativamente o número de compromissos necessários, levando a uma maior eficiência nas operações de multiplicação de campos binários.
A ideia central do protocolo GKR (Goldwasser-Kalai-Rothblum) é alcançar um acordo entre o Prover (P) e o Verificador (V) sobre um circuito aritmético em camadas em um campo finito.
𝐹
. Cada nó neste circuito tem duas entradas para calcular a função necessária. Para reduzir a complexidade computacional do Verificador, o protocolo emprega o protocolo SumCheck, que reduz progressivamente as declarações sobre os valores da porta de saída do circuito para valores de porta de camada mais baixa, eventualmente simplificando as declarações para declarações sobre as entradas. Dessa forma, o Verificador só precisa verificar a exatidão das entradas do circuito.
O Algoritmo de multiplicação de inteiros baseado em GKRem Binius transforma a verificação de se dois inteiros de 32 bits
Um
e
𝐵
satisfazer
A⋅B=?C
em verificar se
(𝑔𝐴)𝐵=?𝑔𝐶
mantém em
𝐹264∗
Esta transformação, combinada com o protocolo GKR, reduz significativamente as sobrecargas associadas a compromissos de polinômios. Comparado ao esquema anterior baseado em pesquisa de Binius, a abordagem de multiplicação baseada em GKR requer apenas um compromisso auxiliar e reduz o custo de SumChecks, tornando o algoritmo mais eficiente, especialmente em casos em que SumChecks são mais econômicos do que compromissos adicionais. Este método está se tornando uma solução promissora para minimizar os custos de compromisso de polinômios de campo binário à medida que as otimizações do Binius avançam.
O papel Algumas melhorias para o PIOP para ZeroCheckpropõe estratégias para equilibrar os custos computacionais entre o Provador (P) e o Verificador (V), com foco na redução da transmissão de dados e na complexidade computacional. Abaixo estão as principais técnicas de otimização:
Ao transferir parte da carga computacional para o Verificador, a transmissão de dados do Provador pode ser minimizada. Por exemplo, em rodada
𝑖
, o Prover envia
𝑣𝑖+1(𝑋)
durante
X=0,...,d+1
, e o Verificador verifica se
𝑣𝑖=𝑣𝑖+1(0)+𝑣𝑖+1(1)
mantém.
Otimização: O Prover pode evitar enviar
𝑣𝑖+1(1)
, como o Verificador pode calcular isso como
𝑣𝑖+1(1)=𝑣𝑖−𝑣𝑖+1(0)
.
Na rodada inicial, o Prover envia
𝑣1(0)=𝑣1(1)=0
, eliminando alguns cálculos de avaliação, o que reduz tanto os custos computacionais quanto os custos de transmissão para
d2n−1CF+(d+1)2n−1CG
.
Durante a rodada
𝑖
, o Prover deve enviar
𝑣𝑖+1(𝑋)
, calculado como
𝑣𝑖+1(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼,(𝑟,𝑋,𝑥))𝐶(𝑟,𝑋,𝑥)
.
Otimização: Em vez disso, o Prover pode enviar
𝑣𝑖+1′(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼𝑖+1,…,𝛼𝑛−1,𝑥)𝐶(𝑟,𝑋,𝑥),
onde $v_i(X) = v_i'(X) \cdot \hat{\delta}{i+1}((\alpha_0, \dots, \alpha_i), (r, X))
.𝐴𝑠𝑡ℎ𝑒𝑉𝑒𝑟𝑖𝑓𝑖𝑒𝑟ℎ𝑎𝑠𝑎𝑐𝑐𝑒𝑠𝑠𝑡𝑜
\alpha
𝑎𝑛𝑑
r
,𝑡ℎ𝑒𝑑𝑒𝑔𝑟𝑒𝑒𝑜𝑓
v_i’(X)
𝑖𝑠𝑙𝑜𝑤𝑒𝑟𝑡ℎ𝑎𝑛𝑡ℎ𝑎𝑡𝑜𝑓
v_i(X)
, reduzindo os pontos de avaliação exigidos.O controlo inter-round podeentão ser simplificado como
(1 - \alphai)v{i+1}’(0) + \alpha_i v{i+1}'(1) = v_i'(X),
𝑡ℎ𝑒𝑟𝑒𝑏𝑦𝑙𝑜𝑤𝑒𝑟𝑖𝑛𝑔𝑑𝑎𝑡𝑎𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑠𝑖𝑜𝑛𝑛𝑒𝑒𝑑𝑠𝑎𝑛𝑑𝑒𝑛ℎ𝑎𝑛𝑐𝑖𝑛𝑔𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑦.𝑊𝑖𝑡ℎ𝑡ℎ𝑒𝑠𝑒𝑖𝑚𝑝𝑟𝑜𝑣𝑒𝑚𝑒𝑛𝑡𝑠,𝑡ℎ𝑒𝑜𝑣𝑒𝑟𝑎𝑙𝑙𝑐𝑜𝑠𝑡𝑖𝑠𝑎𝑝𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑡𝑒𝑙𝑦
2^{n-1}(d - 1)C_F + 2^{n-1}dC_G.
𝐹𝑜𝑟
d = 3$ , estas otimizações resultam numa redução de custos por um fator de 5/3.
Para um Prover honesto, o polinômio
𝐶(𝑥0,…,𝑥𝑛−1)
é zero em
𝐻𝑛
e pode ser expresso como
𝐶(𝑥0,…,𝑥𝑛−1)=∑𝑖=0𝑛−1𝑥𝑖(𝑥𝑖−1)𝑄𝑖(𝑥0,…,𝑥𝑛−1)
. Onde
𝑄𝑖
é computado através da divisão polinomial ordenada, começando a partir de
𝑅𝑛=𝐶
. Divisão sequencial por
𝑥𝑖(𝑥𝑖−1)
calcula
𝑄𝑖
e
𝑅𝑖
, com
𝑅0
representando a extensão multilinear de
𝐶
em
𝐻𝑛
, assumido como zero.
Analisando os Graus de
𝑄𝑖
. Para
𝑗>𝑖
,
𝑄𝑗
mantém o mesmo grau em
𝑥𝑖
como
𝐶
. Para
𝑗=𝑖
, o grau é reduzido em 2 e para
J
, o grau é no máximo 1. Dado um vetor
𝑟=(𝑟0,…,𝑟𝑖)
,
𝑄𝑗(𝑟,𝑋)
é multilinear para todos
𝑗≤𝑖
. Além disso,
𝑄𝑖(𝑟,𝑋)=∑𝑗=0𝑖𝑟𝑗(𝑟𝑗−1)𝑄𝑗(𝑟,𝑋)
é o polinômio multilinear único correspondente
𝐶(𝑟,𝑋)
em
𝐻𝑛−𝑖
. Para qualquer
𝑋
e
𝑥∈𝐻𝑛−𝑖−1
, pode ser representado como
𝐶(𝑟,𝑋,𝑥)−𝑄𝑖(𝑟,𝑋,𝑥)=𝑋(𝑋−1)𝑄𝑖+1(𝑟,𝑋,𝑥).
Assim, a cada rodada do protocolo, um novo
𝑄
é introduzido, e sua avaliação pode ser derivada de
𝐶
e o anterior
𝑄
, permitindo a otimização da interpolação.
No protocolo STARKs implementado por Binius, o gargalo principal para o provador muitas vezes é o protocolo de verificação de soma em vez do Polynomial Commitment Scheme (PCS), devido ao baixo custo de comprometimento.
Figura 2. Relação entre a rodada de troca e a melhoria do fator
Em 2024, Ingonyama propôsmelhorias para protocolos de Sumcheck baseados em pequenos campos, focando nos Algoritmos 3 e 4. Essas melhorias foram implementadas e disponibilizadas publicamente aqui. O Algoritmo 4 incorpora o algoritmo Karatsuba no Algoritmo 3, reduzindo o número de multiplicações de campo de extensão em troca de mais multiplicações de campo base. Essa abordagem é mais eficiente quando as multiplicações de campo de extensão são mais caras do que as de campo base.
𝑡
, que marca quando o protocolo reverte da versão otimizada para o algoritmo ingênuo. Experimentos indicam que o fator de melhoria atinge o pico no ponto de transição ideal e depois segue uma tendência parabólica. Quando esse ponto é excedido, a eficiência diminui porque a proporção entre multiplicações de campo base e campo de extensão é maior em campos menores, exigindo uma reversão oportuna para o algoritmo ingênuo.
Para certas aplicações, como o Cubic Sumcheck (
𝑑=3
) O protocolo de verificação de soma de campo pequeno oferece uma melhoria de ordem de magnitude em relação à abordagem ingênua. Por exemplo, no campo base
𝐺𝐹[2]2. Impact of Base Field Size on Performance Smaller base fields (e.g.,
, O Algoritmo 4 é quase 30 vezes mais eficiente do que o algoritmo ingênuo.
𝐺𝐹[2]
) melhoram significativamente a eficiência do algoritmo otimizado devido à maior disparidade entre os custos das multiplicações do campo de extensão e do campo base. Isso resulta em um fator de melhoria mais substancial para o algoritmo otimizado.
𝐺𝐹[2]
, O Algoritmo 4 alcança fatores de melhoria máxima de 6 para o Algoritmo 3 e 30 para o Algoritmo 4, indicando que o Algoritmo 4 é cinco vezes mais eficiente que o Algoritmo 3. O algoritmo Karatsuba melhora a eficiência de tempo de execução e otimiza o ponto de transição para ambos os algoritmos, com pontos ótimos em
𝑡=5
para o Algoritmo 3 e
t = 8
para o Algoritmo 4.
𝑂(𝑑⋅𝑡)
memória, enquanto o Algoritmo 3 precisa
𝑂(2𝑑⋅𝑡)
memória. Para
𝑡=8
, O Algoritmo 4 usa apenas 0,26 MB de memória, em comparação com os 67 MB necessários pelo Algoritmo 3. Isso torna o Algoritmo 4 particularmente adequado para ambientes com restrição de memória, como prova do lado do cliente com recursos limitados.
Um dos principais desafios do protocolo Binius é o seu tamanho de prova relativamente grande, que escala com a raiz quadrada do tamanho da testemunha em
𝑂(𝑁)
. Esse dimensionamento de raiz quadrada limita sua competitividade quando comparado a sistemas que oferecem provas mais sucintas. Em contraste, tamanhos de prova polilogarítmica, como alcançado por sistemas avançados como Plonky3 através de técnicas como FRI, são essenciais para garantir verificadores verdadeiramente "sucintos". A otimização FRI-Binius visa reduzir o tamanho da prova Binius e melhorar seu desempenho geral em comparação com sistemas mais eficientes.
O papel Provas polilogarítmicas para multilineares sobre torres binárias, referido como FRI-Binius, introduz um novo mecanismo de dobramento FRI (Prova Interativa do Oráculo de Reed-Solomon Rápido de Proximidade) baseado em campo binário com quatro inovações-chave:
Processo principal do Esquema de Compromisso Polinomial Multilinear (PCS) FRI-Binius
O protocolo FRI-Binius otimiza os esquemas de compromisso polinomial multilinear (PCS) em campos binários, transformando o polinômio multilinear inicial, definido sobre o campo binário.
𝐹2
, em um polinômio multilinear sobre um campo maior
𝐾
.
Benefícios do FRI-Binius
Ao aplicar este método, a Binius consegue reduzir o tamanho da sua prova em uma ordem de magnitude, aproximando-se do desempenho dos sistemas criptográficos mais avançados, mantendo-se compatível com campos binários. O método de dobragem FRI, otimizado para campos binários, combinado com empacotamento algébrico e otimizações SumCheck, ajuda a Binius a gerar provas menores sem comprometer a eficiência de verificação.
Essa transformação marca um passo significativo em direção à melhoria do tamanho da prova em Binius, garantindo que ele se torne mais competitivo com outros sistemas de ponta, especialmente aqueles focados em tamanhos de prova polilogarítmicos.
Tabela 2: Comparação do tamanho da prova Binius vs. FRI-Binius
Tabela 3: Comparação Plonky3 FRI vs FRI-Binius
A proposta de valor integral do Binius reside em sua capacidade de usar o menor tamanho de campo de potência de dois para testemunhas, selecionando o tamanho do campo conforme necessário. O Binius é um esquema de co-design para "protocolos de verificação de soma acelerados por hardware, software e FPGA", permitindo provas rápidas com uso muito baixo de memória.
Sistemas de prova como Halo2 e Plonky3 envolvem quatro etapas-chave com intensidade computacional: gerar dados de testemunha, comprometer-se com os dados de testemunha, realizar um argumento de desaparecimento e gerar a prova de abertura.
Por exemplo, com a função hash Keccak em Plonky3 e a função hash Grøstl em Binius, a distribuição computacional para essas quatro etapas-chave é ilustrada na Figura 3.
Figura 3. Menor Custo de Compromisso
Esta comparação mostra que a Binius praticamente eliminou o gargalo do compromisso do provador. O novo gargalo é o protocolo Sumcheck, onde questões como inúmeras avaliações de polinômios e multiplicações de campo podem ser eficientemente abordadas com hardware especializado.
O esquema FRI-Binius, uma variante de FRI, oferece uma opção altamente atrativa ao remover a sobrecarga de incorporação da camada de prova de campo sem causar um aumento significativo de custo na camada de prova agregada.
Atualmente, a equipe do Irredutible está desenvolvendo sua camada recursiva e tem anunciou uma parceria com a equipe da Polygon para construir um zkVM baseado em Binius; o Jolt zkVM está fazendo a transição do Lasso para o Binius para melhorar seu desempenho recursivo; e o A equipe Ingonyama está implementando uma versão FPGA do Binius.