🇮🇹 "Ouroboros Genesis: maggiore sicurezza in un ambiente dinamico"

:it: Traduzione italiana di “Ouroboros Genesis: enhanced security in a dynamic environment - IOHK Blog

Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT :pray: entra nel nostro gruppo Telegram


Ouroboros Genesis: maggiore sicurezza in un ambiente dinamico

Ouroboros Genesis arriverà su Cardano nel 2023. La caratteristica principale di Genesis è quella di consentire ai partecipanti di unirsi in modo sicuro alla rete senza la necessità di fidarsi di peers selezionati per fornire un’istantanea corretta dello stato attuale della blockchain. Continua a leggere

img

Ouroboros Genesis è un protocollo blockchain proof-of-stake (PoS) che estende il suo predecessore - Ouroboros Praos.

Ricordiamo innanzitutto che Ouroboros è un protocollo PoS in stile Nakamoto con una resilienza incorporata ad una partecipazione potenzialmente molto fluttuante. Ciò significa che è in grado di resistere alle numerose sfide che possono derivare da problemi di rete, configurazione errata dei nodi o condizioni anomale che possono causare l’interruzione dei nodi. È dimostrato che Ouroboros è sicuro finché meno della metà della partecipazione attiva totale è nelle mani di attori malintenzionati. E anche se questo presupposto venisse temporaneamente violato, Ouroboros si auto-riparerebbe rapidamente dopo aver ripristinato la condizione di maggioranza onesta. Un documento di ricerca di IOG del 2020 analizza questa situazione.

Una questione importante e spesso trascurata nei sistemi PoS dinamici è stata per lungo tempo: come possono le parti unirsi o ricongiungersi in modo sicuro al sistema con lo stesso presupposto di sicurezza - e in particolare senza affidarsi a peer fidati che servono una versione corretta della blockchain corrente? Questa domanda è stata considerata un grave inconveniente per i sistemi PoS, fino a quando un documento di ricerca di IOG del 2018 ha proposto una soluzione a questo problema. Questo post spiega l’importanza e l’idea principale alla base di Genesis.

L’importanza della disponibilità dinamica

La disponibilità dinamica in una blockchain può essere considerata come una proprietà che consente ai nodi produttori di blocchi di andare online e offline senza preavviso. Allo stesso tempo, il sistema rimane operativo per qualsiasi livello di partecipazione e rimane sicuro finché (tra i nodi attivi) più del 50% delle risorse, come la potenza di calcolo in Bitcoin o lo stake in Cardano, sono controllate da partecipanti onesti. Il meccanismo di consenso, il cui scopo è mettere d’accordo tutti i nodi, utilizza queste risorse per eleggere i leader con il diritto di estendere la blockchain con un blocco contenente transazioni valide.

In questo contesto, la disponibilità dinamica fornisce una maggiore vivacità della rete ed è essenziale per un sistema veramente decentralizzato, poiché non si può presumere che tutti i nodi siano costantemente online. Tuttavia, per rendere questa storia completa, i nodi devono essere in grado di rientrare facilmente nel sistema, semplicemente osservando la rete e conoscendo il blocco genesi. Qualsiasi ulteriore assunzione di fiducia, come il requisito di checkpoint serviti da peer fidati, va contro la visione della decentralizzazione.

Nel 2018, la ricerca IOG ha presentato e analizzato l’algoritmo Ouroboros Genesis, che soddisfa in modo dimostrabile i requisiti di cui sopra in un modello crittografico forte. L’algoritmo Genesis è essenzialmente Praos, con l’aggiunta di una nuova regola di selezione della catena che consente alle parti di unirsi in modo sicuro e avviare la blockchain da zero senza richiedere consigli fidati o qualsiasi altro aiuto come la conoscenza della disponibilità passata.

Garanzie di sicurezza attraverso la regola di selezione della catena

