Mentre il Coordinatore è un potente strumento di protezione, le obiezioni alla sua esistenza sono ben comprese. La IOTA Foundation è ansiosa di vedere il giorno del suo pensionamento. E il dipartimento di ricerca della IOTA Foundation ha un team “Coordicide” dedicato proprio a questo scopo. L’obiettivo è un sistema che non richiede un coordinatore centrale ed allo stesso tempo non porta a debolezze di sicurezza.

Di seguito si presentano quelle che si ritengono le strategie necessarie per realizzare il decentramento in modo tempestivo e soddisfare le esigenze degli utenti e degli stakeholder di IOTA. Si ricorda al lettore che gli approcci qui delineati sono in varie fasi di ricerca, e l’implementazione finale sarà il risultato di ulteriori ricerche e sperimentazioni. Si ritiene che alcuni dei meccanismi di sicurezza siano più essenziali, mentre altri sono considerati come potenziali percorsi futuri. Ci si aspetta di imparare molto nei prossimi mesi, quando si ninizierà ad utilizzare un testnet Coo-free.


Approcci teorici

1. Responsabilità del nodo

Il principio di base della responsabilità del nodo è quello di classificare le transazioni come buone o cattive (esempi tipici di cattivo comportamento includono i tentativi di doppia spesa o un numero molto elevato di riattaccamenti (reattach)). L’idea è quella di creare un sistema di reputazione, simile ai sistemi di reputazione ad oggetti utilizzati per la condivisione di file peer-to-peer. Il sistema di reputazione sarebbe concettualmente simile agli algoritmi di page-ranking, ma molto più semplice ed adattato alle esigenze dell’ecosistema IOTA.

Sono stati vari sistemi di reputazione; quello proposto da Walsh e Sirer (in inglese) è stato ben accolto nella comunità della sicurezza informatica ed almeno in fase di test preliminari, sembra molto promettente per le esigenze del progetto Coordicidio. Il sistema di Credence per l’elaborazione della peer reputation è completamente decentralizzato ed è già stato applicato con grande successo (ad esempio nella rete di file-sharing di Gnutella) per consentire agli utenti di diversi sistemi di file-sharing di esprimere giudizi informati di autenticità prima di scaricare contenuti sconosciuti.

Lo sviluppo di un sistema di reputazione aiuterà anche ad evitare una corsa al Proof of Work, poiché non ci sarebbe nulla da guadagnare dall’emissione di troppe transazioni – sarebbe impossibile spendere due volte e gli spammer sarebbero penalizzat

2. Miglioramenti all’algoritmo di selezione dei tip

Si sta studiando – sia teoricamente che sperimentalmente – vari algoritmi volti a trovare buoni punti di partenza per la camminata aleatoria MCMC ed i risultati iniziali sono promettenti. È già stata sviluppato una simulazione su larga scala volta a trovare alcuni parametri osservabili delle transazioni nel Tangle ed alcuni parametri che non sono così facilmente osservabili, come l’exit-probability-similarity. I prossimi passi in questa direzione includono l’applicazione dell’analisi di regressione, l’ottimizzazione delle prestazioni e l’indagine su altre alternative come i modificatori locali.

3. Libertà di scelta – Il concetto di “stelle”

Un altro candidato preso in considerazione per Coordicidio è quello di utilizzare ciò che chiamiamo “Stelle”, cioè nodi gestiti da noti enti pubblici come governi, aziende od individui con un alto livello di affidabilità. Queste entità emetterebbero transazioni di riferimento nello stesso modo in cui Coo emette le pietre miliari, ma una costellazione di Stelle definita dall’utente o dalla comunità funzionerebbe come un percorso di riferimento decentralizzato ed affidabile attraverso il Tangle. In un certo senso, questo sarebbe un sistema di reputazione di “prima approssimazione”. Come suggerito nel post di Serguei Popov sulla libertà: è ragionevole che si dia maggior peso alle transazioni provenienti da entità di cui ci si fida. L’espansione di un tale sistema diminuirebbe sostanzialmente il ruolo della corsa al Proof of Work, e limiterebbe enormemente le capacità di attacco degli utenti malevoli con grandi risorse computazionali.


