
Pasé algún tiempo investigando el cliente ligero Tendermint de Cosmos IBC Eureka en Ethereum. Me pregunté si las versiones más recientes de SP1 aún podrían funcionar con el verificador ya implementado sin requerir una actualización del contrato. Encontré algunas cosas interesantes. Recopilé los 4 ELF de producción oficiales y reproduje sus claves de verificación de programa exactas utilizando SP1 v6.1 y v6.9. Luego generé un testigo real de actualización de Cosmos Hub Tendermint y ejecuté el ELF de producción original con ambas versiones. Ambas ejecuciones pasaron y produjeron salidas públicas idénticas de 768 bytes, el mismo gas de ejecución y el mismo hash SHA-256. La parte más interesante: SP1 v6.1, v6.9 y v6.10 aún informan la versión del circuito v6.1.0. Comparé los binarios de clave de verificación Groth16 reales de v6.1 y v6.10. Son idénticos byte por byte. Su hash SHA-256 también coincide con el hash del verificador ya implementado en Ethereum: 0x4388a21c687fdd5f218d7e3d13190cac4c5355818d3605fd5fb811df468ee696 Entonces, al menos en el nivel de identidad del programa, ejecución y clave de verificación Groth16, la compatibilidad se mantiene entre estas versiones. Aún no he generado una prueba genuina utilizando el prover más reciente ni la he probado contra el verificador en vivo en Ethereum. Esa es la siguiente parte. Es interesante ver cuánto puede cambiar la pila de prueba mientras la interfaz de verificación permanece igual.

