La rete Cardano si prepara ancora una volta all'arrivo del hard fork Vasile. Si tratta di un aggiornamento che promette grandi cambiamenti che vi avvicineranno a un'infrastruttura smart contract con grande flessibilità per creare dApp ancora più potenti e dove la scalabilità della rete sarà così ampia da consentire il doppio della sua capacità attuale. Ma quali sorprese porta Vasil Cardano? Come migliorerà una delle grandi reti blockchain di oggi? Lo vedremo di seguito.
Vasil, un omaggio e una prevista ottimizzazione
En primo luogo, il nome della hard fork Vasil è stato scelto come tributo a un amico personale di Charles Hoskinson: Vasil Stoyanov Davov, che era un Cardano Global Ambassador, scomparso nel dicembre 2021. La scelta di Vasil come nome di questo hard fork rompe con la tradizione di utilizzare nomi di personalità storiche scientifiche, ma mostra anche la stima per Vasil, che ha promosso l'adozione di Cardano nel mondo.
Oltre a ciò, Vasil Cardano arriva con numerosi miglioramenti che cercano di fornire prestazioni ottimali alla rete al fine di fornire la capacità di servire il numero crescente di utenti che si collegano alla rete. Dall'attivazione degli smart contract e dall'arrivo di token, NFT e dApp a Cardano, l'utilizzo della rete si è moltiplicato.
Con questo in mente, gli sviluppatori di Cardano hanno lavorato per mantenere un ecosistema conveniente e altamente scalabile. In questo scenario, Vasil è un passo avanti in questo senso, che si svolge all'interno dell'era Goguen, l'attuale era dello sviluppo della rete, e che consente agli sviluppatori di iniziare a lavorare su Basho, la prossima era di Cardano, che promette di raddoppiare scalabilità on-chain e allo stesso tempo creare le infrastrutture necessarie per lateralizzare molte funzioni e capacità on-chain di Cardano, aumentandone ulteriormente la scalabilità.
Ora, esattamente di quali miglioramenti e ottimizzazioni stiamo parlando? Bene, vediamo tutte le novità che Vasil offrirà alla comunità che fa la vita a Cardano.
Miglioramenti nella diffusione delle informazioni sulla rete
Uno dei principali miglioramenti di Vasil riguarda il sistema di trasmissione delle transazioni e dei blocchi all'interno della rete. Una delle principali sfide delle reti blockchain è che man mano che le loro reti crescono e diventano più decentralizzate, finiscono per richiedere sempre più tempo per diffondere e propagare le informazioni a tutti i nodi della rete al fine di raggiungere il consenso. Durante questo periodo, non solo il consenso viene ritardato, ma allo stesso tempo si apre la porta per effettuare attacchi su di esso e può accadere che terze parti malintenzionate possano alterare e interrompere la rete temporaneamente o permanentemente.
Pertanto, la prima linea di difesa è avere tempi di diffusione delle informazioni brevi e rendere questo sistema molto efficiente. Ed è qualcosa in cui Vasil apporta grandi miglioramenti alla rete di Cardano. Ricordiamoci che la rete Cardano è cresciuta per dimensioni e utilizzo, che genera più informazioni da trasmettere e allo stesso tempo consuma banda. In questo modo è essenziale utilizzare questa risorsa limitata e, per migliorarne l'efficienza e la capacità, Vasil attiverà un miglioramento noto come «Diffusione Pipeling», un processo che aiuta la propagazione delle informazioni ad essere eseguita in modo molto più rapido ed efficiente, in modo che questo processo venga eseguito in un massimo di 5 secondi.
Per ottenere ciò, Diffusion Pipeling propaga i blocchi prima della loro completa validazione, “sovrapponendo” così il tempo impiegato per la diffusione con il tempo necessario per la validazione. In questo modo la diffusione diventa asincrona rispetto alla validazione, consentendo:
- Che i blocchi si propaghino velocemente ed entro i tempi di validazione.
- Che la rete riconosca il nuovo blocco e il suo blocco precedente, mantenendo la sicurezza e la corretta "catena di blocchi" in ogni momento, evitando attacchi DDoS o split-network che gli attori malintenzionati possono portare sulla rete.
Questo è perfetto se teniamo conto che il sistema Cardano per la sua comunicazione di rete si basa su due grandi sistemi:
- Un sistema derivato dal protocollo Gossip che consente l'uso efficiente delle risorse di rete. Questa parte è progettata su tecnologie come TCP, HTTP e tecniche come CBOR (puoi leggere di più nel RFC 7049 – Rappresentazione concisa di oggetti binari).
- Un insieme di mini-protocolli che lavorano insieme per svolgere le diverse attività di comunicazione nel modo più efficiente e che è responsabile della ricerca di peer, del mantenimento della comunicazione e di varie attività di sincronizzazione della rete.
Miglioramenti allo script di Plutus
Un altro grande miglioramento su Vasil può essere visto su Plutus, la piattaforma smart contract di Cardano. Con Vasil, gli sviluppatori potranno ora creare dApp più veloci ed efficienti, grazie all'ottimizzazione degli smart contract che arriveranno in Vasil, insieme alle primitive Plutus V2, che aiuteranno a sfruttare al meglio il modello EUTXO di Cardano.
PIC o Proposte di miglioramento di Cardano per Plutone
Tutti questi miglioramenti a Plutus si presentano sotto forma di Proposte di miglioramenti CIP o Cardano, che in spagnolo significa Proposta di Miglioramento per Cardano. Questi CIP sono documenti tecnici che spiegano in modo chiaro e dettagliato le motivazioni, gli obiettivi e le formulazioni di un miglioramento introdotto a Cardano, per far evolvere questo ecosistema.
Come i BIP (Proposte di miglioramenti Bitcoin) o EIP di (Proposta di miglioramenti di Ethereum), i CIP vengono discussi e sviluppati apertamente al fine di studiarne a fondo la portata, essendo approvati e implementati come parte del progetto ufficiale una volta che tutti sono stati rifiniti e ben testati. Gli sviluppatori mantengono tutte queste proposte accessibili al pubblico in questo sito web, in modo che possano partecipare sia al suo sviluppo, sia alla sua revisione e utilizzo per lo sviluppo di altre proposte o progetti.
In questo caso, Vasil presenta i seguenti IPC per migliorare Plutus:
- Aggiunta di voci di riferimento (CIP-31). Questo aggiornamento abilita la condivisione dei dati sulla catena. In precedenza, i dati venivano trasportati negli output delle transazioni; hanno archiviato e fornito l'accesso alle informazioni sulla blockchain. Tuttavia, per accedere alle informazioni di questi dati, l'output a cui erano allegati i dati doveva essere speso. Ciò ha richiesto la ricreazione di una sortita esaurita. L'aggiunta di voci di riferimento ora consente agli sviluppatori di interrogare i dati senza passaggi aggiuntivi. Ciò semplifica l'accesso alle informazioni memorizzate sulla blockchain senza la necessità di spendere e ricreare UTXO. Questo sarà utile per gli oracoli, per esempio.
- Aggiunta di dati in linea (CIP-32). I dati della transazione sono precollegati agli output come hash. Con l'implementazione dei dati in linea, gli sviluppatori possono ora creare script e allegare dati direttamente agli output invece di usarne gli hash. Ciò semplifica l'uso dei dati, poiché l'utente può vedere i dati effettivi invece di fornirli per corrispondere all'hash specificato.
- Implementazione dello script di riferimento (CIP-33). In Alonzo, quando si spende l'output bloccato all'interno di uno script Plutus, lo script doveva essere incluso nella transazione di spesa. Ciò ha aumentato le dimensioni dello script, causando anche alcuni ritardi nella sua elaborazione. L'aggiornamento degli script di riferimento consente agli sviluppatori di fare riferimento a uno script senza includerlo in ogni transazione. Ciò riduce significativamente le dimensioni della transazione, migliora le prestazioni e riduce i costi di esecuzione dello script (poiché lo script deve essere pagato solo una volta).
Miglioramenti alla crittografia
Inoltre, Vasil includerà anche miglioramenti alle primitive crittografiche di Cardano (consentendo più opzioni di interoperabilità per altri blockchain). Ad esempio, Vasil attiverà funzioni speciali che consentiranno l'utilizzo di ECDSA con la curva secp256k1 (la stessa configurazione utilizzata in Bitcoin) per la realizzazione di firme digitali all'interno degli smart contract di Plutus.
Allo stesso modo, anche il team di Cardano ha deciso di sfruttare un altro progresso fatto in Bitcoin per aggiungerlo al suo stack di criptovalute: Schnorr. Con l'arrivo di Schnorr a Cardano, la rete potrà beneficiare non solo di operazioni crittografiche più avanzate, sicure e ottimizzate, ma anche della capacità di comunicare attraverso bridge con reti come Bitcoin ed Ethereum senza complicare particolarmente la generazione di tali infrastruttura o richiede modifiche significative allo stack crittografico.
Miglioramenti nella gestione delle garanzie degli smart contract
Un altro grande miglioramento di Vasil riguarda il sistema di garanzia utilizzato in Plutus V2. Sotto CIP-40 noto come Script Assurance Adjustment, questo sistema non solo aiuterà a migliorare la convalida delle transazioni, ma affronterà un problema in corso con gli script Plutus V1.
In precedenza l'importo della garanzia era fissato al 150% della commissione di transazione e non veniva apportata alcuna modifica alla garanzia UTXO. Ciò significava che se uno script non superava la convalida della fase 2, un utente DApp avrebbe perso tutti i fondi archiviati nell'UTXO scelto come garanzia, un fatto inaccettabile.
Dopo Vasil, gli sviluppatori di DApp avranno la possibilità di specificare una direzione di cambiamento per il collaterale dello script. Se lo script non supera la convalida della fase 2, verrà prelevato solo l'importo della garanzia e i fondi rimanenti verranno inviati all'indirizzo di scambio.
Infine, Vasil ottimizza il processo della funzione casuale verificabile (VRF) di Ouroboros. Prima di Vasil, la convalida del blocco richiedeva due funzioni VRF su ciascun hop di rete. Vasil rinuncia a una di queste funzionalità, il che si traduce in una sincronizzazione della rete più rapida e tempi complessivi di convalida dei blocchi. Gli utenti sperimenteranno prestazioni migliorate senza compromettere le impostazioni di sicurezza.
L'incarico di Vasil
Nonostante tutto il lavoro messo in vasil cardano, l'hard fork non è ancora stato applicato sulla mainnet a causa di una serie di ritardi causati dalla necessità degli sviluppatori di ripulire tutti i punti necessari per evitare problemi nel suo deployment su di essa. Lo stesso Charles Hoskinson ha affermato che i ritardi sono stati per garantire un processo senza problemi e attualmente il software cardano-node nella sua versione 1.35.3 è già distribuito e pronto per essere quello che consente l'implementazione di Vasil all'interno della mainnet.
Nonostante la versione software sia pronta, non c'è ancora una data chiara per iniziare la distribuzione su mainnet e i test continuano su testnet, in modo da chiudere gli errori che bloccano il processo (bug blocker), che puoi rivedere in questo link.
In ogni caso, una volta risolti tutti questi problemi, avremo sicuramente la data finale dello schieramento di Vasil e ne godremo i vantaggi sulla mainnet di Cardano.