🇮🇹 "Panoramica della ricerca che consente il supporto dei contratti intelligenti su Cardano"

:it: Traduzione italiana di “Overview of the research enabling smart contract support on Cardano - IOHK Blog”

Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT :pray: entra nel nostro gruppo Telegram


Panoramica della ricerca che consente il supporto dei contratti intelligenti su Cardano

Uno sguardo più da vicino alla ricerca di Cardano, parte 2. Ecco di più sull’innovativo modello EUTXO di Cardano e su come facilita contratti intelligenti più efficienti

img

Nel nostro precedente post sul blog abbiamo discusso la ricerca alla base di alcuni degli elementi fondamentali di Cardano, tra cui lo staking, la delega e la condivisione delle ricompense. Questa volta illustriamo i documenti che hanno contribuito a creare una piattaforma di smart contract funzionale per lo sviluppo di applicazioni decentralizzate (DApp), grazie al modello di contabilitĂ  Extended Unspent Transaction Output (EUTXO).

UTXO vs modello basato su account

Bitcoin ed Ethereum sono tra le blockchain più popolari al giorno d’oggi. Utilizzano due modelli di contabilità piuttosto diversi per tracciare la distribuzione e la proprietà dei fondi degli utenti. Si tratta del modello Unspent Transaction Output (UTXO) di Bitcoin e del modello basato su account, utilizzato da Ethereum e da altre blockchain.

Il modello UTXO garantisce la sicurezza al centro delle attività finanziarie. Sebbene il modello semantico di UTXO rimanga semplice in un complesso ambiente di calcolo concorrente e distribuito, è piuttosto limitato nel suo supporto ai contratti intelligenti. Ethereum ha scelto esplicitamente il modello basato sugli account per facilitare contratti intelligenti più espressivi.

Per rispondere alla domanda se sia possibile avere contratti intelligenti espressivi mantenendo la semplicità semantica del modello UTXO, i ricercatori dello IOG hanno proposto le soluzioni “The Extended UTXO Model” e “Native Custom Tokens in the Extended UTXO Model”. Entrambi i documenti di ricerca sono stati pubblicati nel 2020 e descrivono completamente il modello EUTXO implementato su Cardano.

Manuel Chakravarty, scienziato Lambda e architetto Plutus presso Input Output Global, Inc. afferma:

Il modello di ledger UTXO, testato da Bitcoin, rimane il gold standard per la sicurezza e la scalabilitĂ . Abbiamo creato il modello Extended UTXO (EUTXO) per ottenere il livello di espressivitĂ  dei contratti intelligenti inaugurato da Ethereum, pur mantenendo la sicurezza e la scalabilitĂ  senza pari di UTXO. Volevamo semplicemente il meglio dei due mondi!

Il documento di ricerca “The Extended UTXO Model” dimostra la capacità di EUTXO di mantenere costantemente lo stato del contratto e di utilizzare lo stesso codice contrattuale per l’intera sequenza di transazioni. Un’altra potente caratteristica del modello EUTXO è che le tariffe richieste per una transazione valida possono essere previste con precisione prima di pubblicarla. Si tratta di una caratteristica unica, dovuta al design deterministico del modello EUTXO, che non si trova nei modelli basati sugli account.

Plutus

I contratti intelligenti sono la forza trainante dell’esecuzione delle transazioni su Cardano. Sono auto-esecutivi e non dipendono da terze parti.

Alla ACM SIGPLAN International Conference on Functional Programming (ICFP’19), Manuel Chakravarty ha discusso di blockchain funzionali e, in particolare, ha presentato Plutus come approccio funzionale ai contratti intelligenti:

Muoversi velocemente e rompere le cose non è il modo giusto per costruire una piattaforma blockchain. Le cose rotte non possono essere riparate facilmente. Per questo motivo, Plutus è stato costruito sulla solida base matematica della programmazione funzionale. Si tratta di una piattaforma di programmazione per contratti intelligenti, che include elementi come librerie Haskell per scrivere contratti intelligenti, un compilatore da Haskell al codice on-chain di Plutus Core e vari strumenti per assistere lo sviluppo.

