HAL vs Graph peut être considéré plus généralement comme : Lors de la modélisation de "l'informatique", utilisons-nous - l'Emballage Superficiel (l'écrire directement dans le langage hôte), ou - l'Emballage Profond (l'encoder en tant que structure de données) ? 🧵
De peu profond → profond, il y a plusieurs points de conception : 1. Mise en œuvre directe en Rust / C++ 2. DSL intégré dans le langage hôte 3. Un tout nouveau langage spécialisé Chaque étape échange commodité contre structure et analyzabilité.
Dans ZK, il ne suffit pas d'exécuter un calcul — nous devons également le traduire en contraintes. Ainsi, la plupart des systèmes de preuve penchent déjà vers (2) ou (3) : - Circom, PIL/PIL2 → langages de contraintes personnalisés + compilateurs - Plonky2 → chaque porte définit plusieurs fonctions sémantiques
Plonky3 va plus loin avec le trait AirBuilder : le même code peut évaluer des témoins, calculer des résidus de vérificateur et décharger des polynômes de contrainte. De nombreux zkVM (SP1, Hypercube, OpenVM) adoptent Plonky3 ; Zisk est basé sur PIL2. Cela montre une tendance claire vers des représentations de calcul profondes et semblables à des graphes.
1,82K