🇮🇹 "Chi va piano va sano e va lontano: evoluzione della rete per la crescita"

:it: Traduzione italiana di “Slow and steady wins the race: network evolution for network growth - IOHK Blog” scritto nel blog IOG

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


Chi va piano va sano e va lontano: evoluzione della rete per la crescita

Dopo un inizio di successo dell’era dei contratti intelligenti di Cardano, presto faremo il primo di un programma di aggiustamenti della rete per sostenere la crescita futura

img

Fin dalla sua concezione, Cardano è stato progettato come una piattaforma per bilanciare al meglio i perenni compromessi di sicurezza, scalabilità e decentralizzazione. Pertanto abbiamo progettato e costruito un livello di rete solido e sicuro, ma con la flessibilità di crescere e scalare per supportare una base globale di milioni di utenti.

Con una rete proof of stake sicura e altamente decentralizzata ora saldamente stabilita, e la capacità di contratto intelligente di base distribuita, ci stiamo ora dirigendo verso la fase Basho, focalizzata sull’ottimizzazione, la scalabilità e la crescita della rete.

Come blockchain decentralizzata senza permessi, Cardano è aperta a chiunque voglia usarla o costruirci sopra. I recenti hard fork (che aggiungono token nativi e capacità di contratti intelligenti) hanno portato molti nuovi utenti nell’ecosistema Cardano, e abbiamo visto una rapida crescita (e picchi) nei volumi delle transazioni e nel traffico di rete.

Man mano che i componenti principali - compresi i connettori del portafoglio e il Plutus Application Backend (PAB) sono finalizzati e integrati nella rete principale, prevediamo una crescita significativa dell’attività di rete. Una costellazione di progetti basati su Cardano comincerà a essere lanciata, prima su testnet e poi su mainnet. Questi non faranno che aumentare, con potenzialmente centinaia di migliaia di nuovi utenti che entreranno in Cardano nei prossimi mesi, da tutti i lati dello spettro della blockchain.

Inevitabilmente, possiamo aspettarci un traffico significativo intorno al lancio di nuove applicazioni decentralizzate (DApps), soprattutto nei primi giorni e settimane. Per ospitare questa crescita continua, e garantire che Cardano mantenga la sua resilienza e robustezza, stiamo iniziando a fare una serie di aggiustamenti ai parametri di rete. Queste modifiche ai parametri forniranno continui miglioramenti e potenziamenti all’usabilità e all’esperienza di Cardano in tutta la sua gamma di utenti.

Architettato per la crescita

Ouroboros è progettato per gestire un grande volume di dati, nonché transazioni e script di diversa complessità e dimensione. Al momento, e con i parametri attuali, la rete Cardano sta utilizzando in media solo circa il 25% della sua capacità. Questo è sub-ottimale perché in effetti, lo scenario più efficiente è che Cardano funzioni al 100% della sua capacità o quasi (cioè, la rete è “satura”).

Mentre molte soluzioni di rete soffrirebbero in tali condizioni, sia Ouroboros che lo stack di rete di Cardano sono stati progettati per essere equi e altamente resilienti, anche in condizioni di forte saturazione.

I sistemi efficienti sono progettati per ridurre al minimo la congestione, pur consentendo una gestione efficace quando accade. Potete leggere di più in questo recente blog, ma in breve, la rete utilizza la backpressure per gestire il carico complessivo del sistema. Quindi, mentre alcuni utenti individuali durante un grande drop di NFT possono sperimentare tempi di attesa più lunghi per le loro transazioni, questo non significa che la rete sta “lottando”. In realtà significa che la rete sta funzionando come previsto. Lo chiamiamo ‘graceful degradation’ e potete studiarlo più a fondo nel documento sulla progettazione della rete.

Regolazione dei parametri

A parte il progetto architettonico originale e un benchmarking significativo in una serie di situazioni simulate, è solo nel mondo reale che possiamo veramente valutare la domanda e l’efficacia di qualsiasi cambiamento.

A seguito di un’ampia analisi comparativa e del feedback degli sviluppatori, stiamo iniziando a fare aggiustamenti graduali e oggi abbiamo presentato due modifiche iniziali, che dovrebbero entrare in vigore sulla rete di test giovedì 25 novembre. Una volta testate, prevediamo di applicarle successivamente alla rete principale, con effetto sull’epoca 306, mercoledì 1 dicembre 2021 alle 21:45:00 UTC.

Quindi cosa stiamo modificando?

Stiamo aumentando la dimensione dei blocchi di 8KB a 72KB (12,5% di aumento)