La maggior parte delle piattaforme di programmazione blockchain dipende da un linguaggio personalizzato, come Solidity di Ethereum. Plutus è stato realizzato su Haskell. La scelta di Haskell ha permesso ai team di ricerca e di ingegneria dello IOG di riutilizzare l’infrastruttura, le librerie e gli strumenti Haskell esistenti, con un’esperienza consolidata di software ad alta sicurezza. Haskell facilita un codice conciso e riutilizzabile, semplificando al contempo il ragionamento informale, i test e l’uso di metodi formali per raggiungere il livello di sicurezza desiderato. I metodi formali, in quanto forma più rigorosa di ragionamento sulla correttezza del codice, sono di particolare interesse per gli smart contract di alto valore e sono ben supportati dal paradigma di programmazione funzionale.

I team di ricerca e di ingegneria dello IOG hanno realizzato contratti intelligenti Plutus basati su documenti come “The Extended UTXO Model”, “Native Custom Tokens in the Extended UTXO Model”, “Unraveling recursion: compiling an IR with recursion to System F” e “System F in Agda, for fun and profit”. Insieme, questi documenti stabiliscono il modello di libro mastro abilitato ai contratti intelligenti di Cardano e la rappresentazione on-chain del codice dei contratti come cosiddetti termini lambda. “System F in Agda, for fun and profit” include una definizione matematica rigorosa, verificata al computer con l’aiuto del teorema Agda.

Plutus è ora una piattaforma di programmazione vivente e in evoluzione per i contratti intelligenti su Cardano. Il team di formazione dello IOG ha anche lanciato il Plutus Pioneer Program per reclutare e formare sviluppatori in Plutus per l’ecosistema Cardano. Per saperne di più sul programma, cliccate qui.

Marlowe

Mentre Plutus è un linguaggio di programmazione di contratti intelligenti funzionali, Marlowe è una piattaforma basata sul web per costruire ed eseguire contratti intelligenti finanziari a basso costo in modo visivo, senza bisogno di conoscenze approfondite di programmazione. Questo strumento apre una serie di casi d’uso per i non programmatori per eseguire contratti semplici e ottimizzati per le transazioni finanziarie.

Il primo documento di ricerca che presenta Marlowe, “Marlowe: financial contracts on blockchain”, è stato pubblicato nel 2018. Questo documento esplora la progettazione di un linguaggio specifico per il dominio mirato all’esecuzione di contratti finanziari. Presenta una semantica eseguibile di Marlowe in Haskell, un esempio di Marlowe nella pratica e descrive lo strumento che consente agli utenti di interagire in-browser con simulazioni di contratti Marlowe.

Successivamente, nel 2020, il team di ricerca IOG ha pubblicato un documento su “Efficient static analysis of Marlowe contracts”, che presenta la sintesi del lavoro di ottimizzazione dell’analisi statica dei contratti Marlowe. “Marlowe: implementazione e analisi dei contratti finanziari su blockchain” descrive poi l’implementazione di Marlowe su Cardano e l’ambiente di sviluppo e simulazione basato sul web del Marlowe Playground. Il documento mostra inoltre che i contratti Marlowe possono essere analizzati in modo esaustivo prima di essere eseguiti, fornendo così forti garanzie ai partecipanti al contratto.

Marlowe è già disponibile per essere provato all’interno del Marlowe Playground, un ambiente sandbox basato su browser dove è possibile sviluppare, simulare e testare il processo di scrittura di contratti intelligenti. IOG si sta attualmente preparando per il lancio della testnet di Marlowe e utilizzerà il Marlowe Pioneers Program per raccogliere feedback e casi d’uso sulla suite di prodotti Marlowe. Il team ha recentemente consegnato lo strumento Marlowe CLI per consentire agli utenti di inviare transazioni e interagire con i contratti Marlowe utilizzando un’interfaccia a riga di comando. Una volta lanciati su mainnet, i contratti Marlowe apriranno una serie di funzionalità DeFi.

Ora che abbiamo discusso le caratteristiche del modello EUTXO di Cardano e il modo in cui facilita lo sviluppo di smart contract su Cardano, discuteremo ulteriormente la ricerca che ha permesso il supporto multi-asset. Restate sintonizzati per il prossimo post del blog!