Move Gemini: come Sui e Aptos sfidano il panorama della blockchain

Introduzionedzione

Di recente, il mercato si è raffreddato in modo significativo, portando anche i veterani del settore a mettere in discussione lo scopo dell’industria. Vorrei condividere alcuni dei miei pensieri personali: Credo che molte delle grandi visioni del passato siano state “smentite” perché non sono mai state logicamente coerenti fin dall’inizio.

Le Dapp non finanziarie hanno spesso cercato di enfatizzare la decentralizzazione per nascondere il fatto che i prodotti stessi non erano abbastanza buoni. La realtà è che mi chiedono di non fidarmi di Google, Twitter e YouTube e di credere invece che i loro portafogli multi-firma e le loro configurazioni a server singolo siano sicuri.

Molte visioni non sono state smentite, ma non sono mai state messe veramente alla prova. Continuo a credere che, anche se la maggior parte delle visioni non sono grandiose, hanno un significato: forse hanno solo bisogno di una solida base per essere sostenute. Alla fine, è possibile offrire almeno una visione di decentralizzazione o di esperienza utente paragonabile a quella del Web2.

Proprio come TON e Solana sono stati un tempo sottovalutati, ma ora stanno recuperando terreno rispetto ai loro predecessori sotto molti aspetti. Le catene pubbliche che supportano le applicazioni hanno bisogno di innovazione, che in ogni ciclo guida il progresso dell’industria. Oggi esploreremo un tipo di catena pubblica che è stata a lungo trascurata: l’ecosistema Move.

1. Muoversi

Il linguaggio di programmazione Move è stato originariamente creato per il progetto abbandonato di Meta, Diem (inizialmente chiamato Libra), che mirava a sviluppare una stablecoin più stabile e regolamentata come base per la sua visione del metaverso.

Tuttavia, il progetto ha incontrato una forte opposizione e una continua pressione da parte delle autorità di regolamentazione mondiali. Questi temevano che la scala di Diem e la vasta base di utenti di Facebook potessero minacciare la stabilità finanziaria, la politica monetaria e la privacy dei dati. La leadership dell’amministrazione Biden nell’esercitare pressioni ha infine costretto Meta ad abbandonare il progetto Diem.

Fortunatamente, il nucleo di Diem non è stato scartato. Diverse fazioni divise dal team originale hanno continuato a esplorare e sviluppare Move, che si è evoluto nei gemelli Move che conosciamo oggi: Sui e Aptos. Inoltre, altri progetti come Linera (una blockchain basata su Rust e ispirata a Move) e il recente Movement sono ancora agli inizi.

Perché l’impatto residuo di un progetto interrotto è stato così significativo? Move, come linguaggio di programmazione per blockchain sviluppato da un’azienda leader nel settore Web2, ha una base solida. È stato progettato con l’obiettivo di risolvere i problemi di prestazioni e sicurezza prevalenti nei linguaggi blockchain esistenti, in particolare Solidity. I suoi obiettivi di progettazione erano quelli di creare un sistema di tipi su misura per la gestione delle risorse e il controllo degli accessi. Riassumo i punti chiave come segue:

  • Sicurezza: Il design di Move dà priorità alla sicurezza, utilizzando controlli statici dei tipi e la gestione delle risorse per prevenire vulnerabilità comuni come errori di overflow e attacchi di rientranza. Rispetto ad altre macchine virtuali per linguaggi, Move supporta diverse funzionalità di sicurezza, come illustrato dal confronto sottostante di Nansen.
  • Compostezza: Move supporta la modularità e la componibilità, consentendo agli sviluppatori di creare e combinare facilmente diversi contratti intelligenti per costruire applicazioni più complesse.
  • Prestazioni: la macchina virtuale di Move è ottimizzata (supporta l’elaborazione parallela, la gestione della memoria, le ottimizzazioni del compilatore) per eseguire in modo efficiente gli smart contract, migliorando la velocità e il throughput delle transazioni.

