Différents des SNARKs basés sur les courbes elliptiques, les STARKs peuvent être considérés comme des SNARKs basés sur le hachage. L'un des principaux défis contribuant à l'inefficacité actuelle des STARKs est que la plupart des valeurs dans les programmes réels sont relativement petites, tels que les indices dans les boucles for, les valeurs booléennes et les compteurs. Cependant, pour garantir la sécurité des preuves basées sur les arbres de Merkle, le codage Reed-Solomon est utilisé pour étendre les données, ce qui entraîne de nombreuses valeurs redondantes occupant tout le champ, même lorsque les valeurs d'origine elles-mêmes sont petites. Pour remédier à cette inefficacité, la réduction de la taille du champ est devenue une stratégie clé.
Comme indiqué dans le tableau 1, la première génération de STARKs avait une largeur de codage de 252 bits, la deuxième génération de 64 bits et la troisième génération de 32 bits. Malgré la réduction de la largeur de codage dans la troisième génération, il reste un espace significatif gaspillé. En revanche, les champs binaires permettent une manipulation directe des bits, permettant un codage compact et efficace avec un minimum de gaspillage. Cette efficacité est réalisée dans la quatrième génération de STARKs.
Tableau 1: Chemin de dérivation STARKs
En comparaison avec des champs finis tels que Goldilocks, BabyBear, et Mersenne31, qui ont récemment attiré l'attention, la recherche sur les champs binaires remonte aux années 1980. Aujourd'hui, les champs binaires sont largement utilisés en cryptographie, avec des exemples notables incluant:
Lorsque des champs plus petits sont utilisés, les opérations d'extension de champ deviennent de plus en plus importantes pour garantir la sécurité. Le champ binaire utilisé par Binius repose entièrement sur l'extension de champ pour garantir à la fois la sécurité et l'utilisabilité pratique. La plupart des calculs polynomiaux impliqués dans les opérations de vérification n'ont pas besoin d'entrer dans le champ étendu, car ils ont seulement besoin de fonctionner dans le champ de base, ce qui permet d'atteindre une grande efficacité dans le petit champ. Cependant, les vérifications de points aléatoires et les calculs FRI doivent encore être effectués dans un champ étendu plus large pour garantir le niveau de sécurité nécessaire.
Il existe deux défis pratiques lors de la construction d'un système de preuve basé sur des champs binaires : Premièrement, la taille du champ utilisée pour la représentation de la trace dans les STARKs doit être plus grande que le degré du polynôme. Deuxièmement, la taille du champ utilisée pour l'engagement de l'arbre de Merkle dans les STARKs doit être supérieure à la taille après l'extension d'encodage Reed-Solomon.
Binius est une solution innovante pour résoudre ces deux problèmes en représentant les mêmes données de deux manières différentes : premièrement, en utilisant des polynômes multivariés (plus précisément multilinéaires) au lieu de polynômes univariés, représentant l'ensemble de la trace de calcul à travers leurs évaluations sur des « hypercubes ». Deuxièmement, puisque chaque dimension de l'hypercube a une longueur de 2, il n'est pas possible d'effectuer des extensions standard de Reed-Solomon comme dans les STARKs, mais l'hypercube peut être traité comme un carré, et une extension de Reed-Solomon peut être effectuée sur la base de ce carré. Cette méthode garantit non seulement la sécurité, mais améliore également considérablement l'efficacité de codage et les performances de calcul.
La construction de la plupart des systèmes SNARK modernes se compose généralement des deux composants suivants :
En sélectionnant différents PIOP et schémas PCS, et en les combinant avec des champs finis ou des courbes elliptiques appropriés, il est possible de construire des systèmes de preuve avec des propriétés distinctes. Par exemple:
Lors de la conception de ces systèmes, la compatibilité entre le PIOP, le PCS et le corps fini ou la courbe elliptique choisis est essentielle pour garantir la correction, les performances et la sécurité. Ces combinaisons influencent la taille de la preuve SNARK, l'efficacité de la vérification et déterminent si le système peut atteindre la transparence sans configuration de confiance, ainsi que prendre en charge des fonctionnalités avancées telles que les preuves récursives ou l'agrégation de preuves.
Binius combine HyperPlonk PIOP avec Brakedown PCS et opère dans un champ binaire. Plus précisément, Binius intègre cinq technologies clés pour atteindre à la fois l'efficacité et la sécurité:
Ces innovations permettent à Binius d'offrir un système SNARK compact et performant, optimisé pour les champs binaires tout en maintenant une sécurité et une évolutivité robustes.
Les tours de champs binaires jouent un rôle critique dans la réalisation de calculs rapides et vérifiables en raison de deux facteurs principaux : le calcul efficace et l'arithmétisation efficace. Les champs binaires prennent en charge de manière inhérente des opérations arithmétiques hautement efficaces, ce qui les rend idéaux pour les applications cryptographiques sensibles à la performance. De plus, leur structure permet un processus d'arithmétisation simplifié, où les opérations effectuées dans les champs binaires peuvent être représentées sous des formes algébriques compactes et facilement vérifiables. Ces caractéristiques, combinées à la structure hiérarchique des tours de champs binaires, les rendent particulièrement adaptés aux systèmes de preuve évolutifs comme Binius.
Le terme "canonical" fait référence à la représentation unique et directe des éléments dans un champ binaire. Par exemple, dans le champ binaire le plus basique $\mathbb{F}2
,anyk−bitstringcanbedirectly mappedtoak−bitbinaryfieldelement.Ceci diffère des champs primitifs,qui n’offrent pas une telle représentation canonique dans un nombre donné de bits.Bien qu’un champ à 32 bits puisse s’adapter à l’intérieur de 32 bits,notez que chaquechaîne de 32 bits peut correspondre de manière unique à un élément de champ,tandis que les champs binaires fournissent ceci/unmappage.Inprimefields
\mathbb{F}_p$ , les méthodes de réduction courantes comprennent la réduction de Barrett , la réduction de Montgomery , ainsi que des méthodes de réduction spécialisées pour certains corps finis comme Mersenne-31 ou Goldilocks-64 . Dans les corps binaires $\mathbb{F}{2^k}$ , les méthodes de réduction courantes comprennent la réduction spéciale (comme utilisée dans AES), la réduction de Montgomery (comme utilisée dans POLYVAL), et la réduction récursive (comme utilisée dans les champs de Tower). Le document Exploration de l'espace de conception du champ premier par rapport aux implémentations matérielles du champ binaire ECCnote que les champs binaires ne nécessitent pas de propagation de retenue lors de l'addition ou de la multiplication, et l'élevation au carré dans les champs binaires est très efficace grâce à la règle de simplification
(𝑋+𝑌)2=𝑋2+𝑌2
.
Figure 1. Les tours du champ binaire
Comme illustré dans la Figure 1, une chaîne de 128 bits peut être interprétée de plusieurs façons dans le contexte d'un champ binaire. Elle peut être considérée comme un élément unique dans le champ binaire de 128 bits, ou elle peut être analysée comme deux éléments de champ de tour de 64 bits, quatre éléments de champ de tour de 32 bits, seize éléments de champ de tour de 8 bits, ou 128 éléments de gate.
𝐹2
. Cette flexibilité de représentation n'entraîne aucune surcharge computationnelle, car il s'agit simplement d'une conversion de type de la chaîne de bits. C'est une propriété très intéressante et utile, car des éléments de champ plus petits peuvent être emballés dans des éléments de champ plus grands sans coût computationnel supplémentaire. Le protocole Binius exploite cette propriété pour améliorer l'efficacité computationnelle. De plus, le document Sur l'inversion efficace dans les champs de tour de caractéristique deuxexplorer la complexité computationnelle de la multiplication, du carré et de l'inversion dans
n
champs binaires de tour de -bit (décomposables en
𝑚
-bit subfields).
La conception PIOP dans le protocole Binius s'inspire de HyperPlonk et intègre une série de vérifications de base pour vérifier la justesse des polynômes et des ensembles multivariés. Ces vérifications sont essentielles pour garantir l'intégrité des calculs au sein du système de preuve, en particulier lorsqu'ils sont effectués sur des champs binaires. Les principales vérifications comprennent :
Alors que Binius et HyperPlonk partagent plusieurs similitudes dans leurs conceptions de protocole, Binius introduit les améliorations clés suivantes:
Ainsi, Binius améliore la flexibilité et l'efficacité du protocole en améliorant le mécanisme de vérification PIOP SumCheck existant, notamment en fournissant une fonctionnalité plus solide pour la vérification de polynômes multivariés plus complexes. Ces améliorations ne font pas seulement face aux limites de HyperPlonk, mais posent également les bases de systèmes futurs basés sur des champs binaires.
Dans le protocole Binius, la manipulation et la construction de polynômes virtuels jouent un rôle crucial dans la gestion efficace des polynômes. Deux techniques principales sont utilisées pour ces opérations:
Le protocole Lasso dans Binius offre une méthode très efficace pour prouver que les éléments d'un vecteur
𝑎∈𝐹𝑚
sont contenus dans une table prédéfinie
𝑡∈𝐹𝑛
. Cet argument de recherche introduit le concept de « Lookup Singularity » et convient parfaitement aux schémas d'engagement polynomial multilinéaire. L'efficacité de Lasso est mise en évidence dans deux aspects majeurs :
Le protocole Lasso se compose de trois composants principaux:
Le protocole Binius adapte Lasso aux opérations sur les champs binaires, en supposant que le champ actuel est un champ premier de grande caractéristique (beaucoup plus grand que la longueur de la colonne recherchée). Binius introduit une version multiplicative du protocole Lasso, obligeant le prouveur et le vérificateur à incrémenter l'opération de “compteur de mémoire” du protocole non pas simplement en ajoutant 1 mais en incrémentant à l'aide d'un générateur multiplicatif dans le champ binaire. Cependant, cette adaptation multiplicative introduit une complexité supplémentaire : contrairement à une incrémentation additive, le générateur multiplicatif n'incrémente pas dans tous les cas, ayant plutôt une seule orbite à 0, ce qui peut présenter un vecteur d'attaque. Pour atténuer cette attaque potentielle, le prouveur doit s'engager à un vecteur de compteur de lecture qui est non nul partout pour assurer la sécurité du protocole.
L'idée centrale derrière la construction du Binius PCS (Polynomial Commitment Scheme) est l'emballage. Le document Binius présente deux schémas PCS Brakedown basés sur des champs binaires : l'un instancié en utilisant des codes concaténés, et l'autre en utilisant un codage au niveau du bloc, qui prend en charge l'utilisation autonome des codes Reed-Solomon. Le deuxième schéma PCS Brakedown simplifie le processus de preuve et de vérification, bien qu'il produise une taille de preuve légèrement plus grande que le premier ; cependant, ce compromis en vaut la peine en raison des avantages de simplification et d'implémentation qu'il offre.
L'engagement polynomial de Binius utilise principalement l'engagement polynomial de petit champ avec des évaluations dans un champ étendu, une construction universelle de petit champ et un codage au niveau des blocs avec des techniques de code Reed-Solomon.
Engagement de polynômes à petit champ avec évaluation de champ étendu Dans le protocole Binius, les engagements de polynômes sont effectués sur un petit champ
𝐾
, avec des évaluations ayant lieu dans un champ étendu
L/K
. Cette technique permet de s’assurer qu’un polynôme multilinéaire
t(X0,...,Xl−1)
appartient au domaine
𝐾[𝑋0,…,𝑋ℓ−1]
, tandis que les points d'évaluation sont dans le champ plus large
𝐿
. Cette structure d'engagement permet des requêtes efficaces dans le domaine étendu, équilibrant la sécurité et l'efficacité computationnelle.
Construction universelle de petit champ Cette construction définit les paramètres clés tels que le champ
𝐾
, sa dimension
ℓ
, et le code de bloc linéaire associé
𝐶
, tout en veillant à ce que le champ étendu
𝐿
est suffisamment grand pour des évaluations sécurisées. En exploitant les propriétés du champ étendu, Binius parvient à des engagements robustes grâce à des codes linéaires en bloc, maintenant un équilibre entre l'efficacité computationnelle et la sécurité.
Encodage au niveau du bloc avec des codes de Reed-Solomon pour les polynômes définis sur de petits champs comme $\mathbb{F}2
Ce schéma permet d’engager efficacement des polynômes de petit champ en les codant ligne par ligne dans des champs plus grands (tels que :
\mathbb{F}{2^{16}}$ ), utilisant l'efficacité et les propriétés de séparation de distance maximale des codes Reed-Solomon. Après l'encodage, ces lignes sont engagées à l'aide d'un arbre de Merkle, ce qui simplifie la complexité opérationnelle des engagements polynomiaux en petit champ. Cette approche permet une manipulation efficace des polynômes dans de petits champs sans la charge computationnelle généralement associée à des champs plus importants.
Pour améliorer encore les performances, Binius intègre quatre optimisations majeures :
Dans le protocole Binius original, la multiplication de champs binaires est gérée par un schéma basé sur la recherche, qui lie la multiplication à des opérations d’addition linéaires basées sur le nombre de membres d’un mot. Bien que cette méthode optimise la multiplication binaire dans une certaine mesure, elle introduit toujours des engagements auxiliaires linéairement liés au nombre de membres. En adoptant une approche basée sur GKR, le protocole Binius peut réduire considérablement le nombre d’engagements requis, ce qui permet d’accroître l’efficacité des opérations de multiplication de champs binaires.
L'idée principale du protocole GKR (Goldwasser-Kalai-Rothblum) est d'obtenir un accord entre le Prover (P) et le Vérificateur (V) sur un circuit arithmétique en couches sur un champ fini.
𝐹
Chaque nœud dans ce circuit a deux entrées pour calculer la fonction requise. Pour réduire la complexité de calcul du Vérificateur, le protocole utilise le protocole SumCheck, qui réduit progressivement les revendications sur les valeurs de porte de sortie du circuit aux valeurs de porte de couche inférieure, simplifiant finalement les revendications en déclarations sur les entrées. De cette façon, le Vérificateur n'a besoin que de vérifier la justesse des entrées du circuit.
La Algorithme de multiplication d'entiers basé sur GKRdans Binius transforme la vérification de deux entiers de 32 bits
𝐴
et
𝐵
satisfaire
𝐴⋅𝐵=?𝐶
en vérifiant si
(gA)B= ?gC
contient dans
Réf. F264∗
Cette transformation, combinée au protocole GKR, réduit considérablement les frais associés aux engagements polynomiaux. Comparé au précédent schéma basé sur la recherche Binius, l'approche de multiplication basée sur GKR ne nécessite qu'un seul engagement auxiliaire et réduit le coût des SumChecks, rendant l'algorithme plus efficace, en particulier dans les cas où les SumChecks sont plus économiques que des engagements supplémentaires. Cette méthode devient une solution prometteuse pour minimiser les coûts d'engagement polynomiaux dans les champs binaires à mesure que les optimisations de Binius progressent.
Le papier Quelques améliorations pour le PIOP pour ZeroCheckpropose des stratégies pour équilibrer les coûts de calcul entre le Prover (P) et le Verifier (V), en mettant l'accent sur la réduction de la transmission de données et de la complexité de calcul. Ci-dessous sont les principales techniques d'optimisation :
En transférant une partie de la charge de calcul au Vérificateur, la transmission des données du Proverbe peut être réduite au minimum. Par exemple, dans le tour
𝑖
, le Prover envoie
vi+1(X)
pour
𝑋=0,…,𝑑+1
, et le vérificateur vérifie si
𝑣𝑖=𝑣𝑖+1(0)+𝑣𝑖+1(1)
tient.
Optimisation : Le Prover peut éviter d'envoyer
vi+1(1)
, comme le Vérificateur peut le calculer comme
𝑣𝑖+1(1)=𝑣𝑖−𝑣𝑖+1(0)
.
Dans le tour initial, le Prover envoie
𝑣1(0)=𝑣1(1)=0
, ce qui élimine certains calculs d’évaluation, ce qui réduit à la fois les coûts de calcul et de transmission
𝑑2𝑛−1𝐶𝐹+(𝑑+1)2𝑛−1𝐶𝐺
.
Pendant la ronde
Je
, le Prover doit envoyer
𝑣𝑖+1(𝑋)
, calculé comme
𝑣𝑖+1(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼,(𝑟,𝑋,𝑥))𝐶(𝑟,𝑋,𝑥)
.
Optimisation : Au lieu de cela, le Prover peut envoyer
𝑣𝑖+1′(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼𝑖+1,…,𝛼𝑛−1,𝑥)𝐶(𝑟,𝑋,𝑥),
où $v_i(X) = v_i'(X) \cdot \hat{\delta}{i+1}((\alpha_0, \dots, \alpha_i), (r, X))
.𝐴𝑠𝑡ℎ𝑒𝑉𝑒𝑟𝑖𝑓𝑖𝑒𝑟ℎ𝑎𝑠𝑎𝑐𝑐𝑒𝑠𝑠𝑡𝑜
\alpha
𝑎𝑛𝑑
r
,𝑡ℑ𝑡ℎ𝑒𝑑𝑒𝑔𝑟𝑒𝑒𝑜𝑓
v_i'(X)
islowertainmentof
v_i(X)
,en réduisant les points d’évaluation requis.Le contrôle inter−rond peut alors être simplifié
(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.
Pour
d = 3$ , ces optimisations permettent une réduction des coûts d'un facteur de 5/3.
Pour un Prover honnête, le polynôme
𝐶(𝑥0,…,𝑥𝑛−1)
est nul sur
𝐻𝑛
et peut être exprimé comme
𝐶(𝑥0,…,𝑥𝑛−1)=∑𝑖=0𝑛−1𝑥𝑖(𝑥𝑖−1)𝑄𝑖(𝑥0,…,𝑥𝑛−1)
. Où
𝑄𝑖
est calculé par division polynomiale ordonnée, en commençant par
𝑅𝑛=𝐶
. Division séquentielle par
𝑥𝑖(𝑥𝑖−1)
calcule
𝑄𝑖
et
𝑅𝑖
, avec
𝑅0
représentant l'extension multilinéaire de
𝐶
sur
𝐻𝑛
, supposé être zéro.
Analyse des degrés de
QI
. Pour
𝑗>𝑖
,
𝑄𝑗
reste au même niveau dans
𝑥𝑖
comme
𝐶
. Pour
𝑗=𝑖
, le degré est réduit de 2, et pour
𝑗<𝑖
, le degré est au plus 1. Étant donné un vecteur
𝑟=(𝑟0,…,𝑟𝑖)
,
𝑄𝑗(𝑟,𝑋)
est multilinéaire pour tous
𝑗≤𝑖
. De plus,
𝑄𝑖(𝑟,𝑋)=∑𝑗=0𝑖𝑟𝑗(𝑟𝑗−1)𝑄𝑗(𝑟,𝑋)
est le polynôme multilinéaire unique correspondant
C(r,X)
sur
𝐻𝑛−𝑖
. Pour toute
𝑋
et
𝑥∈𝐻𝑛−𝑖−1
, cela peut être représenté comme
𝐶(𝑟,𝑋,𝑥)−𝑄𝑖(𝑟,𝑋,𝑥)=𝑋(𝑋−1)𝑄𝑖+1(𝑟,𝑋,𝑥).
Ainsi, lors de chaque tour du protocole, un nouveau
𝑄
est introduit, et son évaluation peut être dérivée de
𝐶
et le précédent
𝑄
, permettant une optimisation d'interpolation.
Dans le protocole STARKs mis en œuvre par Binius, le principal goulot d'étranglement pour le prouveur est souvent le protocole de vérification de la somme plutôt que le schéma d'engagement polynômial (PCS), en raison du faible coût de l'engagement.
Figure 2. Relation entre le tour de basculement et l'amélioration du facteur
En 2024, Ingonyama a proposé améliorations pour les protocoles Sumcheck basés sur les petits champs, en se concentrant sur les algorithmes 3 et 4. Ces améliorations ont été mises en œuvre et rendues publiques ici. L'algorithme 4 intègre l'algorithme de Karatsuba dans l'algorithme 3, réduisant ainsi le nombre de multiplications de champ d'extension en échange de plus de multiplications de champ de base. Cette approche est plus efficace lorsque les multiplications de champ d'extension sont plus coûteuses que celles de champ de base.
𝑡
, qui marque le moment où le protocole revient de la version optimisée à l'algorithme naïf. Les expériences indiquent que le facteur d'amélioration atteint son maximum au point de basculement optimal, puis suit une tendance parabolique. Lorsque ce point est dépassé, l'efficacité diminue car le rapport entre les multiplications du champ de base et du champ d'extension est plus élevé dans les champs plus petits, ce qui nécessite un retour opportun à l'algorithme naïf.
Pour certaines applications, comme le Cubic Sumcheck (
𝑑=3
), le protocole Sumcheck à petit champ offre une amélioration d'un ordre de grandeur par rapport à l'approche naïve. Par exemple, dans le champ de base
𝐺𝐹[2]2. Impact de la taille du champ de base sur les performances Des champs de base plus petits (par exemple,
, L'algorithme 4 surpasse l'algorithme naïf de près de 30 fois.
GF[2]
) améliorer considérablement l'efficacité de l'algorithme optimisé en raison de la plus grande disparité entre les coûts des multiplications dans le champ d'extension et le champ de base. Cela conduit à un facteur d'amélioration plus important pour l'algorithme optimisé.
𝐺𝐹[2]
, L'algorithme 4 atteint des facteurs d'amélioration maximale de 6 pour l'algorithme 3 et de 30 pour l'algorithme 4, ce qui indique que l'algorithme 4 est cinq fois plus efficace que l'algorithme 3. L'algorithme de Karatsuba améliore l'efficacité d'exécution et optimise le point de basculement pour les deux algorithmes, avec des points optimaux à
t=5
pour l'algorithme 3 et
𝑡=8
pour l'algorithme 4.
𝑂(𝑑⋅𝑡)
la mémoire, tandis que l'algorithme 3 a besoin de
𝑂(2𝑑⋅𝑡)
mémoire. Pour
𝑡=8
, l’algorithme 4 n’utilise que 0,26 Mo de mémoire, contre 67 Mo pour l’algorithme 3. Cela rend l’algorithme 4 particulièrement adapté aux environnements à mémoire limitée, tels que la preuve côté client avec des ressources limitées.
L’un des principaux défis du protocole de Binius est sa taille de preuve relativement grande, qui s’adapte à la racine carrée de la taille du témoin à
𝑂(𝑁)
. Cette mise à l'échelle de la racine carrée limite sa compétitivité par rapport aux systèmes offrant des preuves plus succinctes. En revanche, des tailles de preuves polylogarithmiques, comme celles obtenues par des systèmes avancés tels que Plonky3 grâce à des techniques telles que FRI, sont essentielles pour garantir des vérificateurs vraiment « succincts ». L'optimisation FRI-Binius vise à réduire la taille de la preuve de Binius et à améliorer ses performances globales par rapport à des systèmes plus efficaces.
Le papierPreuves polylogarithmiques pour des multilinéaires sur des tours binaires, appelé FRI-Binius, introduit un nouveau mécanisme de pliage FRI (preuve de proximité interactive Reed-Solomon rapide) basé sur le champ binaire avec quatre innovations clés:
Processus central du schéma d'engagement polynomial multilinéaire (PCS) FRI-Binius
Le protocole FRI-Binius optimise les schémas d'engagement polynomiaux multilinéaires (PCS) sur le champ binaire en transformant le polynôme multilinéaire initial, défini sur le champ binaire
𝐹2
, en un polynôme multilinéaire sur un champ plus grand
𝐾
.
Avantages de FRI-Binius
En appliquant cette méthode, Binius est capable de réduire la taille de sa preuve d'un ordre de grandeur, la rapprochant des performances des systèmes cryptographiques de pointe, tout en restant compatible avec les champs binaires. La méthode de pliage FRI, optimisée pour les champs binaires, combinée à des emballages algébriques et des optimisations SumCheck, aide Binius à générer des preuves plus petites sans compromettre l'efficacité de la vérification.
Cette transformation marque une étape importante vers l'amélioration de la taille de la preuve dans Binius, en veillant à ce qu'elle devienne plus compétitive avec d'autres systèmes de pointe, en particulier ceux axés sur des tailles de preuve polylogarithmiques.
Tableau 2 : Comparaison de la taille de preuve entre Binius et FRI-Binius
Table 3: Comparaison entre Plonky3 FRI et FRI-Binius
Toute la proposition de valeur de Binius réside dans sa capacité à utiliser la plus petite taille de champ de puissance de deux pour les témoins, en sélectionnant la taille de champ selon les besoins. Binius est un schéma de co-conception pour « le matériel, les logiciels et les protocoles Sumcheck accélérés par FPGA », permettant des preuves rapides avec une très faible utilisation de la mémoire.
Les systèmes de preuve tels que Halo2 et Plonky3 impliquent quatre étapes clés intensives en calcul : la génération des données de témoin, l'engagement envers les données de témoin, l'exécution d'un argument de disparition et la génération de la preuve d'ouverture.
Par exemple, avec la fonction de hachage Keccak dans Plonky3 et la fonction de hachage Grøstl dans Binius, la distribution computationnelle pour ces quatre étapes clés est illustrée à la Figure 3.
Figure 3. Coût de validation plus petit
Cette comparaison montre que Binius a essentiellement éliminé le goulot d'étranglement de l'engagement du prouveur. Le nouveau goulot d'étranglement est le protocole Sumcheck, où des problèmes tels que de nombreuses évaluations de polynômes et des multiplications de champs peuvent être efficacement résolus avec du matériel spécialisé.
Le schéma FRI-Binius, une variante de FRI, offre une option très attrayante en supprimant les frais d'intégration de la couche de preuve sur le terrain sans entraîner une augmentation significative des coûts dans la couche de preuve agrégée.
Actuellement, l'équipe Irreducible développe sa couche récursive et aa annoncé un partenariat avec l'équipe Polygon pour construire un zkVM basé sur Binius; le Jolt zkVM passe de Lasso à Binius pour améliorer ses performances récursives; et l' L'équipe Ingonyama met en œuvre une version FPGA de Binius.
Différents des SNARKs basés sur les courbes elliptiques, les STARKs peuvent être considérés comme des SNARKs basés sur le hachage. L'un des principaux défis contribuant à l'inefficacité actuelle des STARKs est que la plupart des valeurs dans les programmes réels sont relativement petites, tels que les indices dans les boucles for, les valeurs booléennes et les compteurs. Cependant, pour garantir la sécurité des preuves basées sur les arbres de Merkle, le codage Reed-Solomon est utilisé pour étendre les données, ce qui entraîne de nombreuses valeurs redondantes occupant tout le champ, même lorsque les valeurs d'origine elles-mêmes sont petites. Pour remédier à cette inefficacité, la réduction de la taille du champ est devenue une stratégie clé.
Comme indiqué dans le tableau 1, la première génération de STARKs avait une largeur de codage de 252 bits, la deuxième génération de 64 bits et la troisième génération de 32 bits. Malgré la réduction de la largeur de codage dans la troisième génération, il reste un espace significatif gaspillé. En revanche, les champs binaires permettent une manipulation directe des bits, permettant un codage compact et efficace avec un minimum de gaspillage. Cette efficacité est réalisée dans la quatrième génération de STARKs.
Tableau 1: Chemin de dérivation STARKs
En comparaison avec des champs finis tels que Goldilocks, BabyBear, et Mersenne31, qui ont récemment attiré l'attention, la recherche sur les champs binaires remonte aux années 1980. Aujourd'hui, les champs binaires sont largement utilisés en cryptographie, avec des exemples notables incluant:
Lorsque des champs plus petits sont utilisés, les opérations d'extension de champ deviennent de plus en plus importantes pour garantir la sécurité. Le champ binaire utilisé par Binius repose entièrement sur l'extension de champ pour garantir à la fois la sécurité et l'utilisabilité pratique. La plupart des calculs polynomiaux impliqués dans les opérations de vérification n'ont pas besoin d'entrer dans le champ étendu, car ils ont seulement besoin de fonctionner dans le champ de base, ce qui permet d'atteindre une grande efficacité dans le petit champ. Cependant, les vérifications de points aléatoires et les calculs FRI doivent encore être effectués dans un champ étendu plus large pour garantir le niveau de sécurité nécessaire.
Il existe deux défis pratiques lors de la construction d'un système de preuve basé sur des champs binaires : Premièrement, la taille du champ utilisée pour la représentation de la trace dans les STARKs doit être plus grande que le degré du polynôme. Deuxièmement, la taille du champ utilisée pour l'engagement de l'arbre de Merkle dans les STARKs doit être supérieure à la taille après l'extension d'encodage Reed-Solomon.
Binius est une solution innovante pour résoudre ces deux problèmes en représentant les mêmes données de deux manières différentes : premièrement, en utilisant des polynômes multivariés (plus précisément multilinéaires) au lieu de polynômes univariés, représentant l'ensemble de la trace de calcul à travers leurs évaluations sur des « hypercubes ». Deuxièmement, puisque chaque dimension de l'hypercube a une longueur de 2, il n'est pas possible d'effectuer des extensions standard de Reed-Solomon comme dans les STARKs, mais l'hypercube peut être traité comme un carré, et une extension de Reed-Solomon peut être effectuée sur la base de ce carré. Cette méthode garantit non seulement la sécurité, mais améliore également considérablement l'efficacité de codage et les performances de calcul.
La construction de la plupart des systèmes SNARK modernes se compose généralement des deux composants suivants :
En sélectionnant différents PIOP et schémas PCS, et en les combinant avec des champs finis ou des courbes elliptiques appropriés, il est possible de construire des systèmes de preuve avec des propriétés distinctes. Par exemple:
Lors de la conception de ces systèmes, la compatibilité entre le PIOP, le PCS et le corps fini ou la courbe elliptique choisis est essentielle pour garantir la correction, les performances et la sécurité. Ces combinaisons influencent la taille de la preuve SNARK, l'efficacité de la vérification et déterminent si le système peut atteindre la transparence sans configuration de confiance, ainsi que prendre en charge des fonctionnalités avancées telles que les preuves récursives ou l'agrégation de preuves.
Binius combine HyperPlonk PIOP avec Brakedown PCS et opère dans un champ binaire. Plus précisément, Binius intègre cinq technologies clés pour atteindre à la fois l'efficacité et la sécurité:
Ces innovations permettent à Binius d'offrir un système SNARK compact et performant, optimisé pour les champs binaires tout en maintenant une sécurité et une évolutivité robustes.
Les tours de champs binaires jouent un rôle critique dans la réalisation de calculs rapides et vérifiables en raison de deux facteurs principaux : le calcul efficace et l'arithmétisation efficace. Les champs binaires prennent en charge de manière inhérente des opérations arithmétiques hautement efficaces, ce qui les rend idéaux pour les applications cryptographiques sensibles à la performance. De plus, leur structure permet un processus d'arithmétisation simplifié, où les opérations effectuées dans les champs binaires peuvent être représentées sous des formes algébriques compactes et facilement vérifiables. Ces caractéristiques, combinées à la structure hiérarchique des tours de champs binaires, les rendent particulièrement adaptés aux systèmes de preuve évolutifs comme Binius.
Le terme "canonical" fait référence à la représentation unique et directe des éléments dans un champ binaire. Par exemple, dans le champ binaire le plus basique $\mathbb{F}2
,anyk−bitstringcanbedirectly mappedtoak−bitbinaryfieldelement.Ceci diffère des champs primitifs,qui n’offrent pas une telle représentation canonique dans un nombre donné de bits.Bien qu’un champ à 32 bits puisse s’adapter à l’intérieur de 32 bits,notez que chaquechaîne de 32 bits peut correspondre de manière unique à un élément de champ,tandis que les champs binaires fournissent ceci/unmappage.Inprimefields
\mathbb{F}_p$ , les méthodes de réduction courantes comprennent la réduction de Barrett , la réduction de Montgomery , ainsi que des méthodes de réduction spécialisées pour certains corps finis comme Mersenne-31 ou Goldilocks-64 . Dans les corps binaires $\mathbb{F}{2^k}$ , les méthodes de réduction courantes comprennent la réduction spéciale (comme utilisée dans AES), la réduction de Montgomery (comme utilisée dans POLYVAL), et la réduction récursive (comme utilisée dans les champs de Tower). Le document Exploration de l'espace de conception du champ premier par rapport aux implémentations matérielles du champ binaire ECCnote que les champs binaires ne nécessitent pas de propagation de retenue lors de l'addition ou de la multiplication, et l'élevation au carré dans les champs binaires est très efficace grâce à la règle de simplification
(𝑋+𝑌)2=𝑋2+𝑌2
.
Figure 1. Les tours du champ binaire
Comme illustré dans la Figure 1, une chaîne de 128 bits peut être interprétée de plusieurs façons dans le contexte d'un champ binaire. Elle peut être considérée comme un élément unique dans le champ binaire de 128 bits, ou elle peut être analysée comme deux éléments de champ de tour de 64 bits, quatre éléments de champ de tour de 32 bits, seize éléments de champ de tour de 8 bits, ou 128 éléments de gate.
𝐹2
. Cette flexibilité de représentation n'entraîne aucune surcharge computationnelle, car il s'agit simplement d'une conversion de type de la chaîne de bits. C'est une propriété très intéressante et utile, car des éléments de champ plus petits peuvent être emballés dans des éléments de champ plus grands sans coût computationnel supplémentaire. Le protocole Binius exploite cette propriété pour améliorer l'efficacité computationnelle. De plus, le document Sur l'inversion efficace dans les champs de tour de caractéristique deuxexplorer la complexité computationnelle de la multiplication, du carré et de l'inversion dans
n
champs binaires de tour de -bit (décomposables en
𝑚
-bit subfields).
La conception PIOP dans le protocole Binius s'inspire de HyperPlonk et intègre une série de vérifications de base pour vérifier la justesse des polynômes et des ensembles multivariés. Ces vérifications sont essentielles pour garantir l'intégrité des calculs au sein du système de preuve, en particulier lorsqu'ils sont effectués sur des champs binaires. Les principales vérifications comprennent :
Alors que Binius et HyperPlonk partagent plusieurs similitudes dans leurs conceptions de protocole, Binius introduit les améliorations clés suivantes:
Ainsi, Binius améliore la flexibilité et l'efficacité du protocole en améliorant le mécanisme de vérification PIOP SumCheck existant, notamment en fournissant une fonctionnalité plus solide pour la vérification de polynômes multivariés plus complexes. Ces améliorations ne font pas seulement face aux limites de HyperPlonk, mais posent également les bases de systèmes futurs basés sur des champs binaires.
Dans le protocole Binius, la manipulation et la construction de polynômes virtuels jouent un rôle crucial dans la gestion efficace des polynômes. Deux techniques principales sont utilisées pour ces opérations:
Le protocole Lasso dans Binius offre une méthode très efficace pour prouver que les éléments d'un vecteur
𝑎∈𝐹𝑚
sont contenus dans une table prédéfinie
𝑡∈𝐹𝑛
. Cet argument de recherche introduit le concept de « Lookup Singularity » et convient parfaitement aux schémas d'engagement polynomial multilinéaire. L'efficacité de Lasso est mise en évidence dans deux aspects majeurs :
Le protocole Lasso se compose de trois composants principaux:
Le protocole Binius adapte Lasso aux opérations sur les champs binaires, en supposant que le champ actuel est un champ premier de grande caractéristique (beaucoup plus grand que la longueur de la colonne recherchée). Binius introduit une version multiplicative du protocole Lasso, obligeant le prouveur et le vérificateur à incrémenter l'opération de “compteur de mémoire” du protocole non pas simplement en ajoutant 1 mais en incrémentant à l'aide d'un générateur multiplicatif dans le champ binaire. Cependant, cette adaptation multiplicative introduit une complexité supplémentaire : contrairement à une incrémentation additive, le générateur multiplicatif n'incrémente pas dans tous les cas, ayant plutôt une seule orbite à 0, ce qui peut présenter un vecteur d'attaque. Pour atténuer cette attaque potentielle, le prouveur doit s'engager à un vecteur de compteur de lecture qui est non nul partout pour assurer la sécurité du protocole.
L'idée centrale derrière la construction du Binius PCS (Polynomial Commitment Scheme) est l'emballage. Le document Binius présente deux schémas PCS Brakedown basés sur des champs binaires : l'un instancié en utilisant des codes concaténés, et l'autre en utilisant un codage au niveau du bloc, qui prend en charge l'utilisation autonome des codes Reed-Solomon. Le deuxième schéma PCS Brakedown simplifie le processus de preuve et de vérification, bien qu'il produise une taille de preuve légèrement plus grande que le premier ; cependant, ce compromis en vaut la peine en raison des avantages de simplification et d'implémentation qu'il offre.
L'engagement polynomial de Binius utilise principalement l'engagement polynomial de petit champ avec des évaluations dans un champ étendu, une construction universelle de petit champ et un codage au niveau des blocs avec des techniques de code Reed-Solomon.
Engagement de polynômes à petit champ avec évaluation de champ étendu Dans le protocole Binius, les engagements de polynômes sont effectués sur un petit champ
𝐾
, avec des évaluations ayant lieu dans un champ étendu
L/K
. Cette technique permet de s’assurer qu’un polynôme multilinéaire
t(X0,...,Xl−1)
appartient au domaine
𝐾[𝑋0,…,𝑋ℓ−1]
, tandis que les points d'évaluation sont dans le champ plus large
𝐿
. Cette structure d'engagement permet des requêtes efficaces dans le domaine étendu, équilibrant la sécurité et l'efficacité computationnelle.
Construction universelle de petit champ Cette construction définit les paramètres clés tels que le champ
𝐾
, sa dimension
ℓ
, et le code de bloc linéaire associé
𝐶
, tout en veillant à ce que le champ étendu
𝐿
est suffisamment grand pour des évaluations sécurisées. En exploitant les propriétés du champ étendu, Binius parvient à des engagements robustes grâce à des codes linéaires en bloc, maintenant un équilibre entre l'efficacité computationnelle et la sécurité.
Encodage au niveau du bloc avec des codes de Reed-Solomon pour les polynômes définis sur de petits champs comme $\mathbb{F}2
Ce schéma permet d’engager efficacement des polynômes de petit champ en les codant ligne par ligne dans des champs plus grands (tels que :
\mathbb{F}{2^{16}}$ ), utilisant l'efficacité et les propriétés de séparation de distance maximale des codes Reed-Solomon. Après l'encodage, ces lignes sont engagées à l'aide d'un arbre de Merkle, ce qui simplifie la complexité opérationnelle des engagements polynomiaux en petit champ. Cette approche permet une manipulation efficace des polynômes dans de petits champs sans la charge computationnelle généralement associée à des champs plus importants.
Pour améliorer encore les performances, Binius intègre quatre optimisations majeures :
Dans le protocole Binius original, la multiplication de champs binaires est gérée par un schéma basé sur la recherche, qui lie la multiplication à des opérations d’addition linéaires basées sur le nombre de membres d’un mot. Bien que cette méthode optimise la multiplication binaire dans une certaine mesure, elle introduit toujours des engagements auxiliaires linéairement liés au nombre de membres. En adoptant une approche basée sur GKR, le protocole Binius peut réduire considérablement le nombre d’engagements requis, ce qui permet d’accroître l’efficacité des opérations de multiplication de champs binaires.
L'idée principale du protocole GKR (Goldwasser-Kalai-Rothblum) est d'obtenir un accord entre le Prover (P) et le Vérificateur (V) sur un circuit arithmétique en couches sur un champ fini.
𝐹
Chaque nœud dans ce circuit a deux entrées pour calculer la fonction requise. Pour réduire la complexité de calcul du Vérificateur, le protocole utilise le protocole SumCheck, qui réduit progressivement les revendications sur les valeurs de porte de sortie du circuit aux valeurs de porte de couche inférieure, simplifiant finalement les revendications en déclarations sur les entrées. De cette façon, le Vérificateur n'a besoin que de vérifier la justesse des entrées du circuit.
La Algorithme de multiplication d'entiers basé sur GKRdans Binius transforme la vérification de deux entiers de 32 bits
𝐴
et
𝐵
satisfaire
𝐴⋅𝐵=?𝐶
en vérifiant si
(gA)B= ?gC
contient dans
Réf. F264∗
Cette transformation, combinée au protocole GKR, réduit considérablement les frais associés aux engagements polynomiaux. Comparé au précédent schéma basé sur la recherche Binius, l'approche de multiplication basée sur GKR ne nécessite qu'un seul engagement auxiliaire et réduit le coût des SumChecks, rendant l'algorithme plus efficace, en particulier dans les cas où les SumChecks sont plus économiques que des engagements supplémentaires. Cette méthode devient une solution prometteuse pour minimiser les coûts d'engagement polynomiaux dans les champs binaires à mesure que les optimisations de Binius progressent.
Le papier Quelques améliorations pour le PIOP pour ZeroCheckpropose des stratégies pour équilibrer les coûts de calcul entre le Prover (P) et le Verifier (V), en mettant l'accent sur la réduction de la transmission de données et de la complexité de calcul. Ci-dessous sont les principales techniques d'optimisation :
En transférant une partie de la charge de calcul au Vérificateur, la transmission des données du Proverbe peut être réduite au minimum. Par exemple, dans le tour
𝑖
, le Prover envoie
vi+1(X)
pour
𝑋=0,…,𝑑+1
, et le vérificateur vérifie si
𝑣𝑖=𝑣𝑖+1(0)+𝑣𝑖+1(1)
tient.
Optimisation : Le Prover peut éviter d'envoyer
vi+1(1)
, comme le Vérificateur peut le calculer comme
𝑣𝑖+1(1)=𝑣𝑖−𝑣𝑖+1(0)
.
Dans le tour initial, le Prover envoie
𝑣1(0)=𝑣1(1)=0
, ce qui élimine certains calculs d’évaluation, ce qui réduit à la fois les coûts de calcul et de transmission
𝑑2𝑛−1𝐶𝐹+(𝑑+1)2𝑛−1𝐶𝐺
.
Pendant la ronde
Je
, le Prover doit envoyer
𝑣𝑖+1(𝑋)
, calculé comme
𝑣𝑖+1(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼,(𝑟,𝑋,𝑥))𝐶(𝑟,𝑋,𝑥)
.
Optimisation : Au lieu de cela, le Prover peut envoyer
𝑣𝑖+1′(𝑋)=∑𝑥∈𝐻𝑛−𝑖−1𝛿^𝑛(𝛼𝑖+1,…,𝛼𝑛−1,𝑥)𝐶(𝑟,𝑋,𝑥),
où $v_i(X) = v_i'(X) \cdot \hat{\delta}{i+1}((\alpha_0, \dots, \alpha_i), (r, X))
.𝐴𝑠𝑡ℎ𝑒𝑉𝑒𝑟𝑖𝑓𝑖𝑒𝑟ℎ𝑎𝑠𝑎𝑐𝑐𝑒𝑠𝑠𝑡𝑜
\alpha
𝑎𝑛𝑑
r
,𝑡ℑ𝑡ℎ𝑒𝑑𝑒𝑔𝑟𝑒𝑒𝑜𝑓
v_i'(X)
islowertainmentof
v_i(X)
,en réduisant les points d’évaluation requis.Le contrôle inter−rond peut alors être simplifié
(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.
Pour
d = 3$ , ces optimisations permettent une réduction des coûts d'un facteur de 5/3.
Pour un Prover honnête, le polynôme
𝐶(𝑥0,…,𝑥𝑛−1)
est nul sur
𝐻𝑛
et peut être exprimé comme
𝐶(𝑥0,…,𝑥𝑛−1)=∑𝑖=0𝑛−1𝑥𝑖(𝑥𝑖−1)𝑄𝑖(𝑥0,…,𝑥𝑛−1)
. Où
𝑄𝑖
est calculé par division polynomiale ordonnée, en commençant par
𝑅𝑛=𝐶
. Division séquentielle par
𝑥𝑖(𝑥𝑖−1)
calcule
𝑄𝑖
et
𝑅𝑖
, avec
𝑅0
représentant l'extension multilinéaire de
𝐶
sur
𝐻𝑛
, supposé être zéro.
Analyse des degrés de
QI
. Pour
𝑗>𝑖
,
𝑄𝑗
reste au même niveau dans
𝑥𝑖
comme
𝐶
. Pour
𝑗=𝑖
, le degré est réduit de 2, et pour
𝑗<𝑖
, le degré est au plus 1. Étant donné un vecteur
𝑟=(𝑟0,…,𝑟𝑖)
,
𝑄𝑗(𝑟,𝑋)
est multilinéaire pour tous
𝑗≤𝑖
. De plus,
𝑄𝑖(𝑟,𝑋)=∑𝑗=0𝑖𝑟𝑗(𝑟𝑗−1)𝑄𝑗(𝑟,𝑋)
est le polynôme multilinéaire unique correspondant
C(r,X)
sur
𝐻𝑛−𝑖
. Pour toute
𝑋
et
𝑥∈𝐻𝑛−𝑖−1
, cela peut être représenté comme
𝐶(𝑟,𝑋,𝑥)−𝑄𝑖(𝑟,𝑋,𝑥)=𝑋(𝑋−1)𝑄𝑖+1(𝑟,𝑋,𝑥).
Ainsi, lors de chaque tour du protocole, un nouveau
𝑄
est introduit, et son évaluation peut être dérivée de
𝐶
et le précédent
𝑄
, permettant une optimisation d'interpolation.
Dans le protocole STARKs mis en œuvre par Binius, le principal goulot d'étranglement pour le prouveur est souvent le protocole de vérification de la somme plutôt que le schéma d'engagement polynômial (PCS), en raison du faible coût de l'engagement.
Figure 2. Relation entre le tour de basculement et l'amélioration du facteur
En 2024, Ingonyama a proposé améliorations pour les protocoles Sumcheck basés sur les petits champs, en se concentrant sur les algorithmes 3 et 4. Ces améliorations ont été mises en œuvre et rendues publiques ici. L'algorithme 4 intègre l'algorithme de Karatsuba dans l'algorithme 3, réduisant ainsi le nombre de multiplications de champ d'extension en échange de plus de multiplications de champ de base. Cette approche est plus efficace lorsque les multiplications de champ d'extension sont plus coûteuses que celles de champ de base.
𝑡
, qui marque le moment où le protocole revient de la version optimisée à l'algorithme naïf. Les expériences indiquent que le facteur d'amélioration atteint son maximum au point de basculement optimal, puis suit une tendance parabolique. Lorsque ce point est dépassé, l'efficacité diminue car le rapport entre les multiplications du champ de base et du champ d'extension est plus élevé dans les champs plus petits, ce qui nécessite un retour opportun à l'algorithme naïf.
Pour certaines applications, comme le Cubic Sumcheck (
𝑑=3
), le protocole Sumcheck à petit champ offre une amélioration d'un ordre de grandeur par rapport à l'approche naïve. Par exemple, dans le champ de base
𝐺𝐹[2]2. Impact de la taille du champ de base sur les performances Des champs de base plus petits (par exemple,
, L'algorithme 4 surpasse l'algorithme naïf de près de 30 fois.
GF[2]
) améliorer considérablement l'efficacité de l'algorithme optimisé en raison de la plus grande disparité entre les coûts des multiplications dans le champ d'extension et le champ de base. Cela conduit à un facteur d'amélioration plus important pour l'algorithme optimisé.
𝐺𝐹[2]
, L'algorithme 4 atteint des facteurs d'amélioration maximale de 6 pour l'algorithme 3 et de 30 pour l'algorithme 4, ce qui indique que l'algorithme 4 est cinq fois plus efficace que l'algorithme 3. L'algorithme de Karatsuba améliore l'efficacité d'exécution et optimise le point de basculement pour les deux algorithmes, avec des points optimaux à
t=5
pour l'algorithme 3 et
𝑡=8
pour l'algorithme 4.
𝑂(𝑑⋅𝑡)
la mémoire, tandis que l'algorithme 3 a besoin de
𝑂(2𝑑⋅𝑡)
mémoire. Pour
𝑡=8
, l’algorithme 4 n’utilise que 0,26 Mo de mémoire, contre 67 Mo pour l’algorithme 3. Cela rend l’algorithme 4 particulièrement adapté aux environnements à mémoire limitée, tels que la preuve côté client avec des ressources limitées.
L’un des principaux défis du protocole de Binius est sa taille de preuve relativement grande, qui s’adapte à la racine carrée de la taille du témoin à
𝑂(𝑁)
. Cette mise à l'échelle de la racine carrée limite sa compétitivité par rapport aux systèmes offrant des preuves plus succinctes. En revanche, des tailles de preuves polylogarithmiques, comme celles obtenues par des systèmes avancés tels que Plonky3 grâce à des techniques telles que FRI, sont essentielles pour garantir des vérificateurs vraiment « succincts ». L'optimisation FRI-Binius vise à réduire la taille de la preuve de Binius et à améliorer ses performances globales par rapport à des systèmes plus efficaces.
Le papierPreuves polylogarithmiques pour des multilinéaires sur des tours binaires, appelé FRI-Binius, introduit un nouveau mécanisme de pliage FRI (preuve de proximité interactive Reed-Solomon rapide) basé sur le champ binaire avec quatre innovations clés:
Processus central du schéma d'engagement polynomial multilinéaire (PCS) FRI-Binius
Le protocole FRI-Binius optimise les schémas d'engagement polynomiaux multilinéaires (PCS) sur le champ binaire en transformant le polynôme multilinéaire initial, défini sur le champ binaire
𝐹2
, en un polynôme multilinéaire sur un champ plus grand
𝐾
.
Avantages de FRI-Binius
En appliquant cette méthode, Binius est capable de réduire la taille de sa preuve d'un ordre de grandeur, la rapprochant des performances des systèmes cryptographiques de pointe, tout en restant compatible avec les champs binaires. La méthode de pliage FRI, optimisée pour les champs binaires, combinée à des emballages algébriques et des optimisations SumCheck, aide Binius à générer des preuves plus petites sans compromettre l'efficacité de la vérification.
Cette transformation marque une étape importante vers l'amélioration de la taille de la preuve dans Binius, en veillant à ce qu'elle devienne plus compétitive avec d'autres systèmes de pointe, en particulier ceux axés sur des tailles de preuve polylogarithmiques.
Tableau 2 : Comparaison de la taille de preuve entre Binius et FRI-Binius
Table 3: Comparaison entre Plonky3 FRI et FRI-Binius
Toute la proposition de valeur de Binius réside dans sa capacité à utiliser la plus petite taille de champ de puissance de deux pour les témoins, en sélectionnant la taille de champ selon les besoins. Binius est un schéma de co-conception pour « le matériel, les logiciels et les protocoles Sumcheck accélérés par FPGA », permettant des preuves rapides avec une très faible utilisation de la mémoire.
Les systèmes de preuve tels que Halo2 et Plonky3 impliquent quatre étapes clés intensives en calcul : la génération des données de témoin, l'engagement envers les données de témoin, l'exécution d'un argument de disparition et la génération de la preuve d'ouverture.
Par exemple, avec la fonction de hachage Keccak dans Plonky3 et la fonction de hachage Grøstl dans Binius, la distribution computationnelle pour ces quatre étapes clés est illustrée à la Figure 3.
Figure 3. Coût de validation plus petit
Cette comparaison montre que Binius a essentiellement éliminé le goulot d'étranglement de l'engagement du prouveur. Le nouveau goulot d'étranglement est le protocole Sumcheck, où des problèmes tels que de nombreuses évaluations de polynômes et des multiplications de champs peuvent être efficacement résolus avec du matériel spécialisé.
Le schéma FRI-Binius, une variante de FRI, offre une option très attrayante en supprimant les frais d'intégration de la couche de preuve sur le terrain sans entraîner une augmentation significative des coûts dans la couche de preuve agrégée.
Actuellement, l'équipe Irreducible développe sa couche récursive et aa annoncé un partenariat avec l'équipe Polygon pour construire un zkVM basé sur Binius; le Jolt zkVM passe de Lasso à Binius pour améliorer ses performances récursives; et l' L'équipe Ingonyama met en œuvre une version FPGA de Binius.