UPLC Link verifica che i contratti di Cardano corrispondano al codice pubblicato
L'integrazione con Cexplorer porta la verifica del codice sorgente nella consultazione dei contratti, mentre i record on-chain conservano i dettagli di cui sviluppatori e revisori hanno bisogno per ripetere la verifica.
By SongMarketCap
Updated:
UPLC Link consente agli utenti di Cardano di verificare se uno smart contract distribuito corrisponde al codice sorgente pubblicato per esso. La piattaforma open source ricostruisce i contratti e ne confronta le impronte crittografiche. Tramite Cexplorer, gli utenti possono accedere al repository e alle informazioni di build associate a uno script che stanno ispezionando.
Cexplorer collega gli script di Cardano al loro codice sorgente
L'opzione “Verify Source” di Cexplorer collega l'ispezione dei contratti a UPLC Link, fornendo accesso al repository del sorgente, alla revisione esatta del codice, alla versione del compilatore e ai parametri del contratto.
Giovanni Gargiulo, Senior Blockchain Architect presso la Cardano Foundation, ha mostrato il flusso di lavoro durante le Developers Office Hours il 25 settembre. Un riepilogo della sessione pubblicato il 7 ottobre ha documentato l'integrazione e i piani per ampliare il supporto ai compilatori.
Lo strumento colma un divario tra la pubblicazione del codice e l'identificazione di ciò che gira on-chain. Un progetto può rilasciare il proprio sorgente e commissionare un audit, ma gli utenti hanno comunque bisogno di un modo per stabilire che il contratto distribuito corrisponda alla versione revisionata.
Per le applicazioni che gestiscono ADA e altri asset di Cardano, ciò collega le regole disponibili per l'ispezione con gli script che governano swap, prestiti o fondi bloccati. La verifica del sorgente stabilisce tale collegamento, un audit di sicurezza valuta il codice per individuare vulnerabilità.
Ricostruire i contratti produce una corrispondenza verificabile
Gli smart contract di Cardano vengono eseguiti come Untyped Plutus Core compilato, o UPLC. I loro hash di script identificano i programmi compilati senza rivelare quale revisione del sorgente o quali impostazioni di build li abbiano generati.
UPLC Link parte da uno specifico commit GitHub e dalla versione del compilatore. Compila il sorgente, calcola gli hash di script risultanti e li confronta con gli identificatori on-chain attesi.
La piattaforma gestisce anche contratti parametrizzati, la cui forma finale dipende dai valori forniti durante la configurazione. Gli sviluppatori possono inserire tali valori tramite l'interfaccia, inclusi i riferimenti ad altri script, e ricalcolare il risultato.
La corrispondenza richiede il sorgente, il compilatore e i parametri corretti.
L'interfaccia pubblica è attualmente etichettata come alpha e supporta i contratti Aiken. La presentazione ha descritto il lavoro in corso verso il supporto per Scalus, Plutarch e plu-ts, insieme a un collegamento pianificato con Blaster per la verifica formale automatizzata delle proprietà dei contratti.
Queste estensioni amplierebbero la copertura della piattaforma oltre l'attuale flusso di lavoro Aiken.
I record on-chain supportano la verifica indipendente
CIP-0171 propone un formato di metadati condiviso per registrare le informazioni necessarie a riprodurre la build di un contratto Cardano. Utilizza l'etichetta 1984 dei metadati di transazione per identificare il repository del sorgente, la revisione del codice, il compilatore, l'ambiente di build e i parametri.
Il sorgente rimane nel proprio repository, mentre la blockchain conserva le istruzioni di build. I revisori e i ricercatori possono pubblicare record in modo indipendente dal deployer originale, quindi testarli ricompilando il codice di riferimento e verificando l'hash risultante.
La specifica rimane una proposta nel registro CIP ufficiale. Il suo formato accoglie diverse famiglie di compilatori, con ciascuno strumento di verifica che determina quali supporta.
UPLC Link offre già la registrazione tramite una transazione Cardano firmata, con la commissione di rete pagata in ADA. Il suo backend indicizza i record inviati per la consultazione tramite il registro pubblico. Il progetto fornisce anche un'API per altri servizi e pubblica istruzioni per eseguire la piattaforma in locale.
Per un contratto registrato, i revisori possono partire dal suo indirizzo o dall'hash dello script, recuperare i dettagli di build registrati e verificare direttamente il collegamento con il sorgente. I team applicativi possono fornire tale record riproducibile insieme al loro codice e ai report di audit.