Il progetto Solana Network è un progetto tecnologico blockchain focalizzato sull’offerta di funzionalità avanzate per le dApp e un throughput di rete ad alta velocità per far fronte alle applicazioni ad alta concorrenza.
Solana è un progetto open source altamente funzionale che punta sulla natura priva di autorizzazioni della tecnologia blockchain per fornire soluzioni di finanza decentralizzata (DeFi).
Solana Network si pone come uno dei concorrenti più seri di Ethereum 2.0, la prossima versione di Ethereum, con l’eccezione che Solana è già un progetto perfettamente fruibile.
Il protocollo Solana è progettato per facilitare la creazione di app decentralizzate (DApp). Mira a migliorare la scalabilità introducendo un consenso proof-of-history (PoH) combinato con il consenso sottostante proof-of-stake (PoS) della blockchain.
L’origine di Solana inizia grazie al lavoro di Anatoly Yakovenko uno sviluppatore di software con una vasta esperienza nello sviluppo di sistemi operativi in Qualcomm, dove ha rapidamente scalato i ranghi e nel 2015 è diventato senior staff engineer manager. Successivamente, il suo percorso professionale è cambiato e Yakovenko è entrato in una nuova posizione come ingegnere del software in Dropbox.
Yakovenko, iniziò ad interessarsi alle capacità della tecnologia blockchain e, soprattutto, ai protocolli di consenso con cui aveva già avuto esperienza in Mesosfera.
Da questo interesse iniziale naque, nel 2018, il white paper di Proof of History (PoH) o Test of History. Proof of History è un protocollo di consenso che utilizza il tempo per creare un sistema di hashing sicuro per una blockchain. Questo sistema funziona sulla base delle VDF o Verifiable Delay Functions, un tipo di funzione molto speciale che consente questo tipo di costruzione, in cui il tempo segna inevitabilmente che una transazione è avvenuta in una sequenza particolare di creazione, trasmissione e verifica della stessa. Tale sistema permette la realizzazione di reti molto sicure ma, soprattutto, veloci e molto efficienti a livello di consumo di risorse computazionali ed energia.
Poco dopo aver presentato questo lavoro, Yakovenko iniziò a lavorare con Greg Fitzgerald, per portare la sua idea sulla PoH ad una realtà tangibile all’interno di una blockchain. Il progetto era inizialmente noto come Loom ma, poco dopo, mutò nome in Solana, nome che sarebbe poi stato utilizzato per la registrazione della società Solana Labs, nel marzo 2018.
Fino a quel momento, Yakovenko e Fitzgerald continuarono a lavorare su una prima implementazione di PoH sulla blockchain ma, il 19 luglio 2018 il loro lavoro diede i suoi frutti. Quel giorno fu messa in esecuzione una prima versione di Solana con 50 nodi in funzione e con la quale raggiunsero l’invidiabile velocità di 65.000 transazioni al secondo. Era l’inizio di una nuova tecnologia che aveva tutti i presupposti per consegnare al passato il problema della scalabilità della blockchain.
Il lavoro di Yakovenko continuò fino a quando, nel febbraio 2020, venne lanciata dalla Fondazione Solana con sede a Ginevra la prima beta della rete, nota come SOL Testnet Tour, che era una testnet completamente funzionante della rete Solana. Nel marzo 2020 venne lanciata la mainnet beta (in realtà una testnet con funzioni più avanzate), con supporto base agli smart contract e praticamente tutte le funzionalità della rete ad eccezione del sistema di inflazione e ricompensa per i validatori.
Questa decisione è stata presa per testare le funzioni iniziali della rete in condizioni il più vicine alla produzione. Un hard fork ha attivato sia il sistema di gonfiaggio della rete che il resto delle funzioni del sistema dalla fine del 2021.
Solana è conosciuta nello spazio delle criptovalute per i tempi di elaborazione incredibilmente brevi offerti dalla blockchain. Il protocollo di consenso di Solana Proof of History (PoH) è essenziale per Solana, poiché questo protocollo è ciò che fornisce la capacità di elaborare operazioni ad alta velocità e in totale sicurezza. Proof of History, è un protocollo di consenso di tipo Proof of Stake (PoS) il cui funzionamento dipende dall’uso del tempo e da un tipo di funzione nota come VDF o Verifiable Delay Function.
Affinché un validatore PoH possa funzionare sulla rete, deve eseguire un certo Staking che assegna potere di voto all’interno della rete, ma il processo di generazione e convalida utilizza VDF come ulteriore mezzo di sicurezza, contrariamente alla semplice lotteria che di solito si vede nella maggior parte degli algoritmi PoS.
In questo senso, VDF PoH funziona in due modi:
Questi due punti consentono ai VDF all’interno di PoH di essere molto sicuri e, inoltre, molto veloci nella sua esecuzione.
Il protocollo Solana ha lo scopo di servire sia utenti di piccole dimensioni che clienti aziendali allo stesso modo. Solana promette inoltre ai clienti che non saranno soggetti ad un aumento delle commissioni e delle tasse. Il protocollo è progettato in modo da avere bassi costi di transazione garantendo comunque scalabilità e rapidità di elaborazione.
Supponiamo che Anna voglia inviare una transazione (TX) a Giovanni per pagare un servizio di consulenza. Anna invia al TX, in una data e ora specifica, i dati che sono inclusi nei metadati di detto TX. La rete Solana prende quel TX e inizia la sua elaborazione, tuttavia, nell’intera rete ci sono centinaia e persino migliaia di operazioni, ognuna con un’ora e una data di creazione specifiche. Ciò che Solana fa con PoH è prendere ciascuno di questi TX e creare una cronologia, ordinandoli nel modo più esatto possibile.
Qui le differenze di 0,1 secondi, possono metterti in vantaggio o in ritardo rispetto a molte altre transazioni all’interno della rete. Questo è fondamentale perché impedisce ad Anna di raddoppiare la spesa ad esempio spostando denaro che temporaneamente non è di sua proprietà. A questo punto, quando la rete ordina i TX per il suo blocco successivo, i validatori applicano in parallelo una serie di funzioni VDF per contrassegnare detto blocco e iniziare con la generazione del blocco successivo.
Quest’altro punto è fondamentale, perché la generazione temporanea del primo blocco e la sua marcatura saranno essenziali per creare la relazione crittografica con il secondo. In ogni caso, i VDF hanno il compito di verificare i timestamp TX, creando un hash univoco per quel blocco insieme al proprio timestamp, e creando non solo una cronologia nelle transazioni del blocco, ma anche un ordine temporale con i propri blocchi del blockchain.
Il TX e i blocchi sono organizzati temporalmente, al punto che le differenze temporali tra loro non superano 1 secondo, permettendo di leggere la blockchain di Solana come una linea temporale continua secondo per secondo che viene registrata ed è inalterabile. In tutto questo, il TX di Anna è convalidato e Giovanni riceve i suoi soldi. L’intero processo all’interno di Solana ha richiesto appena una media di un secondo per essere completato.
Il tempo di produzione dei blocchi della rete Solana è di gran lunga uno dei più veloci esistenti: è di soli 400 millisecondi. Ciò significa che Solana è in grado di generare due blocchi al secondo, con un po’ di tempo per costruire un terzo blocco.
L’altissima velocità di Proof of History e dei suoi VDF crea due problemi.
Trasmettere informazioni in rete in modo ottimale è difficile. Si tratta di un problema con cui molti progetti blockchain hanno lottato per molto tempo. È il noto problema della larghezza di banda, ed è facile da capire, perché più grande è la rete, più informazioni devono passare attraverso di essa, poiché tutti i nodi devono essere sincronizzati. Abbiamo un numero elevato di spedizioni di transazioni, di conseguenza i blocchi si moltiplicheranno e conterranno più informazioni. Una situazione insostenibile e a rischio di interruzione della rete, soprattutto nei luoghi in cui la larghezza di banda è limitata. Quindi, idee come l’allargamento dei blocchi in Bitcoin non sono ben accolte e cose come quelle che hanno fatto BCH e BSV sono considerate da molti come una minaccia di centralizzazione o una vera e propria follia.
L’accuratezza temporale può creare discrepanze tra i diversi nodi. Si tratta di un problema per cui anche Satoshi Nakamoto ha dovuto barare, perché nello stesso Bitcoin viene utilizzato un sistema temporale abbastanza preciso, i suoi nodi non hanno davvero la stessa sincronizzazione. Ci sono piccole variazioni, delta che possono essere considerati impercettibili entro 10 minuti dalla convalida dei nodi Bitcoin. Tuttavia, ciò per Solana è impensabile, perché il suo tempo di convalida di 400 ms lo rende irrealizzabile.
Quindi, Solana applica a entrambi i problemi diverse soluzioni che di seguito affrontiamo.
Turbine è il nome con cui è noto il sistema di propagazione dei dati di Solana Network. Questo protocollo è un derivato del protocollo Gossip e il suo compito è fornire le informazioni ai nodi che fanno parte della rete. Il funzionamento di Turbine è abbastanza semplice perché quello che fa è sezionare le informazioni dai blocchi, in modo che possano essere inviate a tutti i nodi molto più velocemente.
Turbine si assicura che vengano inviati prima i metadati del blocco e poi le informazioni interne del blocco. Questo rende la trasmissione più veloce perché, ai fini della verifica, tutto ciò che è importante è all’interno dei metadati. In questo modo Turbine riesce a portare le informazioni di rete a tutti i suoi nodi in modo ottimale analogamente a ciò che fa attualmente la rete Bitcoin con i suoi blocchi compatti.
GulfStream è il nome del protocollo responsabile dell’archiviazione e della priorità delle transazioni sulla rete Solana. Fondamentalmente GulfStream è un mempool avanzato responsabile della trasmissione delle transazioni ai validatori per facilitare il loro ordine e la loro verifica.
Solana è una rete con funzionamento parallelo. Cioè, i suoi validatori sono in grado di lavorare sulla validazione di un blocco e, allo stesso tempo, preparare la strada per il successivo. Per raggiungere questo obiettivo, GulfStream orchestra la consegna delle transazioni in modo da mantenere questa operazione parallela e, allo stesso tempo, mantiene la tempistica necessaria per mantenere la timeline di validazione del sistema. In poche parole, GulfStream è un protocollo deterministico di archiviazione a blocchi, ordinazione e parallelizzazione ed è responsabile di gran parte del processo di convalida delle transazioni.
GulfStream assicura inoltre che i validatori di un blocco sincronizzino i loro orologi per mantenere la temporalità della rete. Quando quel blocco viene creato, sincronizza il successivo quorum di convalida con l’ora del blocco precedente e corrente, mantenendo così la sincronizzazione temporale della rete in ogni momento.
Solana Network è in grado di distribuire contratti intelligenti e dApp. Questo è proprio il suo obiettivo principale, poiché è una rete costruita per eseguire applicazioni decentralizzate di uso di massa. Tuttavia, Solana non ha seguito il percorso che molti progetti hanno seguito in tal senso e che sono compatibili con Ethereum e poco altro. Solana ha invece creato un’infrastruttura completamente nuova per offrire contratti intelligenti con capacità uniche sulla sua rete.
Innanzitutto, i contratti intelligenti Solana possono essere scritti in due lingue popolari come C e Rust. Entrambi sono noti linguaggi di programmazione generici, hanno ampie librerie di sviluppo e una velocità che molti altri linguaggi difficilmente riescono a raggiungere.
Tuttavia, il motivo principale per la scelta di questi linguaggi è ottenere la parallelizzazione degli smart contract. Ci riferiamo a come i contratti intelligenti possono sfruttare tutto il potenziale dell’hardware del validatore per essere eseguito rapidamente. Tutto questo grazie al fatto di essere meno costoso a livello computazionale e, infine, di essere più efficiente.
Per raggiungere questo obiettivo, Solana ha creato Sealevel, un livello di esecuzione del contratto intelligente che consente di leggere, eseguire e scrivere le istruzioni in parallelo. Il risultato è che i contratti intelligenti di Solana sono molto più veloci di quelli di qualsiasi altra rete. E tutto questo grazie alla parallelizzazione di questa rete. In effetti, questo sistema scala non solo in termini di crescita della rete, ma anche in termini di potenza hardware. Questo grazie al fatto che le apparecchiature più avanzate saranno in grado di eseguire questi contratti intelligenti molto più velocemente.
Attualmente ci sono un gran numero di progetti che sono impegnati nello sviluppo di Solana. Ciò non stupisce affatto, data la brillante tecnologia che impiega. Il sito web della community evidenzia centinaia di progetti che già utilizzano Solana all’interno del loro sviluppo. Alcuni di questi progetti sono ampiamente conosciuti come il caso di Serum, Exodus, Moonpay, Anchor, Fantom, The Graph o Band Protocol.
E questo è solo l’inizio, Solana continua il suo inarrestabile sviluppo e in futuro la sua evoluzione potrebbe portare importanti miglioramenti a una tecnologia davvero interessante.
Bibliografia: