🇮🇹 Da Classic a Hydra: quali sono le implementazioni di Ouroboros

Da Classic a Hydra: quali sono le implementazioni di Ouroboros

Ouroboros è il protocollo di consenso di Cardano. Qui spiegheremo cosa fa e come si sta evolvendo

From Classic to Hydra: the implementations of Ouroboros explained

Insieme al recente aggiornamento BFT alla mainnet di Byron e all’Hydra paper appena pubblicato, avrete probabilmente sentito parlare molto di Ouroboros: il rivoluzionario protocollo di consenso proof-of-stake utilizzato da Cardano. Sviluppato come un’alternativa più efficiente e sostenibile al proof of work, su cui sono costruite le criptovalute precedenti - Bitcoin e, attualmente, Ethereum - Ouroboros è stato il primo protocollo di consenso blockchain ad essere sviluppato attraverso la ricerca peer-reviewed.

Guidato da Aggelos Kiayias presso l’Università di Edimburgo, Ouroboros e le sue successive implementazioni - BFT, Praos, Genesis, Hydra - forniscono una nuova linea di base per risolvere alcune delle più grandi imprese al mondo, in modo sicuro e su larga scala.

Eppure il riconoscimento inizia con l’istruzione, e non possiamo fare affidamento su ciò che una tecnologia raggiunge per trasmettere il come. In questo articolo, presentiamo una panoramica del come di Ouroboros. Esamineremo i tangibles e ciò che ogni implementazione introduce, per favorire la comprensione del protocollo da parte della comunità e per illustrare perché sia un tale game changer. Nei whitepaper corrispondenti qui sotto potete trovare un’analisi dettagliata di ogni implementazione. Per una spiegazione a grandi linee di Ouroboros e delle sue implementazioni, comunque, continuate a leggere.

*Ouroboros Classic
*Ouroboros BFT
*Ouroboros Genesis
*Ouroboros Praos
*Ouroboros Hydra

Due parole sui protocolli di consenso e su perché Ouroboros è diverso.

E’ ragionevole supporre che chiunque sia nuovo in questo spazio possa essere confuso dal termine “protocollo di consenso”. In parole povere, un protocollo di consenso è il sistema di leggi e parametri che governano il comportamento dei ledgers distribuiti: un insieme di regole per ogni partecipante che gioca nella rete.

Le blockchain pubbliche non sono controllate da una singola autorità centrale. Al contrario, un protocollo di consenso viene utilizzato per permettere ai partecipanti della rete distribuita di accordarsi sulla storia della rete catturata sulla blockchain - per raggiungere il consenso su ciò che è successo, e continuare da una singola fonte di verità.

Quella singola fonte di verità fornisce un unico record. Questo è il motivo per cui le blockchain sono a volte definite trustless: invece di richiedere ai partecipanti di fidarsi l’uno dell’altro, il protocollo stesso incorpora il concetto di fiducia. I partecipanti sconosciuti possono interagire e transare l’uno con l’altro senza fare affidamento su un intermediario che medi, o che ci sia un prerequisito di scambio di dati personali.

Ouroboros è un protocollo proof-of-stake, che è diverso dal proof of work. Piuttosto che fare affidamento sui “miners” per risolvere equazioni complesse dal punto di vista computazionale per creare nuovi blocchi - e premiare il primo che lo fa - il proof of stake seleziona i partecipanti (nel caso di Cardano, le stake pool) per creare nuovi blocchi in base alla partecipazione che controllano nella rete.

Le reti che utilizzano Ouroboros sono molte volte più efficienti dal punto di vista energetico di quelle che utilizzano la proof of work - e, attraverso Ouroboros, Cardano è in grado di raggiungere un’efficienza energetica senza precedenti. Allo stesso livello di decentralizzazione - per esempio 100 pools, che supera l’attuale rete di bitcoin - Cardano potrebbe consumare solo 0,01567GWh (gigawatt-ora) all’anno. Bitcoin, nel frattempo, richiederebbe 67.000 GWh all’anno (secondo le statistiche attuali). Questo si basa sulla capacità di Ouroboros di funzionare su un Raspberry Pi, che ha un consumo energetico di 15-18W (watt). In teoria, questo equivale a più di quattro milioni di volte l’efficienza energetica. La differenza risultante nell’uso dell’energia può essere paragonata a quella tra una famiglia e un piccolo paese: uno può estendersi al mercato di massa, l’altro no.