Ora ci sono ben oltre 2 milioni di portafogli Cardano in uso e il traffico è cresciuto di oltre 20 volte in un anno (da meno di 10.000 transazioni al giorno nel novembre 2020 a oltre 200.000 transazioni al giorno. A causa del previsto aumento del traffico come gli sviluppatori lanciano nuove DApps, la dimensione del blocco sta rapidamente diventando una considerazione chiave. Le dimensioni dei blocchi più grandi significano che più transazioni possono entrare in un blocco, fornendo così una maggiore capacità per gli utenti. Essere in grado di inserire il 12,5% in più di transazioni in un blocco è significativo, in quanto significa che stiamo elaborando più transazioni al secondo o sosteniamo - una metrica più utile - un maggiore throughput dei dati.

Stiamo adottando un approccio costante e metodico ai cambiamenti nella parametrizzazione di Cardano. Un aumento del 12,5% è considerevole, ma non troppo grande. Lascia spazio per un’ulteriore espansione e permette agli operatori del pool di stake (SPO) di adattarsi alle maggiori richieste. Adotteremo un approccio “lento e costante” per ulteriori modifiche alle dimensioni dei blocchi in modo da rendere la capacità di rete sottostante disponibile per gli utenti finali, assicurando al contempo che possiamo continuare ad operare con successo come una blockchain decentralizzata a livello globale. L’attuale generazione di Ouroboros (chiamata Praos) ha dei requisiti specifici che devono essere soddisfatti per assicurare che i suoi obiettivi di sicurezza siano raggiunti, uno dei parametri più importanti è il tempo di propagazione dei blocchi. Il tempo di propagazione del blocco è una misura di quanto tempo ci vuole per un blocco appena coniato per essere propagato attraverso i nodi della rete che rappresentano il 95% degli ada in stake. Affinché Praos rimanga sicuro, la rete deve propagare i nuovi blocchi entro 5 secondi.

Possiamo considerare questo limite di 5 secondi come un “budget” che possiamo “spendere” per cose come aumentare la dimensione del blocco. Cambiamenti come l’aumento della dimensione del blocco aumenteranno naturalmente il tempo necessario per propagare i blocchi, quindi dobbiamo monitorare attentamente per assicurarci che i cambiamenti che facciamo per aumentare le prestazioni non influenzino la sicurezza della rete. Nelle future iterazioni di Ouroboros questo budget sarà aumentato. Nel frattempo il nostro obiettivo sarà quello di mantenere la sicurezza mentre la rete si adatta alla crescente domanda.

Stiamo anche aumentando le unità di memoria dello script Plutus per transazione a 11,25 milioni (di nuovo, un aumento del 12,5%)

Questo è un cambiamento potente e sappiamo che gli sviluppatori di DApp apprezzeranno molto. Un aumento dei limiti di memoria di Plutus significa che possono sviluppare script Plutus più sofisticati, o che gli script esistenti saranno in grado di elaborare più elementi di dati, aumentare la concorrenza, o altrimenti espandere le loro capacità. Questo sarà il primo di una serie di cambiamenti alle impostazioni delle unità di memoria che miglioreranno notevolmente le capacità reali degli script Plutus. Come per le dimensioni dei blocchi, introdurremo i cambiamenti gradualmente, ma costantemente, in modo che la rete e gli SPO si adattino alla maggiore richiesta.

I cambiamenti descritti di seguito (aumento delle dimensioni dei blocchi e aumento delle unità di memoria degli script Plutus per transazione) sono stati richiesti da molti sviluppatori di app, per esempio. Entrambi questi cambiamenti vanno di pari passo. Non si tratta solo di creare script più complessi. Si tratta anche di far passare più dati.

Costante e sicuro

Man mano che la piattaforma Cardano si evolve, ogni cambiamento sarà attentamente considerato e, una volta intrapreso, successivamente monitorato per misurarne l’impatto sulle prestazioni. Tutti i cambiamenti saranno basati su dati empirici tratti dalla rete e basati sulla domanda reale e sostenuta degli utenti. Criticamente, è importante non prendere decisioni con un impatto a lungo termine intorno a picchi di utilizzo della rete a breve termine. Non faremo cambiamenti prematuramente o ad un ritmo che potrebbe potenzialmente compromettere la sicurezza a lungo termine di Cardano, per esempio.

Lo sviluppo di Cardano è basato sulla ricerca fondamentale e continua. Ulteriori miglioramenti della rete nel medio-lungo termine forniranno collettivamente miglioramenti sostanziali della capacità, così come la messa a punto della rete per fornire la migliore esperienza complessiva.

Mi unirò al Cardano360 di novembre per condividere ulteriori pensieri su questo. Ma in breve, si tratta di costruire una nuova e capace infrastruttura blockchain, costruita su tecnologie avanzate e fondamentalmente decentralizzate. Inizialmente, ci concentreremo su una serie di miglioramenti delle prestazioni che ci permetteranno di sfruttare i limiti del protocollo Ouroboros Praos. Ci concentreremo poi sull’ottimizzazione della dimensione degli script Plutus e sulle prestazioni sottostanti dell’interprete Plutus e delle implementazioni dei nodi Cardano. Questo ci permetterà di elaborare più lavoro utile all’interno degli stessi parametri di protocollo. Correlato a questo sarà l’uso di tecniche di compressione, per ridurre la dimensione degli script e delle transazioni, il che significa che più transazioni possono essere trasportate all’interno dello stesso blocco di dimensioni. Tutto questo (e altro ancora) migliorerà le prestazioni e la capacità del livello 1. Guardando al futuro, Hydra introdurrà poi una soluzione di livello 2, fornendo una scalabilità enormemente aumentata, permettendo agli utenti di fornire catene multiple che riutilizzano la stessa rappresentazione del libro mastro.

In conclusione

Cardano è, per così dire, un’entità vivente che cresce e si adatta ad ogni passo evolutivo. Può sembrare una contraddizione in termini, ma mentre le sue fondamenta sono formate da una ricerca fondamentale solida come la roccia, la flessibilità (per cambiare anche interi cambiamenti di protocollo attraverso l’hard fork combinator (HFC) è stata progettata fin dall’inizio.

I cambiamenti di parametrizzazione sono parte di questo processo di trasformazione. Mentre inevitabilmente ci saranno persone che vogliono muoversi più velocemente, la nostra attenzione rimarrà sulla costante e sicura evoluzione mentre Cardano cresce in portata e adozione.

Grazie a Duncan Coutts, Kevin Hammond e Fernando Sanchez per i loro contributi a questo articolo.