Genesis ha una struttura simile a quella di Ouroboros Praos. Infatti, considerando il caso in cui tutte le parti sono sempre disponibili, i due protocolli si comportano in modo identico. Quando si tratta di disponibilità dinamica, però, le parti che si uniscono di recente richiedono una consulenza in Praos: essere in grado di estendere in modo sicuro la catena più lunga. I nuovi arrivati devono prima essere informati dello stato attuale del libro mastro (vero), ad esempio chiedendo ai peer fidati. Se un aggressore è in grado di fornire una catena falsa ai nuovi arrivati, è possibile impedire loro di aderire e contribuire alla sicurezza e alle prestazioni del sistema. Quindi, come fa Genesis a evitare questi consigli di fiducia? L’innovazione tecnica risiede nella nuova regola di selezione delle catene.

In parole povere, si pensi alla selezione della catena come a un filtro. Questo filtro, quando viene presentato con tutte le blockchain osservate sulla rete, individua quella più utile per il sistema. In linea di principio, nel consenso di Nakamoto, l’approccio è quello di scegliere la catena più lunga. Se questo va bene per Bitcoin, nel caso di PoS la semplice regola della catena più lunga non è una buona idea: un avversario potrebbe effettuare un fork da una catena onesta e continuare a creare blocchi privatamente. Dopo un periodo di tempo considerevole (dell’ordine di diverse epoche), l’avversario sarà essenzialmente l’azionista di maggioranza della sua catena privata e sarà quindi in grado di creare blocchi molto più velocemente della catena onesta, finendo per superarla in lunghezza. Praos e altri algoritmi PoS impediscono di essere ingannati in una catena avversaria di questo tipo introducendo dei checkpoint mobili che tutte le catene devono rispettare. Come già detto, l’introduzione di tali checkpoint ha lo svantaggio che le parti che si uniscono hanno bisogno di suggerimenti a cui affidarsi.

Cosa si può fare, dunque? L’intuizione chiave è che ogni volta che un avversario si biforca da una catena onesta ed estende la catena privatamente, l’avversario non può evitare il fatto che qualsiasi catena privata abbia un segmento iniziale di slot, subito dopo il punto di biforcazione, che è meno denso (ha meno blocchi) rispetto alla catena che i partecipanti onesti creano per quel segmento. Questo può essere sfruttato per distinguere i buoni dai cattivi e quindi anche per sbarazzarsi dei suddetti punti di controllo rotanti, introducendo una nuova regola di selezione della catena.

Supponiamo che un nuovo arrivato parta dal blocco genesi come catena iniziale. Ogni volta che viene individuata una nuova catena nella rete, il nuovo arrivato confronta la catena locale con quella nuova in base alla densità in quel particolare segmento dopo che le due catene iniziano a biforcarsi l’una dall’altra. Il nuovo arrivato adotta la nuova catena solo se è più densa in quel segmento e continua a iterare questo processo con altre catene appena ricevute. In base all’osservazione precedente, si può concludere che quando il nuovo arrivato osserva la catena effettiva sostenuta dalla maggioranza onesta delle parti attive della rete, questa catena viene adottata. Di conseguenza, il nuovo arrivato blocca lo stato della blockchain esattamente come fanno gli altri partecipanti già attivi.

Per l’argomentazione tecnica completa, consultare il documento di ricerca del 2018 e vedere la presentazione di Ouroboros Genesis da parte di Aggelos Kiayias.

In sintesi, la regola di selezione della catena consente a Ouroboros di gestire senza problemi le variazioni del numero di parti attive in modo decentralizzato, avviando dal blocco Genesis e rimanendo sicuro, finché i partecipanti onesti detengono la maggioranza dello stake attivo.

Quando su Cardano?

Attualmente Cardano gira su Ouroboros Praos e i team stanno già lavorando alla riprogettazione del consenso. Esiste un prototipo parziale di Genesis funzionante, che è in fase di messa a punto delle prestazioni e di verifica di nuovi vettori di attacco. I team hanno anche lavorato a un’implementazione autonoma della logica di disconnessione di Genesis, che è il componente principale dell’implementazione. Questa logica è attualmente in fase di test e richiede ulteriori sforzi di integrazione.

Se siete interessati al processo di sviluppo, consultate la roadmap di Genesis. Per rimanere aggiornati, seguite gli aggiornamenti tecnici del team di consenso e i canali media IOG.

Olga Hryniuk ha contribuito a questo post.