Trascrizione in italiano di un estratto di “Surprise AMA 02/25/2023”.
Da 00:19:00 a 00:28:41 del video originale.
Pubblicato sul canale Youtube di Charles Hoskinson il 25 febbraio 2023
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 entra nel nostro gruppo Telegram
Plutus è troppo difficile, non funzionerà mai.
Bene, voi volete parlare di Plutus, volete fare la conversazione su Plutus, fanculo, facciamo la conversazione su Plutus, apro la mia lavagna qui, sta impostando la lavagna Microsoft, cambio lo sfondo, prendo una matita, una bella matita arcobaleno, miglioro la forma, formatto lo sfondo, metto una griglia, è bello, ok, parliamone, condividiamo lo schermo. Restate fermi, apriamo questa schifezza, eccoci qua. Ok, la domanda è “Plutus è troppo difficile”. Plutus malvagio, Plutus difficile, devi andare in un’altra lingua, ok. Nel lontano 2017, abbiamo avuto questa idea e l’ho scritta nell’articolo, l’ho chiamata Cardano SL, forse l’ho anche scritta in “Perché Cardano?”, nel 2016, non sono sicuro, è stato molto tempo fa, sto diventando vecchio e grasso. Cardano SL e ho anche introdotto il concetto di Cardano CL. Molto tempo fa quello che volevo fare era avere un sistema di regolamento, in qualche modo limitato, ultraveloce, sicuro, che fosse multi-asset. Abbiamo inventato un nuovo modello di contabilità, chiamato UTxO extended, e abbiamo anche creato lo standard di asset nativi di Cardano. Abbiamo fatto ricerche su due linguaggi di programmazione, uno era Plutus e l’altro Marlowe.
L’idea alla base dell’UTxO esteso era che questo ci dava la possibilità di andare off-chain, on-chain, in modo molto veloce e con buone proprietà di prova. Abbiamo anche pensato a cose come il determinismo e il parallelismo, volevamo che ci fosse un alto livello di cose da fare contemporaneamente. Gli asset nativi sono stati ispirati da Color Coins, un vecchio concetto di Bitcoin, e da Plutus e Marlowe. Marlowe l’ho sempre immaginato come il linguaggio di trasferimento degli asset, in pratica qualcosa che permette di spostare gli asset. Plutus era come un tessuto connettivo. L’idea è che Plutus permetta di costruire tutti i ponti per collegare sistemi molto più complicati ed espressivi, al secondo livello, la sidechain.
Ecco cosa è successo, andando avanti fino al 2023, abbiamo effettivamente imparato a rendere Plutus general purpose, e abbastanza espressivo da potersi adattare molto da vicino a EVM e Solidity. Frustrantemente vicino, ma ci sono ancora alcuni problemi qua e là. La situazione si è evoluta e ora è possibile costruire cose in Cardano che sarebbero equivalenti a quelle che si potrebbero costruire in Ethereum. Il fatto è che tutta l’innovazione sta avvenendo qui al secondo livello, guardate l’aggiornamento di Coinbase, Ethereum, guardate Polygon. Seba di dcSpark ha sottolineato molto accuratamente che è molto più eccitante da questo lato, perché le possibilità sono infinite. Quando si guarda al modello CL, qui si vuole avere una sorta di strato vincolante veloce che fornisca sicurezza a tutti, in modo che sia veloce. È qui che si fa la sperimentazione.
Una delle strategie che abbiamo esaminato, se si pensa a Plutus, è che Plutus, il linguaggio di superficie, assomiglia molto ad Haskell, Plutus Core, Omega system con qualche magia di Type. Quindi la superficie assomiglia molto ad Haskell e si compila in Core. Una delle cose a cui stavamo pensando era: “Possiamo ottimizzare Core e gli strumenti di compilazione, ma poi promuovere la creazione di ottime superfici linguistiche”. Quindi c’è Plutus Core e poi ci sono linguaggi come Aiken e Marlowe. Sono fondamentalmente costruiti per l’accessibilità degli sviluppatori o per domini personalizzati. Potrebbero essere guidati dalla comunità e finanziati attraverso programmi in affitto, oppure da piccoli team altamente incentivati. Il nucleo centrale potrebbe trovarsi nella sala macchine e lavorare fondamentalmente per rendere il tutto più efficiente.
Esiste un precedente per questo modello, che deriva da Java. Se guardiamo a Java, ai vecchi tempi era il linguaggio di superficie, tutti lo conoscevano e lo usavano. Al giorno d’oggi si è lavorato molto di più sulla macchina virtuale Java, e invece ci sono molti linguaggi che compilano su di essa, come Scala, Kotlin, Cloture, Julia, tutti questi linguaggi che compilano, hanno un grande ecosistema, fanno un sacco di cose. La JVM è in realtà come il back end, sono molto più facili da sviluppare e da usare rispetto a qualsiasi altra sintassi Java.
Potrebbe essere un modello superiore. Quello che volevo fare, tempo fa, è che ho sempre immaginato che sarebbe successo che avremmo costruito questo grande strato, e poi sul lato dei contratti intelligenti abbiamo questo concetto di isola, oceano e stagno. Abbiamo una cosa chiamata K-frame. Il concetto è che se avete la semantica formale di un linguaggio in K, attraverso un processo chiamato compilazione dello spazio semantico, K sarà in grado di costruire automaticamente tutti gli strumenti per collegare il vostro linguaggio a Core. Si otterrebbero anche metodi formali, eliminatori di errori, interpreti, in pratica tutto ciò che si vorrebbe in un framework. Abbiamo quindi investito milioni e milioni di dollari nell’esplorazione di questo aspetto, che è stato realizzato presso l’Università dell’Illinois, Urbana Champaign, da Gregory Rochu, abbiamo imparato molto, abbiamo persino creato qualcosa chiamato IELE, abbiamo persino pensato di distribuire IELE come una sidechain specifica con il modello Cardano SL. Ma non siamo mai riusciti a farlo funzionare a un livello che avesse senso per Cardano, in questa generazione, e questo mi rattrista, perché in realtà era l’approccio che preferivo, sentivo che avrebbe dato a tutti ciò che volevano, perché era così semplice, bastava fare la semantica K per qualsiasi linguaggio di programmazione e improvvisamente, automaticamente, supportava quel linguaggio.
Comunque, Marlowe si sta evolvendo abbastanza bene, il mese prossimo arriverà su mainnet. Plutus è alla sua seconda versione, la gente sta iniziando a lavorarci, gli strumenti stanno migliorando notevolmente, voi conoscete bene il modello di asset nativo e l’UTxO esteso. Stiamo iniziando a vedere molte cose positive dalla comunità costruita intorno a Core. Immagino che la superficie di Core diventerà, col tempo, l’impronta dei metodi formali, oltre all’infrastruttura di binding, che è ciò che volevamo davvero che fosse. Hydra, sidechain, contratti intelligenti, questo genere di cose. Poi, ciò che deve accadere è che dobbiamo avere questi linguaggi di superficie altamente accessibili, che piacciono agli sviluppatori, e farli supportare significa inserire delle sovvenzioni. Noi possiamo certamente fare qualcosa, l’MBO può fare qualcosa, Catalyst può continuare a fare qualcosa, la fondazione può fare qualcosa, la fondazione ha finanziato Aiken. Penso che questo sia il modo per arrivare al punto di partenza in termini di accessibilità per gli sviluppatori. Sono d’accordo sul fatto che Plutus possa essere troppo difficile per una classe di persone, soprattutto quando ha certe restrizioni, ma bisogna capire che ci sono delle ragioni filosofiche per cui le persone lo fanno, e tutto cambia molto rapidamente. Penso che stiamo iniziando a convergere verso un modello che funzioni per tutti, ci vorrà ancora un po’ di tempo.
Oh, ho appena fatto trapelare qualcosa, oops, credo che fosse su Cardano 360, questo è quello che mi hanno detto nella pianificazione, che i contratti della rete centrale possono essere eseguiti sulla rete centrale. Ecco perché cercano di non dirmi nulla, perché a volte faccio trapelare qualcosa.