
La mécanique d'incitation des Layer2 : un autre usage brillant de l'heuristique Fiat-Shamir dans FOX
TechFlow SélectionTechFlow Sélection

La mécanique d'incitation des Layer2 : un autre usage brillant de l'heuristique Fiat-Shamir dans FOX
Cet article aborde le rôle essentiel des frais de transaction en expliquant leur lien avec l'incitation des nœuds à participer à la maintenance du système, et souligne qu'un bon mécanisme d'incitation peut efficacement garantir la sécurité du système.
Rédaction : Meng Xuanji, scientifique en chef chez Fox Tech ; Kang Shuiyue, PDG de Fox Tech
Introduction
En tant que système distribué, Layer1 nécessite un coût élevé de communication pour parvenir à un consensus, et les nombreux calculs entraînent des frais élevés de gaz. Ainsi, en tant qu'extension de Layer1, la conception de Layer2 peut efficacement améliorer l'efficacité de Layer1. Toutefois, sous cet angle, la conception de Layer2 fait toujours face au même défi majeur que Layer1 : comment équilibrer le niveau de décentralisation et l'efficacité.
zkRollup est une solution très prometteuse d'extension de Layer2, réalisée en déplaçant les calculs hors chaîne et en fournissant des preuves à connaissance nulle (zero-knowledge proofs) à Layer1. Parmi les implémentations de zkRollup, le système FOX adopte une architecture courante composée principalement de deux types de nœuds : le Séquenceur (Sequencer) et le Groupeur (Folder). En termes simples, le Séquenceur trie et regroupe les transactions soumises par les utilisateurs, puis met à jour l'état sur la chaîne Layer2, tandis que le Groupeur génère les preuves relatives aux transactions regroupées par le Séquenceur et les soumet à Layer1.
Une question importante est de savoir si les nœuds de Layer2 doivent être décentralisés, et dans ce cas, comment concevoir un mécanisme d'incitation pour garantir cela. On peut imaginer que l’inefficacité fondamentale de Layer1 provient du fait que chaque nœud doit effectuer de nombreux calculs et communications afin d’assurer la décentralisation. En utilisant un système Layer2 qui découple les processus de calcul, appliquer un modèle de décentralisation strictement équivalent à celui de Layer1 conduirait à nouveau à une congestion de Layer2 pour les mêmes raisons. Un compromis s'impose donc ici.
La conception du mécanisme d'incitation consiste à ajuster la manière dont les nœuds de Layer2 perçoivent les frais d'incitation ainsi qu'à équilibrer les coûts payés aux nœuds de Layer2, afin d'encourager leur participation à la maintenance du système Layer2. En substance, les frais d'incitation reçus par les nœuds de Layer2 proviennent, comme sur Ethereum, des frais de gaz versés par les utilisateurs lors de la soumission de transactions. Cet article examine comment les nœuds de FOX participent au système et perçoivent les frais, ainsi que les raisons de cette conception.
Le rôle du gaz
Revenons d'abord sur le rôle des frais de gaz dans le système Ethereum. Les ressources de calcul sur Layer1 sont limitées. Lorsqu’un utilisateur soumet une transaction, il spécifie les frais de gaz associés, qui sont essentiellement liés à la complexité des opérations exécutées. Les utilisateurs prêts à payer des frais de gaz plus élevés obtiennent une priorité dans l'exécution de leurs transactions. La rémunération des mineurs provient de la somme des frais de gaz des blocs qu'ils valident. De plus, le mécanisme de frais de gaz permet efficacement de prévenir les contrats malveillants (par exemple, les boucles infinies), de limiter la taille des blocs, assurant ainsi une certaine sécurité du réseau.
On voit donc que l'utilisation rationnelle des frais de gaz revient fondamentalement à une allocation efficace des ressources de calcul sur la chaîne, mais aussi à une forme de jeu stratégique entre les projets, les mineurs et les utilisateurs. Une bonne conception du mécanisme d'incitation, ainsi que l'utilisation et la répartition des frais de transaction, sont cruciales pour le bon fonctionnement du système.
Processus de mise en chaîne des transactions
L'utilisateur soumet une transaction au pool de transactions du système FOX tout en y ajoutant des frais destinés à inciter les nœuds FOX. Ensuite, le nœud Séquenceur récupère les transactions depuis le pool, les trie et les regroupe. Chaque lot ainsi formé constitue un bloc Layer2. Le Séquenceur doit alors exécuter les calculs relatifs aux transactions, transmettre les résultats au contrat FOX sur Layer1, et également stocker les données des transactions dans ZK-Ringer pour garantir la disponibilité des données. Par la suite, les résultats de tri et de calcul du Séquenceur sont transmis au nœud Groupeur, qui calcule correctement la preuve (y compris l'agrégation) et la soumet au contrat sur Layer1. Dans ce processus, le résultat de l’exécution des transactions par le Séquenceur est mis à jour immédiatement sur Layer2, tandis que le moment où la transaction est véritablement validée par le consensus de Layer1 correspond à la vérification de la preuve par le Groupeur.
On constate que dans ce processus, les frais initialement attachés par l’utilisateur doivent couvrir plusieurs usages :
-
Frais versés au Séquenceur
-
Frais versés au Groupeur
-
Frais de gaz supportés par le Séquenceur pour soumettre les résultats des transactions à Layer1
-
Frais supportés par le Séquenceur pour stocker les informations dans ZK-Ringer
-
Frais de gaz supportés par le Groupeur pour appeler le contrat
Par conséquent, nous devons clarifier les mécanismes précis pour inciter toutes les parties à participer.
Mécanisme d'incitation de FOX
Le modèle d'incitation de FOX est relativement novateur. Pour commencer, afin d’équilibrer décentralisation et efficacité, nous avons divisé les rôles des nœuds en deux catégories : les Séquenceurs, chargés du tri et de l’exécution des transactions, et les Groupeurs, responsables de la génération et de l’agrégation des preuves de validité des exécutions. Les nœuds Groupeurs de FOX adoptent un mode décentralisé : tout mineur FOX peut rejoindre le réseau en tant que générateur de preuves. Pour encourager une large participation, tout Groupeur ayant soumis avec succès une preuve correcte au contrat de Layer1 reçoit une récompense en jetons. En outre, afin d'éviter le gaspillage de puissance de calcul, nous précisons que tous les Groupeurs ne se voyant pas attribuer la récompense uniquement au premier soumissionnaire. Après qu’un premier Groupeur a réussi sa soumission, pendant une fenêtre temporelle et quantitative définie (les paramètres exacts étant ajustés selon l’état du système), tous les autres Groupeurs ayant fourni des preuves correctes peuvent également recevoir une récompense.