In un mercato saturo di catene EVM modulari, Move rappresenta un coraggioso tentativo di fare qualcosa di diverso. Potreste aver incontrato affermazioni simili nelle presentazioni di molti progetti di catene pubbliche, ma vi suggerisco di sperimentarlo in prima persona per capire veramente questi concetti.

2. Sui

2.1 Architettura

Essendo uno dei gemelli Move, Sui ha dovuto affrontare sin dall’inizio le critiche per i problemi legati ai meccanismi di airdrop e di rilascio dei token. Tuttavia, mettendo da parte questi problemi e concentrandosi esclusivamente sul progetto stesso, Sui ha dimostrato un’eccellenza sia nelle prestazioni che nell’esperienza utente, in particolare nel settore dei giochi.

Questo successo è strettamente legato alla sua architettura, che è stata specificamente migliorata per l’adozione mainstream. Ecco una breve panoramica delle innovazioni architettoniche di Sui:

  1. Modello di archiviazione a oggetti: Questo componente è il cuore delle migliorie apportate da Sui a Move. Il modello di archiviazione a oggetti memorizza i dati come singoli oggetti, ciascuno con un identificatore unico. A differenza dei sistemi di database tradizionali, il modello di archiviazione a oggetti non ha una struttura di dati fissa e può memorizzare vari tipi di dati, come testo, immagini, video e audio. Questo modello consente l’esecuzione parallela e la scalabilità orizzontale (aggiunta di nodi per espandere la capacità di archiviazione). Il progetto di Sui ruota attorno a questo modello.
  2. Ordinamento causale: assicura che le transazioni vengano eseguite in un ordine che rispetti le relazioni causali, evitando conflitti e inconsistenze dei dati. Ciò consente a Sui di gestire grandi volumi di transazioni simultanee mantenendo la coerenza dei dati.
  3. Motori di consenso Narwhal e Bullshark: Sui utilizza Narwhal e Bullshark come motori di consenso. Narwhal è responsabile dell’ordinamento e della convalida delle transazioni, mantenendo un pool locale di transazioni, ordinandole in base alle relazioni causali e trasmettendole. Bullshark, dopo aver ricevuto l’elenco delle transazioni ordinate da Narwhal, vota l’elenco utilizzando il consenso Byzantine Fault Tolerance (BFT) per garantire che tutti i nodi concordino sull’ordine delle transazioni.
  4. Sui Muovi: Sui estende il linguaggio Move aggiungendo nuove funzionalità, come il supporto per gli NFT, la gestione degli asset e l’archiviazione dei dati.
  5. Struttura Sui: Sui fornisce un framework completo per aiutare gli sviluppatori a costruire e distribuire rapidamente le applicazioni, compresi strumenti e librerie come Sui Wallet, Sui SDK e Sui CLI.

L’architettura di Sui consente di elaborare grandi volumi di transazioni simultanee mantenendo alta la velocità, basse le spese e la sicurezza. Il linguaggio Move e il framework Sui forniscono inoltre agli sviluppatori strumenti potenti per costruire applicazioni sicure, scalabili e facili da usare.

2.2 Consenso

La blockchain Sui utilizza un meccanismo di consenso chiamato Mysticeti, un consenso Byzantine Fault Tolerant (BFT) progettato per una bassa latenza e un elevato throughput.

Mysticeti consente a più validatori di proporre blocchi in parallelo, sfruttando appieno la larghezza di banda della rete e offrendo resistenza alla censura. Inoltre, il protocollo richiede solo tre cicli di messaggi per finalizzare un blocco dal Grafo Aciclico Diretto (DAG), corrispondendo al minimo teorico proprio come il pBFT.

Le regole di presentazione consentono la votazione in parallelo e la certificazione dei leader di blocco, riducendo ulteriormente la latenza mediana e di coda. Le regole di presentazione tollerano anche leader non disponibili senza aumentare significativamente la latenza.