Si desidera mettere in chiaro che non ci si allontanerà dalla caratteristica principale dell’ecosistema IOTA Tangle – l’esistenza di una regola fondamentale (l’approvazione di due transazioni da parte di qualsiasi nuova transazione) associata all’impossibilità di applicare un rigoroso algoritmo di selezione di tip. L’obiettivo fondamentale è invece quello di creare un ecosistema IOTA che si comporti in modo naturale. Può essere visto come un automa cellulare in evoluzione che isola ed eventualmente elimina le azioni dei nodi che si comportano male adottando un appropriato algoritmo evolutivo.

In sintesi, la IOTA Foundation sta lavorando per limitare ed eventualmente eliminare completamente il ruolo del Coordinatore. Anche se le sfide della ricerca possono sembrare scoraggianti, si è sicuri che gli approcci delineati porteranno all’obiettivo finale ed aumenteranno drasticamente la sicurezza e l’affidabilità dell’intero ecosistema.


Piani attuali

Per quanto riguarda l’ingegneria, il prossimo grande passo è il Coo-free IRI (menzionato nel post del blog “What’s Next(in inglese)). L’obiettivo di un Coo-free IRI non è quello di sostituire immediatamente l’IRI sulla rete principale. Piuttosto, l’obiettivo è quello di abilitare istanze locali e test globali di un Coo-free Tangle, in modo che i ricercatori ed i membri interessati della comunità possano sperimentare e testare le loro ipotesi su una rete live – non solo una simulazione.

Il progetto IRI Coo-free richiede alcune importanti modifiche al codice IRI, poiché l’attuale codice dipende dai riferimenti alle pietre miliari. Il punto di ingresso casuale, i livelli di confidenza (per sostituire la “conferma”), la validazione del registro distribuito ed i calcoli di bilanciamento devono essere tutti rielaborati per corrispondere alle ultime specifiche proposte dal team di ricerca.

Una volta che una prima versione di Coo-free IRI è disponibile, sarà in programma il lancio di un Coo-free Tangle su un testnet. Questo permetterà ai ricercatori e ai membri della comunità di contribuire a testare, ottimizzare e garantire la sicurezza della rete.

Nel frattempo, mentre il lavoro sull’IRI Coo-free è ancora in corso, si rilascia una versione open source del coordinatore, che si chiama Compass. Si noti che questo non è esattamente il Coordinatore stesso, che gira su mainnet, ma serve alcune funzioni importanti, che saranno discusse più in dettaglio nel prossimo post. In breve: si spera che il rilascio di Compass incoraggi la nostra comunità a distribuire i propri testnet ed a verificare e valutare in modo indipendente la tecnologia.

Venite a chiacchierare con noi su Discord, aprire un ticket di GitHub, fare domande su StackExchange, o scrivete la vostra tesi di dottorato su un argomento di ricerca aperto – ci sono molti modi per essere coinvolti!


Questo è un post in più parti. I link alle altre parti si trovano qui sotto:
Parte 1
Parte 2
Parte 3 (questo articolo)
Parte 4


Il testo originale in lingua inglese si trova qui: https://blog.iota.org/coordinator-part-3-approaches-to-coordicide-583fb82382bc


Da oggi è possibile dare il vostro supporto su Patreon https://www.patreon.com/antonionardella

Per ulteriori informazioni in italiano o tedesco trovate i miei contatti a questa pagina.
Se avete trovato utile la mia libera traduzione, accetto volentieri delle donazioni 😉

IOTA:
QOQJDKYIZYKWASNNILZHDCTWDM9RZXZV9DUJFDRFWKRYPRMTYPEXDIVMHVRCNXRSBIJCJYMJ9EZ9USHHWKEVEOSOZB
BTC:
1BFgqtMC2nfRxPRge5Db3gkYK7kDwWRF79

Non garantisco nulla e mi libero da ogni responsabilità.


Also published on Medium.