Définition
Prover : définition
Le prover est le composant qui génère les preuves cryptographiques attestant qu'un calcul a été exécuté correctement. Dans un zk-rollup, il prouve que le nouvel état du réseau résulte bien de l'application valide d'un lot de transactions.
Thème : Layer 2 et scalabilité
Dans tout système de preuve à connaissance nulle, on distingue deux rôles. Le prover effectue le travail lourd : il exécute le calcul, le traduit en contraintes mathématiques et produit une preuve compacte. Le vérificateur (verifier), lui, contrôle cette preuve rapidement, sans refaire le calcul. Toute l'efficacité vient de cette asymétrie. On parle aussi de prouveur en français, mais le terme anglais reste le plus courant.
Dans un zk-rollup, le séquenceur ordonne les transactions, puis le prover génère une preuve de validité pour le lot. Cette preuve est envoyée à un contrat vérificateur sur Ethereum, qui l'accepte seulement si elle est correcte. Une fois vérifiée, la mise à jour d'état est considérée comme valide par le layer 1, sans délai de contestation. Générer des preuves est très gourmand en calcul et peut nécessiter du matériel spécialisé, comme des GPU puissants. Pour éviter qu'un seul opérateur concentre ce rôle, des projets développent des réseaux de provers ouverts et des marchés où plusieurs acteurs se font concurrence pour produire les preuves.
Un exemple concret
Imaginons qu'un zk-rollup ait collecté un lot de milliers de transferts. Le séquenceur transmet le lot au prover, qui calcule pendant plusieurs minutes sur des machines dédiées et produit une preuve de quelques centaines d'octets. Le contrat sur Ethereum la vérifie en une seule transaction, et toutes les opérations du lot sont acceptées d'un coup.
Les risques à connaître
Si le prover est centralisé et tombe en panne, les lots ne peuvent plus être finalisés sur le layer 1. Un bug dans le circuit ou le vérificateur pourrait, dans le pire des cas, permettre d'accepter une preuve invalide. Le coût du matériel peut aussi favoriser la concentration de ce rôle.
Questions fréquentes sur Prover
Pourquoi générer une preuve zk prend-il autant de temps ?
Parce que le prover doit traduire chaque étape du calcul en contraintes mathématiques et effectuer des opérations cryptographiques lourdes, alors que la vérification est conçue pour être très rapide.
Le prover peut-il tricher ?
Il ne peut pas produire une preuve valide pour un calcul faux, sauf faille dans le circuit ou le système de preuve. En revanche, un prover centralisé peut refuser ou retarder la production des preuves.