
Passé du temps à explorer le client léger Tendermint de Cosmos IBC Eureka sur Ethereum. Curieux de savoir si les versions plus récentes de SP1 pouvaient toujours fonctionner avec le vérificateur déjà déployé sans nécessiter une mise à jour du contrat. Découvert quelques éléments intéressants. Récupéré les 4 ELF de production officiels et reproduct leurs clés de vérification de programme exactes en utilisant SP1 v6.1 et v6.9. Ensuite, généré un témoin de mise à jour Tendermint Cosmos Hub réel et exécuté l'ELF de production original avec les deux versions. Les deux exécutions ont réussi et produit des sorties publiques identiques de 768 octets, le même gaz d'exécution et le même hachage SHA-256. La partie plus intéressante : SP1 v6.1, v6.9 et v6.10 signalent tous la version du circuit v6.1.0. Comparé les binaires de clé de vérification Groth16 réels de v6.1 et v6.10. Ils sont identiques octet pour octet. Leur hachage SHA-256 correspond également au hachage du vérificateur déjà déployé sur Ethereum : 0x4388a21c687fdd5f218d7e3d13190cac4c5355818d3605fd5fb811df468ee696 Ainsi, au niveau de l'identité du programme, de l'exécution et de la clé de vérification Groth16, la compatibilité est maintenue entre ces versions. N'ai pas encore généré une preuve réelle en utilisant le prover plus récent ni testé contre le vérificateur Ethereum en direct. C'est la prochaine étape. Intéressant de voir à quel point une grande partie de la pile de preuve peut changer tout en gardant la même interface de vérification.

