STARK
Un STARK est une ZKP transparente (sans setup de confiance). Plus grand qu'un SNARK mais sans assumption cryptographique exotique. Utilisée par RISC Zero.
Définition et origine
STARK signifie Scalable Transparent ARgument of Knowledge. C'est une famille de preuves à divulgation nulle de connaissance (ZKP) introduite en 2018 par Eli Ben-Sasson et son équipe de StarkWare. La promesse : permettre à un prouveur de démontrer qu'il connaît une exécution correcte d'un calcul sans rien révéler d'autre, et sans aucun setup de confiance préalable.
Comment ça fonctionne
Un STARK repose sur trois briques : l'arithmétisation du calcul en polynômes, le protocole FRI (Fast Reed-Solomon Interactive Oracle Proof) pour prouver qu'un polynôme est de faible degré, et la transformation de Fiat-Shamir pour rendre la preuve non-interactive. La sécurité ne repose que sur la fonction de hachage (collision-resistance), ce qui en fait une primitive plug-and-play post-quantique.
Cas d'usage
| Domaine | Exemple | |---|---| | Rollups Ethereum | StarkNet, zkSync (anciennement) | | Coprocesseur Bitcoin | RISC Zero, Citrea, BitVM | | Identité | Polygon ID | | Recherche | Programs verifiables off-chain |
Sur Bitcoin, les STARKs sont au cœur des travaux pour vérifier des calculs lourds (typiquement des transitions de rollup) à l'intérieur de Tapscript, via des optimisations comme BitVM ou Citrea.
Limites
Une preuve STARK fait typiquement 50 à 200 Ko, contre 200 octets à 2 Ko pour un SNARK. Sa vérification est plus rapide mais sa taille la rend inadaptée à un stockage on-chain massif sur Bitcoin sans optimisation. La génération est aussi très coûteuse en CPU/RAM (plusieurs Go) ce qui limite la décentralisation des prouveurs.
À retenir
Le STARK est la primitive cryptographique la plus prometteuse pour étendre Bitcoin sans changer son consensus : il permet de vérifier en quelques millisecondes la validité d'un calcul arbitrairement complexe, ouvrant la voie aux rollups ZK et aux side-chains validity-rollup adossées à Bitcoin.
Termes lies
- ZKP (Zero-Knowledge Proof)Une ZKP permet de prouver une affirmation sans révéler la donnée sous-jacente. SNARK et STARK en sont les variantes. Utilisée par Citrea, ZeroSync, Bullets, etc. Future bricklayer de Bitcoin.
- SNARKUn SNARK (Succinct Non-Interactive Argument of Knowledge) est une ZKP courte et vérifiable rapidement. Variantes : Groth16, PLONK, Halo. Utilisée par Citrea, ZeroSync.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.