traduzione italiana di from Classic to Hydra: the implementations of Ouroboros explained di Kieran Costello
N.B. vista la natura estremamente tecnica dell’articolo la traduzione non è letterale, dove possibile ho cercato di spiegare meglio i concetti, mentre ho mantenuto alcuni termini in inglese nei casi dove non ho trovato traduzioni soddisfacenti.
Da classic a Hydra: le versioni di Ouroboros spiegate
Dopo il recente aggiornamento BFT alla mainnet Byron e la pubblicazione dell’articolo su Hydra, probabilmente avrete letto molto riguardo a Ouroboros, l’innovativo protocollo di consenso proof-of-stake utilizzato da Cardano. Sviluppato come soluzione alternativa e più efficiente e sostenibile rispetto alla proof-of-work sopra cui sono costruite le precedenti criptovalute – Bitcoin e, attualmente, Ethereum – Ouroboros è stato il primo protocollo di consenso di una blockchain che è stato sviluppato attraverso metodi di ricerca formali e peer-review (NdT: revisione paritaria)
Sviluppato da un team condotto da Aggelos Kiayias all’università di Edimburgo, Ouroboros e le sue successive implementazioni (BFT, Praos, Genesis e Hydra), forniscono una base solida per risolvere alcune delle sfide più ardue del settore, in maniera sicura e scalabile.
La comprensione inizia dall’educazione e non possiamo affidarci a ciò che una tecnologia raggiunge per trasmettere il “come”. In questo articolo proveremo a spiegare il “come” di Ouroboros. Esamineremo ciò che ogni nuova versione introduce, con lo scopo di migliorare la comprensione della community riguardo al protocollo e proveremo a spiegare perché è così innovativo. Un’analisi dettagliata di ogni versione di Ouroboros può essere trovata nei seguenti articoli accademici:
Due parole sui meccanismi di consenso e perché Ouroboros è diverso
È normale che chiunque sia nuovo a questo spazio possa essere confuso dal termine “protocollo di consenso”. In parole povere, un protocollo di consenso è il sistema di leggi e parametri che governa il comportamento dei registri distribuiti: un set di regole comune, a cui tutti i partecipanti alla rete sottostanno.
Le blockchain pubbliche non sono controllate da una singola autorità centrale, è invece utilizzato un protocollo di consenso per mettere d’accordo i partecipanti alla rete decentralizzata sulla storia della rete – per raggiungere un consenso comune su cosa sia successo nella blockchain e continuare ad operare da una singola sorgente fidata. Per questo ci si riferisce spesso alle blockchain con il termine “trustless” (NdT: senza fiducia): invece di richiedere ai partecipanti di fidarsi l’uno dell’altro, la fiducia è insita nel protocollo. Attori sconosciuti possono così interagire l’uno con l’altro senza il bisogno della mediazione di intermediari e senza che ci sia la necessità di scambio di dati personali.
Ouroboros è un protocollo proof-of-stake, che è diverso dai protocolli proof-of-work. Invece di affidarsi a dei “miner” (NdT: letteralmente minatori) che risolvono equazioni molto complesse per creare nuovi blocchi – in cambio di una ricompensa che riceverà solo il primo a risolvere tutti i calcoli – la proof-of-stake seleziona i partecipanti che creeranno nuovi blocchi in base al loro stake (nel caso di Cardano, la somma di ADA che controllano) nella rete.
Le reti che usano la proof-of-stake sono di vari ordini di grandezza più energeticamente efficienti rispetto a quelle che utilizzano la vecchia proof-of-work, attraverso Ouroboros, Cardano è in grado di raggiungere un’efficienza energetica impareggiabile. Ad un livello di decentralizzazione simile – diciamo 100 stake pool, numero ben superiore alla rete bitcoin corrente – l’intera rete Cardano potrebbe consumare solamente 0.01567 GWh (gigawatt-ora) per anno, mentre, secondo le statistiche attuali, il consumo di Bitcoin sarebbe pari a 67,000 GWh per anno! Questi calcoli sono basati sull’abilità di Ouroboros di girare senza problemi su un Raspberry PI, che ha un consumo energetico di 15-18 watts. In teoria questo equivale a dire che Cardano è 4 milioni di volte più efficiente di Bitcoin! Possiamo paragonare questa differenza a quella che passa dal consumo di una abitazione al consumo di un piccolo stato! Questo è il motivo per cui Cardano è in grado di scalare fino al mercato di massa mentre Bitcoin no.
Adesso diamo un’occhiata a come funziona Ouroboros e a cosa aggiunge ogni nuova versione.
Ouroboros Classic
Iniziamo con Ouroboros, la prima versione del protocollo, pubblicata nel 2017. Questa prima implementazione (che chiameremo Ouroboros Classic), pone le fondamenta del protocollo come un rivale più efficiente rispetto ai protocolli proof-of-work, introduce un approccio matematico per analizzare la proof-of-stake e un nuovo meccanismo di incentivi per ricompensare i partecipanti alla rete.
Oltre a questo, ciò che distingue Ouroboros dalle altre blockchain (e specificatamente, dalle altre blockchain proof-of-stake), è la sua capacità di generare una equa casualità nell’algoritmo di scelta del leader (NdT: colui che creerà il blocco) e la conseguente sicurezza che ciò assicura. Ogni volta che un comportamento può essere predetto, diventa una vulnerabilità che può essere sfruttata da malintenzionati e sebbene Ouroboros garantisca trasparenza, previene anche questo tipo di attacchi. Da notare che Ourobors è stato il primo meccanismo di consenso sviluppato con questo metodo di analisi rigorosa.
Come funziona Ouroboros
Una spiegazione esauriente di come funzioni Ouroboros è disponibile nel suo articolo accademico. Per riassumere, Ouroboros divide la blockchain in slot ed epoche. In Cardano ogni slot dura 20 secondi e ogni epoca – che è un insieme di slot – rappresenta approssimativamente 5 giorni.
La premessa fondamentale da cui parte Ouroboros è che gli attacchi siano inevitabili. Così il protocollo ha già previsto al suo interno una tolleranza per prevenire che gli attaccanti propaghino una versione alternativa e malevola della blockchain, e tiene anche in considerazione che il nemico possa mandare informazioni falsate e manipolate a qualsiasi partecipante in ogni momento. Il protocollo garantisce la sicurezza della rete finché almeno il 51% dello stake è controllato da partecipanti onesti (cioè che seguono il protocollo).
Uno slot leader è eletto per ogni slot: sarà colui che avrà la responsabilità di aggiungere un blocco alla catena e che passerà tali informazioni al prossimo slot leader. Per proteggere contro tentativi ostili di sovvertire il protocollo, ogni nuovo slot leader deve considerare gli ultimi blocchi ricevuti come provvisori: solo i blocchi che precedono un limite prestabilito di blocchi provvisori sono considerati definitivi. Questo meccanismo è anche conosciuto come “settlement delay” (NdT: ritardo nell’accordo). Tra le altre cose questo significa anche che uno stakeholder può andare offline e restare comunque sincronizzato con la blockchain, almeno finchè non supera il “settlement delay”.
Dentro il protocollo Ouroboros, ciascun nodo della blochchain conserva una copia della mempool delle transazioni – dove sono aggiunte le transazioni se sono coerenti con le precedenti – e di tutta la blockchain. La blockchain conservata in locale viene aggiornata non appena il nodo viene a conoscenza di una catena alternativa valida e più lunga rispetto a quella esistente al momento.
Gli svantaggi di Ouroboros Classic erano il fatto che era suscettibile ad attacchi adattivi – minaccia significante in un contesto reale, risolta poi con Ouroboros Praos – e che non aveva un modo sicuro per i nuovi partecipanti per fare bootstrap (NdT: ho lasciato il termine inglese, non saprei come tradurlo) della blockchain, risolto poi con Ouroboros Genesis.
Ouroboros BFT
Ouroboros BFT (Byzantine Fault Tolerance) è un semplice protocollo che è utilizzato da Cardano durante la fase di Byron Reboot, la transizione dal vecchio codice sorgente di Cardano al nuovo. Ouroboros BFT serve a preparare il terreno per il rilascio di Shelley e la decentralizzazione dell’intera rete.
Piuttosto che richiedere ai nodi di essere online costantemente, Ouroboros BFT presuppone una rete federata di server che comunicano in sincronia, garantendo così il consenso della rete in maniera più semplice e deterministica.
Benefici aggiuntivi includono transazioni istantanee e conferme istantanee delle transazioni con un’unica comunicazione di rete. Questo garantisce miglioramenti di performance significativi.
Ouroboros Praos
Ouroboros Praos prosegue il tracciato di Ouroboros Classic e introduce miglioramenti sostanziali per quanto riguarda sicurezza e scalabilità.
Come per Ouroboros Classic, Praos processa i blocchi di transazioni dividendoli in slot, che sono poi racchiusi in epoche. A differenza di Ouroboros Classi, Praos è però analizzato in un contesto semi-sincrono ed è sicuro contro attaccanti adattativi.
Presuppone due possibilità: la prima è che un attaccante possa posticipare le informazioni trasmesse da partecipanti onesti per più di uno slot e che lo stesso attaccante possa trasmettere informazioni falsate a più partecipanti in ogni momento.
Attraverso una selezione dei leader privata e firme sicure con chiavi di crittografia dinamiche, Praos assicura che nemmeno un avversario con grandi risorse possa predire chi sarà il prossimo slot-leader ed evita così che attacchi mirati possano sovvertire il protocollo. Praos è anche in grado di resistere a ritardi nella trasmissione di informazioni organizzati da entità malevole e ad una eventuale corruzione di singoli partecipanti in un contesto di mercato in evoluzione: ciò è fondamentale per mantenere la sicurezza della rete in un contesto globale, sempre premesso che la maggioranza del 51% di partecipanti onesti sia mantenuta.
Ouroboros Genesis
Abbiamo quindi Ouroboros Genesis, che migliora ulteriormente Ouroboros Praos aggiungendo una nuova regola di selezione della catena, permettendo ai partecipanti della rete di fare bootstrap da un blocco di genesi – il che permette di non aver più bisogno di affidarsi a punti di controllo fidati. Genesis prova anche la Universal Composability del protocollo, ovvero dimostra che può essere unito ad altri protocolli in contesti reali, senza per questo perdere le sue caratteristiche di sicurezza. Questo contribuisce significativamente alla sicurezza e alla scalabilità delle reti che lo utilizzano.
Ouroboros Hydra
L’ultimo arrivato è Ouroboros Hydra, una architettura off-chain per la scalabilità che risolve tre sfide chiave: alte transazioni per secondo, bassa latenza e la necessità di poco spazio di archiviazione per i nodi.
L’articolo scientifico recentemente pubblicato propone e sottolinea l’introduzione di multi-party state channels (NdT: non credo esista una traduzione italiana, canali di stato multiparti), il che offre la possibilità di processare le transazioni in parallelo, aumentando drasticamente le transazioni per secondo di Cardano e garantendo conferme istantanee alle transazioni. Riflettendo il nome di Idra, l’articolo si riferisce agli state-channel off chain come teste.
Hydra permette a Cardano di scalare orizzontalmente, incrementando così la performance con nuovi nodi, piuttosto che verticalmente, cioè attraverso l’uso di hardware più potente. Le prime simulazioni mostrano che ogni testa è in grado di processare fino a 1000 transazioni per secondo: ciò significa che con mille teste potremmo avere un output di 1 milione di transazioni. Una volta implementato, Hydra permetterà a Cardano di scalare fino a livelli inarrivabili alla concorrenza.
Nonostante Hydra sia stato costruito assieme al protocollo Ouroboros e alla blockchain di Cardano, potrà essere utilizzato anche in altri sistemi, premesso che condividano le caratteristiche necessarie con Cardano.
Il futuro di Ouroboros
Ouroboros, che prende il nome dal simbolo dell’infinito, è la spina dorsale dell’intero ecosistema di Cardano. Il protocollo serve come base e fondamenta di un sistema auto-propagante che si trasforma e cresce in maniera autonoma, che andrà a soppiantare i sistemi attualmente esistenti – finanziari e non – e che eliminerà la necessità di intermediari. È il principio di un nuovo standard, definito non dal centro ma dai margini.
Il futuro di Ouroboros è il medesimo del suo passato: uno sforzo instancabile per esplorare, costruire e ottimizzare, al fine di creare un cambiamento positivo attraverso la ricerca scientifica rigorosa. Ogni passo di questo viaggio – dopo Hydra verrà Crypsinous e Ouroboros Chronos – è una nuova evoluzione e ci avvicina alla nostra visione di un mondo più giusto, securo e sostenibile.
Traduzione a cura di LordWotton - se l’iniziativa ti è stata utile, considera l’opportunità di delegare i tuoi ADA ad una delle mie stakepool, VAULT o APEX