Figure 1 : Version initiale du mécanisme d'incitation
Cependant, sous ce mécanisme, un Groupeur malveillant peut mener une attaque subtile.
Lorsqu’un Groupeur malveillant, noté Adv, termine la génération de sa preuve, il la soumet au contrat Verifier sur Layer1 pour vérification, tout en la communiquant simultanément à certains nœuds complices (ou contrôlés par lui-même). Ces derniers peuvent alors soumettre directement la preuve déjà calculée par Adv sans avoir effectué eux-mêmes aucun calcul, et percevoir ainsi une partie de la récompense. Ce faisant, ils n’ont déployé aucune puissance de calcul, tandis qu’Adv, via cette collusion, obtient des gains multiples avec un effort minimal, rendant difficile pour d'autres nœuds honnêtes de concurrencer sa position même s’ils produisent des preuves correctes.

Figure 2 : Mode opératoire d'attaque d'un Groupeur malveillant
Dans cette attaque, le problème vient du fait que le vérificateur (Verifier) ne peut pas distinguer si chaque preuve a été générée indépendamment par son soumissionnaire, car les valeurs des preuves sont identiques. Pour éviter ce problème, nous devons intégrer l’adresse unique du Groupeur dans la preuve qu’il soumet, de sorte que chaque preuve soumise par un Groupeur ne puisse être produite que par lui-même et non copiée par un autre nœud.
La méthode utilisée est ingénieuse : elle exploite l'heuristique Fiat-Shamir (le lecteur peut consulter l'article précédent de FOX intitulé « Comment transformer une preuve interactive en preuve non interactive ? L'heuristique Fiat-Shamir ! » pour connaître les détails techniques). Lors du processus de génération de preuve, l’une des étapes consiste pour le Groupeur (le prouveur) à générer une valeur aléatoire appelée « challenge », via une fonction de hachage. Il suffit d’exiger que l’adresse du Groupeur soit incluse dans les entrées de cette fonction de hachage, garantissant ainsi que le challenge dépend de l’adresse du Groupeur, tout en restant un nombre aléatoire imprévisible et incontrôlable par ce dernier.
Une analyse rigoureuse de la sécurité de cette méthode nécessiterait d’approfondir des concepts théoriques en cryptographie, tels que les fonctions aléatoires sécurisées et l’indistinguabilité — ce que nous ne ferons pas ici. En termes simples, on peut considérer que, grâce à la sécurité intrinsèque des fonctions de hachage et à celle de l’heuristique Fiat-Shamir, l’ajout d’une valeur fixe (comme l’adresse) dans l’entrée du hachage ne compromet pas l’imprévisibilité du résultat. Ainsi, la sécurité originelle de l’algorithme de preuve à connaissance nulle reste préservée.
Ainsi, chaque Groupeur doit désormais générer sa preuve de manière indépendante et ne peut plus simplement réutiliser les résultats d’un autre nœud, atteignant ainsi notre objectif.

Figure 3 : Mécanisme d'incitation modifié
Conclusion
Cet article part du rôle crucial des frais de transaction pour expliquer le lien entre ces frais et l’incitation des nœuds à maintenir le système. Nous soulignons qu’un bon mécanisme d’incitation contribue efficacement à la sécurité du système. Sur cette base, nous avons examiné en détail le mécanisme d’incitation utilisé par FOX pour les nœuds Groupeurs de Layer2, justifié sa pertinence, et montré techniquement comment l’heuristique Fiat-Shamir est habilement utilisée pour y parvenir.
Références
« Profondeur | Itération et concurrence – La voie d’extension de Layer2 pour Ethereum », institut de recherche blockchain Guosheng https://www.theblockbeats.info/news/24443
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














