Solana (SOL) è una criptovaluta di terza generazione, focalizzata sull'offerta di una rete ad alta velocità, con capacità per contratti intelligenti parallelizzabili, un costo per operazione trascurabile, senza sacrificare la sicurezza e con una grande scalabilità.
EIl 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.
In effetti, 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 reale, tangibile, perfettamente fruibile in questo momento, e lo approfondiremo di seguito.
Storia e origine di Solana
L'origine di Solana inizia grazie al lavoro di Anatolij Yakovenko, uno sviluppatore di software con una vasta esperienza nello sviluppo di sistemi operativi su Qualcomm (Brew OS), sistemi distribuiti su Mesosphere e sistemi di compressione su 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 è nato il white paper di Proof of History (PoH) o Test of History presentato nel 2018, e su cui lavoro dal 2017. Proof of History è un curioso 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. Questo sistema permette la realizzazione di reti molto sicure ma, soprattutto, veloci e molto efficienti a livello di consumo di risorse computazionali ed energia.
La nascita dell'idea
Poco dopo aver presentato questo lavoro, Yakovenko ha iniziato a lavorare con Greg Fitzgerald, per portare la sua idea sulla PoH in una realtà tangibile all'interno di una blockchain. Il progetto era inizialmente noto come Loom, ma poco dopo ha cambiato 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 hanno continuato a lavorare su una prima implementazione di PoH sulla blockchain, ma alla fine il 19 luglio 2018 il loro lavoro ha dato i suoi frutti. Quel giorno fu messa in funzione una prima versione di Solana con 50 nodi in funzione e con la quale raggiunsero una velocità invidiabile: 65.000 transazioni al secondo. Era l'inizio di una nuova tecnologia che aveva tutti gli elementi per lasciare nel passato il problema della scalabilità della blockchain.
La prima beta di Solana
Il lavoro di Yakovenko è continuato fino a quando, nel febbraio 2020, è stata lanciata la prima beta della rete, nota come SOL Testnet Tour, che era una testnet completamente funzionante della rete Solana. Per marzo 2020 è stato annunciato il lancio della 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. Questo secondo testnet è la rete attualmente funzionante e si prevede che un hard fork attiverà sia il sistema di gonfiaggio della rete che abiliterà il resto delle funzioni del sistema, entro la fine del 2021.
Come funziona la rete Solana?
Per capire come funziona Solana Network, dobbiamo prima esaminare le parti che compongono questo protocollo. Tra queste parti possiamo evidenziare quanto segue:
Proof of History (PoH), il protocollo di consenso di Solana Proof of History (PoH) è la pietra angolare di 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 gli dia potere di voto all'interno della rete, ma il processo di generazione e convalida utilizza i VDF come ulteriore mezzo di sicurezza, a quello della semplice lotteria che di solito è visto nella maggior parte degli algoritmi PoS.
In questo senso, i VDF PoH funzionano in due modi:
- Consente di ordinare cronologicamente le transazioni di rete in modo che vengano seguite esattamente in quella sequenza.
- Crea un sistema crittografico intrinsecamente legato al tempo in cui le transazioni vengono effettuate, prese e verificate dalla rete. Ciò è possibile perché i VDF utilizzano i parametri temporanei dei TX per eseguire un'unica funzione crittografica per garantirne la validità.
Questi due punti consentono ai VDF all'interno di PoH di essere molto sicuri e, inoltre, molto veloci nella sua esecuzione. Capire questo può essere un po' complesso, ma pensiamo che questo esempio ti aiuterà:
esempio PoH
Supponiamo che Ana voglia inviare una transazione (TX) a Juan per pagare una riparazione sul suo laptop. Ana 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 Ana di raddoppiare la spesa (spostando denaro che temporaneamente non è di sua proprietà o alterando un precedente TX mediante un vettore di attacco come quello di Vector76). 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.
Cioè 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 Ana è convalidato e Juan riceve i suoi soldi, e sebbene questa spiegazione sia ampia, l'intero processo all'interno di Solana ha richiesto appena una media di un secondo per essere completato.
L'esempio precedente ci dice già molto sul PoH e sulla sua velocità, ed è che 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. Detto in questo modo, Solana sembra fantascienza per i blockchain, ma no, è qualcosa di così reale che possiamo semplicemente sentirlo mentre usiamo la rete.
Una rete P2P veloce, efficiente e temporalmente accurata
Tuttavia, l'altissima velocità di Proof of History e dei suoi VDF crea due problemi:
- Trasmettere informazioni in rete (TX e blocchi) in modo ottimale è un vero rompicapo.
- L'accuratezza temporale può creare discrepanze tra i diversi nodi.
Il primo problema è qualcosa 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.
Il secondo problema è qualcosa 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ò a Solana è impensabile, perché il suo tempo di convalida di 400 ms lo rende irrealizzabile.
Quindi, quale soluzione applica Solana a entrambi i problemi?
Turbine, la trasmissione delle informazioni di Solana Network
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.
Cioè, 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. Qualcosa di simile a ciò che fa attualmente la rete Bitcoin con i suoi blocchi compatti.
GulfStream, una cache per le transazioni
GulfStream è il nome del protocollo responsabile dell'archiviazione e della priorità delle transazioni sulla rete Solana. Fondamentalmente GulfStream è un mempool avanzato che è responsabile della trasmissione delle transazioni ai validatori per facilitare il loro ordine e 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.
Inoltre, GulfStream assicura che i validatori di un blocco sincronizzino i loro orologi per mantenere la temporalità della rete. E 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.
Smart Contract e dApp, l'obiettivo centrale di Solana Network
Solana Network è in grado di distribuire contratti intelligenti e dApp. In effetti, questo è 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. Invece, Solana ha 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: C e Rust. Entrambi sono ben noti linguaggi di programmazione generici. Hanno infatti 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 è molto più grande: ottenere la parallelizzazione degli smart contract. Parliamo di 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 è chiaro: 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.
Solana Network e la sua comunità in crescita
Attualmente ci sono un gran numero di progetti che sono impegnati nello sviluppo di Solana. E, non c'è da stupirsi, data la brillante tecnologia che ha dimostrato. Infatti, il suo sito web della community ci dice che ci sono già più di 400 progetti che 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, naturalmente, piattaforme come Bit2Me tengono d'occhio questa blockchain e il suo token.
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 impressionante.