UPLC Link verifica contratos de Cardano frente al código publicado
La integración de Cexplorer incorpora la verificación del código fuente a la exploración de contratos, mientras que los registros en cadena preservan los detalles que desarrolladores y auditores necesitan para repetir la comprobación.
By SongMarketCap
Updated:
UPLC Link permite a los usuarios de Cardano comprobar si un contrato inteligente desplegado coincide con el código fuente publicado para dicho contrato. La plataforma de código abierto reconstruye los contratos y compara sus huellas criptográficas. A través de Cexplorer, los usuarios pueden acceder al repositorio y a la información de compilación asociada con un script que están inspeccionando.
Cexplorer conecta los scripts de Cardano con su código fuente
La opción “Verify Source” de Cexplorer vincula la inspección de contratos con UPLC Link, proporcionando acceso al repositorio del código fuente, la revisión exacta del código, la versión del compilador y los parámetros del contrato.
Giovanni Gargiulo, Senior Blockchain Architect en la Cardano Foundation, demostró el flujo de trabajo durante Developers Office Hours el 25 de septiembre. Un resumen de la sesión publicado el 7 de octubre documentó la integración y los planes para ampliar el soporte de compiladores.
La herramienta aborda una brecha entre publicar el código e identificar qué se ejecuta en cadena. Un proyecto puede liberar su código fuente y encargar una auditoría, pero los usuarios aún necesitan una forma de establecer que el contrato desplegado corresponde a la versión revisada.
Para aplicaciones que gestionan ADA y otros activos de Cardano, esto conecta las reglas disponibles para inspección con los scripts que rigen intercambios, préstamos o fondos bloqueados. La verificación del código fuente establece esa conexión; una auditoría de seguridad evalúa el código en busca de vulnerabilidades.
Reconstruir contratos produce una coincidencia comprobable
Los contratos inteligentes de Cardano se ejecutan como Untyped Plutus Core compilado, o UPLC. Los hashes de los scripts identifican los programas compilados sin revelar qué revisión del código fuente o qué ajustes de compilación los produjeron.
UPLC Link parte de un commit específico de GitHub y de una versión del compilador. Compila el código fuente, calcula los hashes de los scripts resultantes y los compara con los identificadores en cadena esperados.
La plataforma también maneja contratos parametrizados, cuya forma final depende de los valores suministrados durante la configuración. Los desarrolladores pueden introducir esos valores a través de la interfaz, incluidas referencias a otros scripts, y recalcular el resultado.
Para que haya coincidencia se requieren el código fuente, el compilador y los parámetros correctos.
La interfaz pública está etiquetada actualmente como alfa y admite contratos en Aiken. La presentación describió el trabajo hacia el soporte de Scalus, Plutarch y plu-ts, junto con una conexión prevista con Blaster para la verificación formal automatizada de propiedades de contratos.
Estas extensiones ampliarían la cobertura de la plataforma más allá de su flujo de trabajo actual en Aiken.
Los registros en cadena permiten la verificación independiente
CIP-0171 propone un formato de metadatos compartido para registrar la información necesaria para reproducir la compilación de un contrato de Cardano. Utiliza la etiqueta 1984 de metadatos de transacción para identificar el repositorio del código fuente, la revisión del código, el compilador, el entorno de compilación y los parámetros.
El código fuente permanece en su repositorio, mientras que la cadena de bloques conserva las instrucciones de compilación. Los auditores e investigadores pueden publicar registros de forma independiente del desplegador original y luego probarlos reconstruyendo el código referenciado y comprobando el hash resultante.
La especificación sigue siendo una propuesta en el registro oficial de CIP. Su formato admite varias familias de compiladores, y cada herramienta de verificación determina cuáles admite.
UPLC Link ya ofrece el registro mediante una transacción de Cardano firmada, con la comisión de la red pagada en ADA. Su backend indexa los registros enviados para su descubrimiento a través del registro público. El proyecto también proporciona una API para otros servicios y publica instrucciones para ejecutar la plataforma localmente.
Para un contrato registrado, los revisores pueden partir de su dirección o del hash del script, recuperar los detalles de compilación registrados y comprobar por sí mismos la conexión con el código fuente. Los equipos de aplicaciones pueden proporcionar ese registro reproducible junto con su código e informes de auditoría.