Mysticeti ha funzionato sulla rete di test per tre mesi prima del lancio della mainnet Sui, mostrando risultati significativi come una riduzione dell’80% della latenza. Ora la rete Sui è in grado di elaborare decine di migliaia di transazioni al secondo, con una latenza end-to-end ben al di sotto del secondo.

La blockchain Sui impiega anche un tipo specifico di consenso Proof-of-Stake (PoS) chiamato Delegated Proof-of-Stake (DPoS). Quando si verifica una transazione che coinvolge oggetti condivisi (definita transazione complessa), Sui utilizza i già citati motori di consenso Narwhal e Bullshark per ordinare le transazioni. Rispetto ad altri meccanismi di consenso BFT, i vantaggi e gli svantaggi di Sui possono essere riassunti in sei punti:

Vantaggi:

  1. Bassa latenza ed elevato throughput: Il protocollo Mysticeti riduce significativamente la latenza del consenso e aumenta il throughput della rete grazie alla proposta di blocchi paralleli e al flusso di messaggi ottimizzato, consentendo a Sui di gestire decine di migliaia di transazioni al secondo con una latenza end-to-end ben al di sotto di un secondo.
  2. Resistenza alla censura: Il protocollo Mysticeti consente a più validatori di proporre blocchi in parallelo, migliorando la resistenza della rete alla censura.
  3. Tolleranza al fallimento del leader: Le regole di presentazione tollerano leader non disponibili senza aumentare significativamente la latenza, eleggendo automaticamente un nuovo leader che subentra quando il nodo leader si guasta.

Svantaggi:

  1. Complessità: Il design del protocollo Mysticeti è relativamente complesso e richiede una comprensione tecnica più approfondita per comprendere appieno i suoi meccanismi operativi.
  2. Sicurezza: Sebbene il protocollo Mysticeti si sia comportato bene nella rete di prova, la sua sicurezza deve essere ulteriormente convalidata nelle applicazioni reali.
  3. Scalabilità: La scalabilità del protocollo Mysticeti necessita di ulteriori osservazioni per garantire che possa adattarsi alla futura crescita delle dimensioni della rete e del volume delle transazioni.

2.3 Conti astratti

Il modello di conto astratto di Sui (Account Abstraction) è un meccanismo che consente agli utenti di gestire i propri conti e le proprie transazioni in modo più semplice e sicuro, astraendo la logica del conto e delle transazioni dal protocollo blockchain sottostante, ottenendo un livello superiore di gestione del conto e di elaborazione delle transazioni.

Nel modello astratto di account di Sui, gli account non sono più semplici coppie di chiavi pubbliche e private, ma oggetti con attributi e comportamenti più ricchi. Ogni account ha un identificatore unico, chiamato ID account, che è associato alla coppia di chiavi pubbliche e private dell’account.

Il modello di conto astratto di Sui comprende i seguenti componenti chiave:

  • Oggetto del conto: l’unità fondamentale dei conti in Sui. Ogni oggetto conto ha un ID unico e contiene gli attributi e i comportamenti del conto.
  • Dati del conto: componente centrale dell’oggetto account, contenente le informazioni di base dell’account, come l’ID dell’account e la coppia di chiavi pubblico-privato.
  • Contesto della transazione: l’unità di base delle transazioni in Sui, contenente le informazioni relative alla transazione, come l’ID della transazione, l’ID del conto e i dati della transazione.
  • Logica del conto: l’insieme dei comportamenti e delle regole dei conti in Sui, che definiscono come i conti gestiscono le transazioni e il loro stato.