Diamo un’occhiata più da vicino a come funziona il protocollo Ouroboros, e a cosa aggiunge ogni nuova implementazione.

Ouroboros Classic

Iniziamo con Ouroboros: la prima implementazione del protocollo Ouroboros, pubblicata nel 2017. Questa prima implementazione (chiamata Ouroboros Classic) ha gettato le basi per il protocollo in quanto efficiente rivale del proof of work dal punto di vista energetico, ha introdotto il frame matematico per analizzare il proof of stake e ha introdotto un nuovo meccanismo di incentivazione per premiare i partecipanti in un ambiente proof of stake.

Tuttavia, ciò che ha distinto Ouroboros da altre blockchain e, in particolare, dai protocolli proof-of-stake è stata la sua capacità di generare casualità imparziale nell’algoritmo di selezione del leader del protocollo, e le conseguenti garanzie di sicurezza che ha fornito. La casualità impedisce la formazione di schemi, un aspetto critico del mantenimento della sicurezza del protocollo. Ogni volta che un comportamento può essere previsto, può essere sfruttato - e anche se Ouroboros assicura trasparenza, impedisce la coercizione. Significativamente, Ouroboros è stato il primo protocollo blockchain ad essere sviluppato con questo tipo di analisi di sicurezza rigorosa.

Come funziona Ouroboros

Una spiegazione completa di come funziona Ouroboros può essere trovata nel suo documento di ricerca. In sostanza, Ouroboros divide la blockchain in slot ed epoche. In Cardano, ogni slot dura 20 secondi e ogni epoca - che è un’aggregazione di slot - rappresenta circa cinque giorni di slot.

La consapevolezza che gli attacchi sono inevitabili è centrale nel progetto di Ouroboros. In quanto tale, il protocollo contiene una tolleranza incorporata per impedire agli attackers di propagare versioni alternative della blockchain, e presuppone che un avversario possa inviare messaggi arbitrari a qualsiasi partecipante in qualsiasi momento. Infatti, il protocollo è garantito per essere sicuro finché più del 51% della stake è controllato da partecipanti onesti (ovvero quelli che seguono il protocollo).

Per ogni slot viene eletto uno slot leader, che è responsabile di aggiungere un blocco alla catena e di passarlo al successivo slot leader. Per proteggersi dai tentativi avversari di sovvertire il protocollo, ogni nuovo slot leader è tenuto a considerare gli ultimi blocchi della catena ricevuta come transitori: solo la catena che precede il numero prestabilito di blocchi transitori è considerata risolta. Questo viene anche chiamato “settlement delay”. Tra le altre cose, significa che uno stakeholder può andare offline ed essere ancora sincronizzato con la blockchain, a patto che non sia per più del settlement delay.

All’interno del protocollo Ouroboros, ogni nodo della rete memorizza una copia della mempool delle transazioni - dove le transazioni sono aggiunte se sono coerenti con le transazioni esistenti - e la blockchain. La blockchain memorizzata localmente viene sostituita quando il nodo viene a conoscenza di una catena alternativa più lunga e più valida.

Lo svantaggio di Ouroboros Classic era di essere suscettibile agli adaptive attackers - una minaccia significativa nel mondo reale che è stata risolta con Ouroboros Praos - e non aveva un modo sicuro di fare il bootstrap dalla blockchain per un nuovo partecipante, cosa che è stata risolta con Ouroboros Genesis.

Ouroboros BFT

Ouroboros BFT è arrivato dopo. Ouroboros BFT (Byzantine Fault Tolerance) è un semplice protocollo che è stato usato da Cardano durante il reboot di Byron, ovvero la transizione del vecchio codice di Cardano al nuovo. Ouroboros BFT aiuterà a preparare la rete di Cardano per il lancio di Shelley e, con esso, la sua decentralizzazione.

Invece di richiedere che i nodi siano sempre online, Ouroboros BFT presuppone una rete federata di server - la blockchain - e una comunicazione sincrona tra i server, fornendo il consenso del ledger in un modo più semplice e deterministico.

Ulteriori vantaggi includono la proof of settlement istantanea, il settlement delle transazioni alla velocità della rete - il che significa che il determinante per le transazioni è la velocità della vostra connessione di rete a un nodo OBFT - e la conferma istantanea in un singolo giro di comunicazione. Ognuno di questi risultati si traduce in significativi miglioramenti delle prestazioni.

