Per proteggere la blockchain e il libro mastro di una catena, ogni protocollo utilizza un meccanismo di consenso. Se i più utilizzati sono il Proof-of-Work (Bitcoin) e il Proof-of-Stake (Ethereum), ci sono anche altri algoritmi che si fanno notare per la sicurezza che riescono a conseguire. Tra di essi spicca il Proof-of-History adottato da Solana, che anche grazie a questa scelta ha guadagnato enorme notorietà e popolarità.
Proof-of-History: cos’è e come funziona
Come abbiamo già ricordato, Solana (SOL) implementa un meccanismo di consenso Proof-of-History, combinandolo con il Proof of Stake, dando vita ad un algoritmo ibrido il quale può essere considerato unico nel suo genere.
Una caratteristica estremamente importante del Proof of History è rappresentato dal fatto che la blockchain su cui viene adottato risulta enormemente veloce, senza però perdere nulla in termini di sicurezza e decentralizzazione.
A cosa serve PoH? Soprattutto a fare in modo che i dati storici siano corretti e non possano essere manipolati da malintenzionati. Grazie al suo utilizzo è possibile creare un documento storico in grado di dimostrare che un evento ha avuto luogo in un momento specifico.
Per riuscire ad ottenere tale risultato, viene utilizzata una funzione di hash la quale provvede alla creazione di una “impronta digitale” unica di un pacchetto di dati. La stessa funzione viene a sua volta verificata dai nodi successivi della blockchain. Ove qualcuno provasse a modificare questa impronta digitale il suo tentativo sarebbe immediatamente notato dai nodi, i quali provvederebbero a indicare il blocco interessato come falso.
Come funziona il meccanismo di consenso Proof-of-History?
Detto nella maniera più semplice possibile, Proof of History si fonda su una funzione di ritardo verificabile il quale va ad utilizzare l’hash dell’output precedente alla stregua di nuovo input. Proof-of-History, quindi, utilizza il timestamp che indica l’ora in cui è stato creato il blocco come punto di inizio per la creazione del blocco successivo. In tal modo sono impedite le frodi temporali, con risultati eccellenti quanto a precisione, velocità e resistenza a tentativi di manomissione.
Dopo la creazione di un timestamp per ogni blocco, interviene la Verifiable Delay Function (VDF) cui spetta il compito di dimostrare che sia stato creato in un momento specifico. Una sequenza di timestamp è chiamata serie temporale o stringa e serve appunto a dimostrare al di là di ogni dubbio che i blocchi sono stati aggiunti alla blockchain in momenti specifici. I timestamp creati in questo modo vengono poi inoltrati a tutti i nodi.
Occorre sottolineare come la Verifiable Delay Function sia molto impegnativa dal punto di vista computazionale. Obbliga quindi alla scelta di quei validatori che dispongono di hardware e software in grado di assolvere al meglio alle operazioni necessarie. La convalida è praticamente istantanea, in quanto la convalida di un hash è molto più veloce della convalida di un blocco. Proprio per questo motivo Solana è in grado di conseguire velocità enormi, superiori a 50mila TPS (transazioni al secondo), dote che ne ha fatto un vero e proprio punto di riferimento nel campo dell’innovazione finanziaria, mettendola in aperta concorrenza con la Ethereum Virtual Machine.
Gli svantaggi di PoH
Sinora abbiamo visto il funzionamento della Proof-of-History e i vantaggi che ne conseguono per Solana. Sull’altro piatto della bilancia, però, occorre anche mettere i problemi ad essa connessi, che vanno ad attutirne in parte il potenziale.
Il primo è proprio quello relativo alla necessità di macchinari molto potenti, per poter assolvere la funzione di validatore. Ne conseguono livelli di spesa che possono essere alla portata di non molte realtà e, in definitiva, un vulnus al principio della decentralizzazione. Altre blockchain che utilizzano forme di Proof-of-Stake diverse risultano in effetti molto più decentralizzate.
Inoltre, la grande velocità transazionale di Solana può tramutarsi per certi versi in un ostacolo. Il livello di throughput conseguito, infatti, si traduce nella generazione di enormi quantità di dati. Una transazione riesce a raggiungere circa 250 kilobyte (kB) e 50mila transazioni come questa al secondo corrispondono a circa 40 petabyte (o 40 milioni di gigabyte) di dati all’anno. Una quantità che rende praticamente impossibile a molte aziende l’immagazzinamento dei dati. Ci vogliono quindi dischi rigidi con capacità dimensionali di grande rilievo.