UPLC Link vérifie les contrats Cardano par rapport au code publié

L’intégration de Cexplorer apporte la vérification du code source à la consultation des contrats, tandis que les enregistrements on-chain conservent les informations dont les développeurs et les auditeurs ont besoin pour répéter la vérification.

By SongMarketCap

Updated:

Cardano News - UPLC Link vérifie les contrats Cardano par rapport au code publié

UPLC Link permet aux utilisateurs de Cardano de vérifier si un contrat intelligent déployé correspond au code source publié pour ce contrat. La plateforme open source reconstruit les contrats et compare leurs empreintes cryptographiques. Via Cexplorer, les utilisateurs peuvent accéder au dépôt et aux informations de compilation associées au script qu’ils examinent.

Cexplorer relie les scripts Cardano à leur source

L’option “Verify Source” de Cexplorer relie l’inspection des contrats à UPLC Link, et donne accès au dépôt du code source, à la révision exacte du code, à la version du compilateur et aux paramètres du contrat.

Giovanni Gargiulo, architecte blockchain senior à la Cardano Foundation, a démontré le flux de travail pendant les Developers Office Hours le 25 septembre. Un compte rendu de la séance publié le 7 octobre a documenté l’intégration ainsi que les projets d’extension de la prise en charge des compilateurs.

L’outil comble l’écart entre la publication du code et l’identification de ce qui s’exécute on-chain. Un projet peut publier son code source et faire réaliser un audit, mais les utilisateurs ont encore besoin d’un moyen d’établir que le contrat déployé correspond à la version examinée.

Pour les applications qui gèrent ADA et d’autres actifs de Cardano, cela relie les règles disponibles à l’examen aux scripts qui régissent les échanges, les prêts ou les fonds verrouillés. La vérification du code source établit ce lien ; un audit de sécurité évalue le code pour détecter des vulnérabilités.

La reconstruction des contrats produit une correspondance vérifiable

Les contrats intelligents Cardano s’exécutent sous la forme d’Untyped Plutus Core compilé, ou UPLC. Leurs hachages de script identifient les programmes compilés sans révéler quelle révision du code source ou quels paramètres de compilation les ont produits.

UPLC Link part d’un commit GitHub précis et d’une version de compilateur. Il compile le code source, calcule les hachages de script obtenus et les compare aux identifiants on-chain attendus.

La plateforme gère aussi les contrats paramétrés, dont la forme finale dépend des valeurs fournies lors de la configuration. Les développeurs peuvent saisir ces valeurs via l’interface, y compris des références à d’autres scripts, puis recalculer le résultat.

L’obtention d’une correspondance exige le bon code source, le bon compilateur et les bons paramètres.

L’interface publique est actuellement étiquetée alpha et prend en charge les contrats Aiken. La présentation a décrit des travaux en vue de la prise en charge de Scalus, Plutarch et plu-ts, ainsi qu’une connexion prévue avec Blaster pour la vérification formelle automatisée des propriétés des contrats.

Ces extensions élargiraient la couverture de la plateforme au delà de son flux de travail actuel basé sur Aiken.

Les enregistrements on-chain permettent une vérification indépendante

CIP-0171 propose un format de métadonnées partagé pour consigner les informations nécessaires à la reproduction de la compilation d’un contrat Cardano. Il utilise l’étiquette de métadonnées de transaction 1984 pour identifier le dépôt source, la révision du code, le compilateur, l’environnement de compilation et les paramètres.

Le code source reste dans son dépôt, tandis que la blockchain conserve les instructions de compilation. Les auditeurs et les chercheurs peuvent publier des enregistrements indépendamment du déployeur initial, puis les tester en recompilant le code référencé et en vérifiant le hachage obtenu.

La spécification demeure une proposition dans le registre officiel des CIP. Son format s’adapte à plusieurs familles de compilateurs, chaque outil de vérification déterminant celles qu’il prend en charge.

UPLC Link propose déjà l’enregistrement par une transaction Cardano signée, avec les frais de réseau payés en ADA. Son backend indexe les enregistrements soumis pour leur découverte via le registre public. Le projet fournit aussi une API pour d’autres services et publie des instructions pour exécuter la plateforme en local.

Pour un contrat enregistré, les examinateurs peuvent partir de son adresse ou du hachage du script, récupérer les détails de compilation consignés et vérifier eux mêmes la connexion au code source. Les équipes applicatives peuvent fournir cet enregistrement reproductible en complément de leur code et de leurs rapports d’audit.