Ouroboros Praos

Ouroboros Praos
si basa su - e fornisce sostanziali miglioramenti di sicurezza e scalability a - Ouroboros Classic.

Come per Ouroboros Classic, Ouroboros Praos elabora i blocchi delle transazioni dividendo le catene in slot, che sono aggregati in epoche. A differenza di Ouroboros Classic, tuttavia, Praos è analizzato in un ambiente semi-sincrono ed è sicuro contro gli adaptive attackers.

Presume due possibilità: che gli avversari possano ritardare i messaggi dei partecipanti onesti per più di uno slot, e che un avversario possa inviare messaggi arbitrari a qualsiasi partecipante in qualsiasi momento.

Attraverso la selezione del private-leader e le firme key-evolving , Praos assicura che un avversario forte non possa prevedere il prossimo slot leader e lanciare un attacco mirato (come un attacco DDoS) per sovvertire il protocollo. Praos è anche in grado di tollerare ritardi nella consegna dei messaggi controllati dagli avversari e una graduale corruzione dei singoli partecipanti in una popolazione di stakeholder in evoluzione, che è fondamentale per mantenere la sicurezza della rete in un ambiente globale, a condizione che venga mantenuta una maggioranza onesta di stake.

Ouroboros Genesis

Successivamente abbiamo Ouroboros Genesis. Genesis migliora ulteriormente Ouroboros Praos, aggiungendo una nuova regola di selezione della catena, che permette alle parti di fare il bootstrap da un genesis block - senza la necessità significativa di checkpoint fidati o ipotesi sulla disponibilità passata. Genesis fornisce anche la proof of the protocol’s Universal Composability, che dimostra che il protocollo può essere composto con altri protocolli in configurazioni arbitrarie in un ambiente del mondo reale, senza perdere le sue proprietà di sicurezza. Questo contribuisce significativamente alla sua sicurezza e sostenibilità, e a quella delle reti che lo utilizzano.

Ouroboros Hydra

L’ultimo è Ouroboros Hydra. Hydra è un’architettura di scalability off-chain che affronta tre sfide di key scalability: output ad alta transazione, bassa latenza e minimo storage per nodo.

Il whitepaper Hydra, lanciato di recente, propone e delinea l’introduzione di state channels multi-party, che offrono un’elaborazione parallela delle transazioni per migliorare drasticamente l’output TPS (transaction-per-second) di Cardano, e la conferma istantanea delle transazioni. Rispecchiando l’omonimo dell’implementazione, il documento definisce i fratelli del ledger off-chain - gli state channels - le heads, il che rende il ledger multi-headed.

Ouroboros Hydra permette a Cardano di scalare orizzontalmente, aumentando le prestazioni incorporando ulteriori nodi, piuttosto che verticalmente, attraverso l’aggiunta di hardware più potenti. Le prime simulazioni mostrano che ogni head è in grado di eseguire fino a 1.000 TPS. Con 1.000 heads, potrebbe arrivare a 1.000.000 TPS. Una volta implementato, Ouroboros Hydra permetterà a Cardano di scalare a livelli ineguagliabili - al livello, per esempio, dei sistemi di pagamento globali.

Hydra è stato progettato insieme al protocollo Ouroboros e al ledger di Cardano, ma può essere impiegato anche su altri sistemi, purché condividano le caratteristiche necessarie con Cardano.

Il futuro di Ouroboros

Ouroboros, che prende il nome dal simbolo dell’infinito, è la spina dorsale dell’ecosistema Cardano. Il protocollo serve come base e punto di partenza per sistemi auto-propaganti che ciclicamente si trasformano e crescono, soppiantando i sistemi esistenti - finanziari e non - e disintermediando le strutture di potere su cui si basano. È l’inizio di un nuovo standard, definito non dal centro ma, al contrario, dai margini.

Il suo futuro è come il suo passato: uno sforzo instancabile per esplorare, iterare e ottimizzare, e guidare un cambiamento positivo attraverso una ricerca rigorosa. Ogni passo del suo viaggio - dopo Hydra vengono Ouroboros Crypsinous e Ouroboros Chronos - è una nuova evoluzione e ci porta più vicini alla nostra visione di un mondo più giusto, più sicuro e più sostenibile.

Traduzione di From Classic to Hydra: the implementations of Ouroboros explained - IOHK Blog

2 Likes