Ethereum è una delle prime catene a supportare applicazioni decentralizzate (dApp), i cui backend applicativi sono basati su "contratti intelligenti" e dispongono di meccanismi di gestione degli eventi sulla catena. Per risolvere il trilemma della blockchain - scalabilità, decentralizzazione e sicurezza - sono emerse varie soluzioni Layer 2 (Layer 2, L2) e tecnologie di aggregazione. Queste soluzioni L2 elaborano le transazioni off-chain e utilizzano Ethereum come livello di disponibilità dei dati. Tuttavia, sebbene L2 miri a scalare Ethereum, non risolvono completamente il problema del ridimensionamento computazionale. La tecnologia di aggregazione, anche quando funziona fuori catena, si basa ancora sulla Ethereum Virtual Machine (EVM) per elaborare le transazioni, il che si traduce in tariffe del gas più elevate. Alcune sfide affrontate dalla maggior parte dei framework di aggregazione includono:
Risorse computazionali: le tecniche di aggregazione, in particolare l'aggregazione ottimistica, richiedono passaggi computazionali aggiuntivi per generare e verificare prove di correttezza. Ciò comporta l’esecuzione della stessa transazione fuori catena e quindi l’invio di una prova alla catena principale, aggiungendo oneri computazionali.
Gestione dello stato: mantenere la coerenza tra lo stato L2 e la catena principale di Ethereum richiede una grande quantità di risorse di calcolo. Ad esempio, gli zk-rollup devono generare prove a conoscenza zero, il che richiede molto risorse di calcolo.
Impegno sui dati: la tecnologia di aggregazione invia spesso dati (menzionati sopra come dati di chiamata) a Ethereum per garantire la disponibilità e la correttezza dei dati. Quando la catena principale è congestionata, questi commit possono diventare costosi e lenti, riducendo alcuni dei vantaggi derivanti dall'utilizzo di L2.
Cartesi è una soluzione rollup specifica per l'applicazione con il proprio runtime Linux che fornisce alle applicazioni decentralizzate tutta la potenza di calcolo di una macchina virtuale dedicata ed espande lo spazio di progettazione oltre Ethereum. Poiché sempre più soluzioni e dApp si spostano verso approcci modulari, i Cartesi Rollup possono essere implementati in ambienti di configurazione modulare: come soluzione di livello 2 sopra Ethereum, come soluzione di livello 2 come Arbitrum, Optimism, Base o ZK-EVM A tre soluzione di livello superiore alla catena o come rollup sovrano autonomo. Sfruttando Cartesi, gli sviluppatori possono anche utilizzare stack software e linguaggi di programmazione esistenti che non sono supportati da EVM, riducendo così l'attrito degli sviluppatori e fornendo un'esperienza utente che può essere supportata attraverso processi Web2 nativi.
Fonte: Cartesi Blog (https://cartesi.io/blog/application-specific-rollups/)
La decentralizzazione degli sviluppatori è reale
Sebbene l’ecosistema Ethereum sia considerato piuttosto ampio, secondo un rapporto di Statista, solo l’1,1% degli sviluppatori utilizza il linguaggio Solidity per scrivere codice, mentre il 51% degli sviluppatori utilizza ancora Python per creare applicazioni. Sulla base di questa differenza, si può dedurre che non solo è difficile avviare nuovi sviluppatori, ma è anche difficile per gli sviluppatori avanzati imparare un nuovo linguaggio di programmazione solo per i contratti intelligenti. In altre parole, lo spazio di progettazione dell’EVM è molto limitato quando si tratta di sviluppare effettivamente contratti intelligenti, soprattutto quando si utilizzano linguaggi come Solidity e Vyper, il che potrebbe non essere un buon incentivo per gli sviluppatori ad apprendere la blockchain. Non dimenticare che gli sviluppatori devono padroneggiare almeno un linguaggio di programmazione prima di acquisire le competenze per apprenderne un altro e lo sviluppo di dApp utilizza ancora librerie e framework come React che hanno una logica simile alle app Web2.
La soluzione migliore per gli sviluppatori non è un nuovo linguaggio ma lo sviluppo di applicazioni utilizzando uno stack di programmazione con cui hanno già familiarità e con cui sono bravi. Stiamo parlando di portare milioni di sviluppatori su Web3 e non dovrebbe essere compito dello sviluppatore dedicare tempo alla comprensione dei vari strumenti specifici per le applicazioni EVM. Cartesi fornisce un'ottima soluzione astraendo la barriera linguistica. Come sviluppatore, puoi comunque utilizzare linguaggi come Python, Rust, JavaScript, ecc. e integrare diverse librerie open source per creare applicazioni utente.
Comprendere i rollup cartesiani
Cartesi Rollups risolve un'esigenza chiave nello spazio blockchain fornendo un livello di esecuzione modulare che migliora notevolmente la scalabilità e le prestazioni delle applicazioni decentralizzate (dApp). Con Cartesi Rollups, ogni dApp funziona su una propria catena applicativa di rollup ad alte prestazioni, dotata di una CPU dedicata, garantendo che non vi sia concorrenza per le risorse all'interno dell'ecosistema Cartesi. Il progetto raggiunge una significativa scalabilità computazionale pur mantenendo la forte sicurezza della blockchain sottostante.
Cartesi Rollups utilizza un modello di rollup ottimistico che utilizza la prova di fallimento per gestire e risolvere le controversie, garantendo un'elaborazione affidabile ed efficiente. Il suo framework è costituito da due componenti principali: lo strato base sulla catena (come Ethereum dove risiedono i contratti dApp) e lo strato di esecuzione (dove Cartesi gestisce il calcolo fuori catena). Se vuoi saperne di più sull'architettura di Cartesi e su questi due componenti, puoi consultare la relativa documentazione (https://docs.cartesi.io/cartesi-rollups/1.3/core-concepts/architecture/).
Portare la potenza dell'open source nelle dApp con Cartesi
L’open source svolge un ruolo molto importante nel settore tecnologico. Linux è stato uno dei primi sistemi operativi veramente open source che ha portato un cambio di paradigma nel software commerciale. Linux è iniziato come progetto personale nel 1991 e si è gradualmente trasformato in una versione open source di UNIX liberamente distribuibile. Ha requisiti minimi di risorse e offre agli sviluppatori la libertà di creare diverse applicazioni in base alle loro esigenze. Linux è abbastanza "modulare" da essere distribuito in tutto l'ecosistema. Ad esempio, l'utilizzo del kernel Linux e la combinazione con pacchetti, framework e configurazioni consentono agli sviluppatori di generare nuovo software. Ubuntu è uno dei famosi sistemi operativi rilasciati nel 2004.
Attualmente, la maggior parte delle librerie esistenti si basa su un sistema operativo specifico, come MacOS o Linux. Le banche e gli istituti finanziari si affidano da tempo a sistemi operativi e linguaggi personalizzati come Java, C, COBOL, FORTRAN e assembly per creare software critico. Portare Linux nello sviluppo blockchain probabilmente guiderà l’innovazione nella DeFi, nei giochi e negli strumenti di sviluppo grazie alla sua flessibilità e sicurezza. Sono disponibili oltre 1.000 librerie su pypi.org create appositamente per gli sviluppatori blockchain che utilizzano il linguaggio Python.
Ecco alcuni algoritmi e compilatori interessanti che puoi utilizzare quando usi l'infrastruttura Cartesi e costruisci dApp:
Rustc (compilatore Rust): Rust sta diventando sempre più popolare nello sviluppo blockchain grazie alle sue funzionalità di sicurezza della memoria e concorrenza. Rustc è essenziale per compilare contratti intelligenti e altri componenti blockchain incentrati sulla sicurezza e sulle prestazioni.
Glasgow Haskell Compiler (GHC): Haskell è noto per il suo potente sistema di tipi e il paradigma di programmazione funzionale. GHC può essere utilizzato per lo sviluppo della blockchain per costruire contratti intelligenti e modelli finanziari matematicamente provati, come quelli di Cardano.
Utilizza algoritmi di compressione: i sistemi blockchain in genere gestiscono grandi quantità di dati, dai record delle transazioni al codice del contratto intelligente. Una compressione efficiente dei dati è fondamentale per ridurre i requisiti di archiviazione e migliorare le prestazioni della rete. Algoritmi di compressione come gzip, bzip2, xz e lz4 possono essere utilizzati per comprimere i dati blockchain prima di archiviarli su disco o trasmetterli in rete. La scelta di un algoritmo dipende dalle esigenze specifiche del tuo sistema blockchain: se la priorità è la velocità, l'utilizzo ridotto della RAM o il carico ridotto della CPU.
Utilizzo dei motori: Linux supporta anche una varietà di motori, utilizzati principalmente nel settore dei giochi, come FlaxEngine e Panda3D. Tuttavia, il motore Docker può essere utilizzato anche nelle applicazioni per eseguire contenitori per ottenere l'espansione a livello di applicazione.
Contributi open source di Linux: Linux ha anche dato importanti contributi rilasciando più librerie open source, come Hyperledger Fabric (un software di contabilità distribuita) e Hyperledger IROHA (una piattaforma scritta in C++ per le istituzioni finanziarie per la gestione delle risorse digitali). (https://www.hyperledger.org/projects/fabric)
Astrazioni per sviluppatori ed estensioni modulari di Cartesi
Fornire macchine virtuali (VM) dedicate per ciascuna applicazione aiuta gli sviluppatori a preoccuparsi meno degli strumenti e della scalabilità complessiva. La macchina Cartesi è una macchina virtuale progettata per gestire calcoli fuori catena per applicazioni blockchain. Le macchine Cartesi utilizzano l'architettura del set di istruzioni RISC-V (ISA), un set open source di istruzioni del processore. Funziona in modo indipendente e può essere riprodotto in modo coerente. Gli sviluppatori possono creare processori personalizzati per una varietà di applicazioni, dai progetti embedded ai supercomputer.
Esecuzione del codice: le macchine Cartesi eseguono codice in base a input specifici per eseguire calcoli, elaborare dati o eseguire logica personalizzata in base ai requisiti della missione.
Crea applicazioni reali: con il livello di astrazione dell'infrastruttura EVM, gli sviluppatori possono concentrarsi sulla creazione di dApp che sfruttano le risorse di elaborazione on demand.
Ampliare lo spazio di progettazione degli sviluppatori: nel mondo di Cartesi, gli sviluppatori possono utilizzare linguaggi come C++, Rust, Go, TypeScript o Python per creare applicazioni on-chain senza dover affrontare la complessità di contratti specifici.
Il modo migliore per iniziare con Cartesi è controllare la CLI di Cartesi (https://docs.cartesi.io/cartesi-rollups/1.3/quickstart/) o provare il corso Udemy di Cartesi (https://www.udemy.com /corso/ cartesi-masterclass/).
Come costruiscono gli sviluppatori con Cartesi?
L'ecosistema Cartesi è in costante crescita, con gli sviluppatori che creano in modo aggressivo potenti dApp sull'infrastruttura Web2 esistente. L'integrazione di Cartesi Rollups può migliorare le loro applicazioni, rendendole più focalizzate sull'utente e consentendo allo stesso tempo lo sviluppo utilizzando stack tecnologici diversi.
Nebula Duel (Rust): Rust è noto per le sue prestazioni e sicurezza, che lo rendono ideale per applicazioni blockchain complesse. Con Cartesi e Linux, Nebula Duel può sfruttare le funzionalità avanzate di Rust all'interno di un ambiente Linux familiare per fornire il controllo di basso livello necessario per dApp ad alte prestazioni. Senza Cartesi, integrare la potenza di Rust nelle blockchain sarebbe più complesso e limitato.
Turtlish (Python con Matplotlib): Matplotlib è una potente libreria di visualizzazione dati in Python. Cartesi e Linux consentono a Turtlish di eseguire Matplotlib in modo nativo, consentendo alle applicazioni decentralizzate di eseguire analisi grafiche complesse. Senza Cartesi, ottenere una visualizzazione così avanzata direttamente on-chain sarebbe quasi impossibile.
Comet (JavaScript/TypeScript): JavaScript è essenziale per lo sviluppo e l'implementazione rapidi della logica aziendale e le librerie come viem consentono una perfetta integrazione Web3. Cartesi e Linux consentono a Comet di utilizzare questi strumenti in un ambiente potente e scalabile, consentendo agli sviluppatori di portare le dApp sul mercato più velocemente. Senza Cartesi, gli sviluppatori avrebbero difficoltà a raggiungere la stessa efficienza e integrazione nello spazio blockchain.
OnChess (TypeScript): TypeScript combina la digitazione statica con la flessibilità di JavaScript. Cartesi e Linux consentono a OnChess di sfruttare appieno TypeScript in un ambiente decentralizzato, garantendo l'affidabilità e la manutenibilità dei contratti intelligenti. Senza Cartesi, sfruttare efficacemente TypeScript nella blockchain sarebbe molto più difficile.
DeVolt (Go): Go è noto per le sue capacità di concorrenza ed efficienza, che lo rendono ideale per le dApp che richiedono prestazioni elevate. Cartesi e Linux consentono a DeVolt di eseguire le applicazioni Go in modo nativo, sfruttando appieno le funzionalità di Go in un ambiente sicuro e scalabile. Senza Cartesi, le limitazioni degli ambienti blockchain esistenti ostacoleranno il pieno utilizzo di Go nelle applicazioni decentralizzate.
Se stai costruendo con Cartesi, puoi richiedere di mostrare il tuo progetto. (https://forms.gle/bAySRe16nQTXnnnW6)
Insomma
Web3 mira a essere una versione decentralizzata dell'attuale tecnologia Internet o Web2, offrendo agli utenti il controllo e la proprietà dei propri dati fin dall'inizio. Gli sviluppatori si fidano da tempo della natura open source di Linux e apprezzano la libertà e la flessibilità che offre. Linux fornisce una vasta gamma di strumenti, librerie e un ambiente di sviluppo maturo, migliorando le capacità delle applicazioni decentralizzate.
Cartesi offre agli sviluppatori l'opportunità di sfruttare queste funzionalità di Linux direttamente in un ambiente blockchain, rompendo i vincoli dello spazio di progettazione EVM. Con elementi modulari che consentono agli sviluppatori di scegliere il linguaggio di programmazione e lo stack tecnologico preferiti, Cartesi sta attirando più sviluppatori e accelerando la crescita dell'innovazione nello spazio Web3.
A proposito di Cartesi
Cartesi è un protocollo rollup specifico per l'applicazione con macchine virtuali che eseguono distribuzioni Linux, creando uno spazio di progettazione più ricco e ampio per gli sviluppatori DApp.
I Cartesi Rollup forniscono soluzioni di scalabilità modulare che possono essere implementate come rollup L2, L3 o sovrani mantenendo solide garanzie di sicurezza del livello base.
Disclaimer
Questo articolo è solo a scopo di riferimento generale e di condivisione delle informazioni e non costituisce una consulenza legale, finanziaria o di investimento. L'accuratezza e la completezza di queste informazioni non sono garantite e non devono essere considerate consigli per alcuna situazione particolare. I lettori dovrebbero condurre le proprie ricerche e consultazioni indipendenti prima di prendere qualsiasi decisione. L'autore e le autorità competenti non si assumono alcuna responsabilità per eventuali perdite o danni derivanti dall'affidamento su queste informazioni. Prima di prendere qualsiasi decisione finanziaria o di investimento, è fortemente consigliato consultare un professionista per una consulenza personalizzata.
La criptovaluta è un prodotto di investimento ad alto rischio Prima di prendere una decisione di investimento, consultare le agenzie di regolamentazione competenti per verificare se esiste il rischio di perdita dell'investimento.