# Preuve post-quantique

> Initiatives QL-01 et QL-02. Un engagement sur réseaux euclidiens à la place de celui à base de couplages, et un corps choisi pour lui correspondre, afin que le cœur de preuve ne repose plus sur des logarithmes discrets.

QL-01 · QL-02 Engagements sur réseaux euclidiens Changement de corps Statut : développement actif

## Ce qui casse, et où

Chaque hypothèse cryptographique sous-jacente à Apogee v1.0.0 fait intervenir BN254. Mercury et KZG sont solides sous q-DLOG dans le modèle du groupe algébrique; l’arbre de récursion replie des vérifications de couplage; le décideur est Groth16. L’algorithme de Shor résout le logarithme discret sur un ordinateur quantique de taille suffisante, et, avec lui, chacune de ces hypothèses. Le calcul du programme invité resterait ce qu’il était; la preuve qu’il s’est exécuté correctement ne voudrait plus rien dire.

C’est dans l’engagement que se concentre la dépendance. Chaque colonne de chaque shard est engagée avec lui, chaque ouverture se termine par son couplage, et la récursion existe pour replier ces couplages. Remplacez l’engagement, et le reste du cœur de preuve n’a plus rien qui dépende d’un logarithme discret.

## QL-01 · Engagements sur réseaux euclidiens

Un engagement sur réseau est une application linéaire, `t = A·s mod q`, appliquée à un vecteur `s` à petits coefficients. Il est liant tant que personne ne peut trouver un vecteur court que la matrice envoie sur zéro : c’est Module-SIS, la famille d’hypothèses qui sous-tend ML-DSA et ML-KEM, les normes post-quantiques du NIST, avec derrière elle des réductions au pire cas et des décennies de cryptanalyse.

Il conserve ce qui rendait KZG si utile à Apogee et que les engagements à base de hachage abandonnent : **il est homomorphe.** Les engagements de nombreux fragments se combinent sous des coefficients de défi, et la combinaison s’ouvre par un seul vecteur. Regrouper les colonnes d’un shard, différer des vérifications et les replier le long d’un arbre sont des opérations linéaires, et les opérations linéaires survivent à la transition. Les chemins de Merkle, eux, ne se combinent pas du tout.

Le prix à payer est une contrainte sans équivalent ailleurs : l’engagement ne lie que des vecteurs courts, chaque combinaison allonge le vecteur, et le prouveur doit montrer qu’il reste assez court. Les schémas des deux dernières années diffèrent surtout par la façon dont ils paient ce prix, et ils ont progressé vite. Pour des polynômes de `2^30` coefficients, les schémas Module-SIS publiés donnent des preuves d’évaluation de **53 à 72 KB**, et la vérification est passée de 2,8 secondes en 2024 à **8 à 16 millisecondes** en 2026. L’exposé [*Lattice-Based Polynomial Commitment Schemes*](https://www.gweb3networks.com/expositories/lattice-based-polynomial-commitments.html) les passe en revue schéma par schéma et met les chiffres en regard de ceux du côté à base de hachage.

## QL-02 · Changement de corps

Les schémas sur réseaux ne vivent pas dans le monde de BN254. Les principales constructions travaillent sur de petits modules premiers, avec des points d’évaluation tirés d’un corps d’extension pour préserver la solidité, ce qui convient à un système de preuve sur petit corps et ne convient pas à un système sur 254 bits. Le changement d’engagement entraîne donc celui du corps : la v2.0.0 **change le corps de l’arithmétisation**, en faisant passer chaque circuit du corps des scalaires de BN254 à un petit corps adapté à l’engagement.

Le changement se rentabilise de lui-même :

- **Chaque couche coûte moins cher.** Un prouveur GKR passe son temps en arithmétique de corps, et une multiplication dans un petit corps coûte une fraction de ce que coûte une multiplication dans un corps de 254 bits. L’économie centrale du moteur, le fait que les couches intermédiaires ne sont jamais engagées, se cumule avec une arithmétique moins coûteuse sur chaque couche qui reste.
- **Les engagements coûtent moins cher.** Engager une colonne de la trace revient à appliquer une application linéaire à de petits chiffres, payée par entrée non nulle, plutôt qu’à effectuer une multiplication multi-scalaire sur une courbe.
- **Le moteur est conservé.** GKR et le sumcheck sont définis sur n’importe quel corps. Les défis passent dans un corps d’extension; la passe arrière, le modèle en couches et les arguments construits dessus conservent leur structure.

Ce qu’il faut reconstruire, c’est tout ce qui supposait un grand corps : les valeurs au niveau du mot qui tiennent largement dans un seul élément de BN254, les arguments d’intervalle et les retenues dimensionnés en fonction d’un module de 254 bits, les chaînes de canonicité, et les cellules de corps du format de récursion. Chacun de ces éléments est redérivé pour le nouveau corps et spécifié comme l’ont été ceux de la v1.0.0, avec son propre oracle et ses jumeaux falsifiés.

## Règlement

Les précompilés de vérification d’Ethereum reposent aujourd’hui sur les couplages. La façon dont un cœur de preuve post-quantique effectue son règlement sur cette chaîne, et la part de l’étape finale qui peut reposer sur des réseaux, font partie du même programme de travail, et seront spécifiées avec le même soin que le cœur avant sa livraison.

Retour au [breffage de mission](https://apogee.gweb3networks.com/docs/quantum-leap).