Il processo di gestione delle transazioni nel modello di conto astratto di Sui prevede le seguenti fasi:

  1. Creazione di transazioni: gli utenti creano una transazione e la inviano alla rete Sui.
  2. Convalida delle transazioni: la rete Sui convalida la validità e l’integrità della transazione.
  3. Ricerca del conto: la rete Sui trova l’oggetto conto corrispondente in base all’ID conto della transazione.
  4. Esecuzione della logica del conto: la rete Sui esegue la logica del conto per elaborare la transazione e aggiornare lo stato del conto.
  5. Conferma della transazione: la rete Sui conferma il risultato della transazione e lo scrive sulla blockchain.

In parole povere, il modello di conto astratto di Sui è un meccanismo innovativo che semplifica la gestione dei conti e l’elaborazione delle transazioni, rendendo le applicazioni più simili alle applicazioni.

2.4 Giochi d’azzardo

Per distinguersi, una blockchain deve prima costruire una base solida. Prima ho definito l’ecosistema Move come un esperimento audace per due motivi principali.

In primo luogo, in un’epoca in cui il concetto di modularizzazione si sta diffondendo, gli ecosistemi Move nativi (in particolare i gemelli Move) rappresentano l’ultimo tentativo di soluzioni Layer 1, in controtendenza.

Tuttavia, la recente ascesa di diverse catene eterogenee potrebbe dimostrare che la modularizzazione non è l’unica risposta.

In secondo luogo, ricostruire una blockchain utilizzando un nuovo linguaggio di programmazione è come cercare di creare un nuovo sistema operativo per sfidare iOS e Android nell’attuale mercato degli smartphone: un percorso inevitabilmente pieno di sfide.

Se l’ecosistema Move brillerà come Solana nei prossimi anni dipende in modo significativo dalla direzione che sceglierà. La risposta di Sui a questa sfida è il gioco.

Il gioco è una delle chiavi di accesso al Web3, ma la maggior parte delle blockchain non supporta bene il gioco. Questo perché la tecnologia blockchain è stata originariamente progettata per applicazioni finanziarie e la sua architettura decentralizzata ha intrinsecamente prestazioni inferiori, che la rendono poco adatta al gioco.

Sui, tuttavia, è diverso. Il suo modello è adatto sia alle applicazioni DeFi sia a quelle non finanziarie, compresi i giochi. Come già detto, in Sui tutto è un oggetto. In Sui, gli oggetti possono possedere altri oggetti, il che rende possibile modellare complesse gerarchie di asset tipiche dei giochi o delle applicazioni.

Immaginate di giocare a un gioco in cui un personaggio eroe ha un inventario, che contiene altri beni digitali appartenenti al personaggio. Sui può modellare queste gerarchie di dati in modi che altre blockchain non possono fare. Ciò offre agli sviluppatori l’opportunità di creare applicazioni senza dover aggirare le limitazioni intrinseche della catena.

Inoltre, Sui sta collaborando attivamente con i giganti tradizionali del Web2. L’anno scorso Sui ha stretto partnership con tre dei quattro principali giganti del gioco sudcoreani (Netmarble, NHN e NCSoft). Quest’anno Sui ha stretto una partnership con TikTok per sviluppare giochi blockchain e progetti di SocialFi, portando i giganti tradizionali nello spazio Web3.

3. Aptos

Aptos, un’altra blockchain di livello 1 basata sul linguaggio Move, è anch’essa impegnata a costruire un’infrastruttura Web3 scalabile e ad alte prestazioni. Il suo design architettonico condivide molte somiglianze con Sui, ma introduce anche alcune caratteristiche uniche.

