Les preuves ne racontent qu’une partie de l’histoire. Les déplacer en toute sécurité peut compter autant, voire davantage.
Quand les gens parlent de systèmes vérifiables, la discussion se termine généralement une fois la preuve générée.
Je pensais la même chose.
Si une preuve zkTLS prouve un fait, alors la partie difficile doit déjà être terminée.
Après avoir lu plus attentivement l’exemple de zkTLS du protocole Newton, j’ai commencé à prêter attention à quelque chose de beaucoup moins évident : que se passe-t-il après la création de la preuve.
Il s’est avéré que c’était la décision de conception la plus intéressante.
L’exemple suit un flux simple.
Un navigateur interagit avec une extension TLSNotary pour générer une preuve cryptographique liée au nombre d’abonnés sur Twitter/X. La preuve est stockée, reçoit un CID, puis est soumise plus tard avec une tâche Newton, ainsi que l’intention de transaction et des paramètres de politique.
À première vue, cela ressemble à un pipeline de preuve standard.
Mais la documentation ne s’arrête pas là.
Au lieu de supposer que la preuve stockée est encore correcte, le SDK recalcule localement le CID à partir des octets de preuve d’origine après le stockage. Si le CID renvoyé ne correspond pas, le client la rejette.
Plus tard, lorsque la preuve est récupérée, le SDK vérifie que les octets renvoyés produisent toujours le CID attendu avant de permettre leur utilisation.
Même les algorithmes multihash non pris en charge sont rejetés avant toute comparaison d’octets.
Cela a modifié ma façon de voir l’architecture.
Newton ne se préoccupe pas uniquement de prouver des faits.
Il se préoccupe aussi de préserver ces faits lorsqu’ils traversent différentes frontières de systèmes.
Le navigateur, la passerelle, la couche de stockage, le moteur de politique et le workflow d’autorisation font tous partie du modèle de sécurité.
Cette distinction est importante car les preuves cryptographiques restent rarement exactement là où elles ont été créées.
Elles sont transmises.
Elles sont stockées.
Elles sont récupérées.
Elles transitent par des services qui peuvent être opérés par des parties différentes.
Une preuve valide lorsqu’elle quitte le navigateur n’est utile que si chaque étape ultérieure préserve son intégrité.
Le SDK de Newton considère ce déplacement comme quelque chose qui doit aussi être vérifié.
Un autre détail a renforcé cette idée.
La documentation précise que le stockage des preuves est censé passer d’IPFS à un backend PostgreSQL géré par une passerelle, tandis que l’interface publique de dépôt/retrait reste inchangée.
Pour moi, cela suggère que la technologie de stockage n’est pas l’ancre de confiance.
L’intégrité des preuves est.
Tant que le client peut vérifier indépendamment que les octets récupérés correspondent au CID attendu, l’implémentation sous-jacente du stockage devient bien moins importante que ce que beaucoup de personnes supposent.
Cette séparation semble significative.
De nombreux systèmes se concentrent sur l’endroit où les données sont stockées.
Newton semble se concentrer sur la question de savoir si les données sont restées cryptographiquement identiques tout au long de leur parcours.
Cela change aussi ma façon de penser l’autorisation.
les moteurs de politique ne peuvent prendre des décisions dignes de confiance que si les preuves qu’ils consomment sont elles-mêmes dignes de confiance au moment de l’évaluation.
Générer une preuve n’est donc que le début.
Maintenir son intégrité à travers les navigateurs, les passerelles, les systèmes de stockage et l’évaluation des politiques peut tout aussi important.
Plus j’ai examiné les détails d’implémentation, moins cela m’a semblé être une simple optimisation.
Cela donnait l’impression d’être un principe d’architecture.
La vraie frontière de confiance n’est peut-être pas là où les preuves sont créées.
Peut-être que c’est à chaque endroit où les preuves doivent traverser avant que l’autorisation ne se produise enfin.
Selon vous, quel est le problème le plus difficile pour les systèmes d’autorisation décentralisés qui génèrent des preuves dignes de confiance : générer ces preuves, ou préserver leur intégrité pendant qu’elles évoluent dans l’ensemble du workflow ?🤔

