La IOTA Foundation è lieta di annunciare il lancio di znet, la prima iterazione della testnet Coordinator-less. Questa testnet è attiva da diverse settimane, ma ora si apre ufficialmente alla partecipazione ed al contributo della comunità. A tal fine, si invitano i membri della comunità ad unirsi alla discussione su Discord, a verificare la visualizzazione dal vivo del Tangle znet, a contribuire alle comunicazioni ed al codice sul repo CLIRI Github e, naturalmente, a gestire i nodi CLIRI e ad unirsi alla rete.

CLIRI ed il coordinatore

Facendo un passo indietro per discutere del perché è necessaria un’ulteriore testnet e cosa rende speciale CLIRI. CLIRI sta per “Coo-less IRI”. Al suo interno, è una fork di IRI, con tutti i componenti relativi al Coo rimossi. Il suo scopo è quello di fornire un banco di prova per l’esecuzione di una rete IOTA senza coordinatore. Questo è un primo passo necessario per comprendere le sfide che un giorno la rete principale Coo-less dovrà affrontare.

Ricapitoliamo cosa fa effettivamente il Coordinatore, per vedere quali cambiamenti sono stati codificati in CLIRI. Ogni minuto circa, Coo rilascia una pietra miliare, che è una transazione firmata dalla IOTA Foundation. Tutte le transazioni referenziate da una pietra miliare si considerano immediatamente confermate.

Su due piedi, sbarazzarsi di Coo sembra semplice: si può semplicemente smettere di inviare queste pietre miliari, o fare in modo che CLIRI le tratti come transazioni ordinarie, ed abbiamo finito. Purtroppo, le pietre miliari sono necessarie in diversi contesti:

  • Selezione del punto di partenza. In IRI, la passeggiata aleatoria inizia da alcune pietre miliari precedenti. Senza poter pietre miliari qualli guide, è necessario un metodo alternativo per decidere da dove iniziare la passeggiata aleatoria. È stato sviluppato un algoritmo euristico piuttosto grossolano, che funziona con il backtracking da un tip recente fino a raggiungere un punto con un peso cumulativo sufficiente. Ottenere una corretta selezione dei tip si sta rivelando un componente piuttosto difficile da ottenere e più revisioni sarebbero benvenute
  • Calcolo dello stato del registro distribuito. Le pietre miliari sono utilizzate per ottimizzare il calcolo del registro distribuito, salvando uno stato intermedio per ogni pietra miliare, piuttosto che calcolare lo stato completo del registro distribuito a partire dalla genesi
  • Sincronizzazione dei nodi. Le pietre miliari sono utili per determinare quando un nodo perde la sincronia. Se l’ultima pietra miliare solida di un nodo è molto più vecchia di quella del suo vicino, probabilmente è rimasto indietro

Test a valore zero

Al fine di semplificare la prima iterazione di CLIRI, è stato deciso di rimuovere completamente la validazione del registro distribuito: tutte le transazioni sono valide, a condizione che soddisfino i requisiti PoW (Proof-of-Work). Questa versione verrà eseguita su una nuova testnet, chiamata znet, che sta per “valore zero (zero-value)“. L’obiettivo è quello di stabilizzare il codice e stabilire la resilienza prima di implementare logiche di validazione più complesse.

Inoltre si desidera raccogliere più analisi sulle prestazioni di znet. Per esempio, è stata introdotta una nuova API getConfidence, che calcola la fiducia di conferma di una transazione, come definito nel white paper. Sarebbe interessante tenere traccia dei livelli di fiducia nel tempo, vedere quale percentuale delle transazioni raggiunge un’elevata fiducia e quanto tempo ci vuole per raggiungerla.

Si accoglie con favore la partecipazione della comunità. Si può aiutare gestendo un nodo CLIRI, identificando i problemi e partecipando alla discussione su Discord nel canale #cliri-discussion.


Per gli smanettoni amanti di Docker trovate nel mio repository su Gitlab un docker-compose pronto per attivare un nodo CLIRI sulla testnet znet:
https://gitlab.com/antonionardella/cliri-znet


Il testo originale in lingua inglese si trova qui: https://blog.iota.org/a-coo-less-testnet-879ad17ca1af


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à.