3.1 Architettura

  1. Design modulare: Aptos adotta un’architettura modulare che consente agli sviluppatori di sviluppare e aggiornare in modo indipendente diversi moduli, migliorando la velocità e la flessibilità di sviluppo.
  2. Motore di esecuzione parallela (Block-STM): A differenza di altre blockchain che richiedono dipendenze pre-dichiarate dei dati, il motore di esecuzione parallela di Aptos può elaborare le transazioni in parallelo senza conoscere in anticipo la posizione dei dati, aumentando così il throughput e riducendo la latenza.
  3. Elaborazione di transazioni in pipeline: Aptos divide l’elaborazione delle transazioni in più fasi, come la propagazione, l’ordinamento dei metadati e l’archiviazione dei batch, eseguendo queste fasi in parallelo attraverso il pipelining per massimizzare il throughput e minimizzare la latenza.
  4. Spostare il linguaggio di programmazione: Aptos utilizza il linguaggio di programmazione Move, concentrandosi sul perfezionamento piuttosto che sull’innovazione rispetto a Sui. Ad esempio, standardizza il linguaggio, introduce un supporto più robusto per le funzioni e migliora le capacità di personalizzazione.
  5. Sincronizzazione di stato flessibile: Consente ai nodi di scegliere diverse strategie di sincronizzazione dello stato, come la sincronizzazione dell’intera cronologia o solo dello stato più recente, migliorando la flessibilità del nodo.
  6. Meccanismo di consenso AptosBFT: AptosBFT è un meccanismo di consenso Byzantine Fault Tolerance utilizzato da Aptos. Ottimizza la comunicazione e la sincronizzazione tra i validatori per migliorare il throughput e ridurre la latenza. Rispetto a Sui, che può essere visto come una versione migliorata di DiemBFT, AptosBFT ha fatto alcuni progressi in termini di efficienza e di crash recovery, per cui verrà qui brevemente menzionato.

L’architettura di Aptos consente di gestire un gran numero di transazioni simultanee mantenendo alta la velocità, basse le commissioni e la sicurezza. Inoltre, il linguaggio Move e il framework Aptos forniscono agli sviluppatori strumenti potenti per costruire applicazioni sicure, scalabili e facili da usare.

3.2 Blocco-STM

Approfondiamo l’innovazione principale di Aptos, il motore di esecuzione parallela Block-STM:

Principi fondamentali di Block-STM:

  1. Esecuzione sequenziale predefinita: Block-STM si basa su una sequenza predefinita di transazioni all’interno di un blocco. Tutte le transazioni devono essere eseguite in questo ordine per garantire la coerenza dello stato finale.
  2. Controllo ottimistico della concorrenza: Block-STM esegue ottimisticamente le transazioni in parallelo, supponendo che non si verifichino conflitti. Questo metodo di controllo si basa sull’ipotesi che i conflitti siano rari, consentendo alle transazioni di accedere e modificare i dati senza blocco. Si ipotizza che la probabilità di conflitti simultanei sia bassa, quindi le modifiche possono procedere, con un controllo dei conflitti prima del commit finale.
  3. Struttura dati multi-versione: Per supportare il controllo ottimistico della concorrenza, Block-STM utilizza una struttura dati multi-versione per memorizzare i dati. Ogni operazione di scrittura crea una nuova versione dei dati, mentre le operazioni di lettura accedono alla versione corrispondente.
  4. Convalida e riprova: Dopo aver eseguito una transazione, Block-STM verifica se le versioni dei dati letti sono ancora valide. Se la convalida fallisce, indicando un conflitto, la transazione viene contrassegnata come non valida e rieseguita.
  5. Programmazione collaborativa: Block-STM impiega uno scheduler collaborativo per coordinare l’esecuzione e le attività di validazione dei vari thread, massimizzando il parallelismo.

Flusso di lavoro Block-STM:

  1. Raggruppamento di transazioni: Raggruppa le transazioni all’interno di un blocco e le assegna a diversi thread per l’esecuzione parallela.
  2. Esecuzione ottimistica: Ogni thread esegue in modo ottimistico le transazioni assegnategli e registra l’insieme di lettura/scrittura di ciascuna transazione.
  3. Convalida: Una volta completata una transazione, un thread verifica se le versioni dei dati nel suo set di lettura sono ancora valide.
  4. Riprova: Se la convalida fallisce, indicando un conflitto, la transazione viene contrassegnata come non valida e rieseguita.
  5. Impegnarsi: Dopo che tutte le transazioni hanno superato la convalida, i loro risultati vengono scritti nello stato della blockchain, completando il commit della transazione.

Vantaggi di Block-STM:

  1. Alta produttività: Sfruttando il controllo ottimistico della concorrenza e lo scheduling collaborativo, Block-STM sfrutta appieno i processori multi-core, raggiungendo un elevato throughput.
  2. Bassa latenza: Poiché le transazioni possono essere eseguite in parallelo, Block-STM riduce significativamente il tempo di conferma delle transazioni.
  3. Sicurezza: L’esecuzione sequenziale predefinita e i meccanismi di convalida di Block-STM garantiscono la coerenza e la sicurezza dello stato finale.

In sintesi, Block-STM è un efficiente motore di esecuzione parallela delle transazioni che combina il controllo ottimistico della concorrenza, le strutture dati multi-versione e la pianificazione collaborativa per massimizzare il throughput della blockchain, garantendo al contempo sicurezza e correttezza.

3.3 Astrazione del conto

A differenza dell’approccio più diretto di Sui all’astrazione dei conti, Aptos supporta una dimensione di astrazione più limitata e manca di standard specifici predefiniti. Le sue capacità di astrazione dei conti si manifestano principalmente nelle seguenti aree:

  1. Gestione modulare dei conti: Utilizza i moduli Move per definire e gestire gli account, consentendo agli sviluppatori di creare moduli personalizzati per diversi tipi di account e funzionalità.
  2. Gestione flessibile delle chiavi: Consente agli utenti di utilizzare chiavi diverse per operazioni diverse sull’account, ad esempio una chiave per la firma delle transazioni e un’altra per la gestione dell’account.
  3. Verifica delle transazioni programmabili: Gli sviluppatori possono definire una logica di verifica delle transazioni personalizzata nei moduli Move, come la multi-firma o i limiti, per soddisfare diversi scenari applicativi.

3.4 Collaborazione con Microsoft

Rispetto a Sui, che si concentra maggiormente sullo sviluppo di giochi, Aptos non ha un obiettivo di sviluppo specifico. Il suo slogan è quello di essere la blockchain più adatta alla produzione.

Un aspetto degno di nota è la collaborazione in corso tra Aptos e Microsoft, con l’obiettivo di integrare la tecnologia AI di Microsoft nella blockchain. Il loro primo prodotto collaborativo, Aptos Assistant, un assistente AI generativo costruito sulla rete Aptos, è già disponibile sul sito ufficiale. Altri prodotti AI saranno annunciati nei prossimi mesi.

4. L’ecosistema Move

Sebbene Sui abbia recentemente ottenuto buoni risultati, l’ecosistema Move ha ancora bisogno di tempo per maturare rispetto alle catene basate su EVM, Solana, Ton e altre catene eterogenee. Nonostante Sui e Aptos siano sotto i riflettori e abbiano fatto progressi tecnologici, la scala complessiva e l’attività dell’ecosistema Move non sono ancora all’altezza di altri ecosistemi maturi.

Il numero di sviluppatori, i tipi di applicazioni e la base di utenti hanno ancora bisogno di tempo per crescere. In termini di collaborazioni esterne e operazioni, sia Sui che Aptos mostrano una forte mentalità Web2, priva di alcune essenze Web3, che ha mantenuto i loro progetti relativamente poco visibili all’interno del settore.

Tuttavia, considerando il potenziale dell’ecosistema Move, esso è molto promettente. Alcuni sviluppatori stanno già riconoscendo il valore futuro di Move. Come accennato nella prefazione, ci sono già progetti che incorporano Move in soluzioni Ethereum Layer 2. In futuro, l’ecosistema Move potrebbe brillare all’interno dello spazio ETH Layer 2. Attualmente ci si concentra su come promuovere ulteriormente l’ecosistema Move.