Tassi di transazione, latenza e passeggiate aleatorie

Nel precedente articolo della serie, abbiamo introdotto il Tangle come struttura di dati. Abbiamo anche imparato a conoscere i tip e l’importanza di scegliere un buon algoritmo di selezione dei tip. Oggi impareremo a conoscere i tassi di transazione e la latenza della rete, e il ruolo che giocano nel determinare la forma del Tangle. Impareremo a conoscere anche la passeggiata aleatoria non ponderata, che sarà ulteriormente sviluppata nella prossima parte.

Nella simulazione potreste aver notato che le transazioni non sono distribuite uniformemente nel tempo, ma alcuni periodi sono più “occupati” di altri. Questa casualità, che rende il modello più realistico, si ottiene utilizzando un processo (a punti) di Poisson per modellare come arrivano le transazioni. Questo modello è molto comune per analizzare quanti clienti entrano in un negozio in un determinato periodo di tempo, o quante telefonate vengono fatte ad un call center. Possiamo vedere questo comportamento nel seguente esempio di Tangle. Le transazioni 4, 5 e 6 sono arrivate quasi simultaneamente, e dopo la transazione 6 c’è stata una lunga pausa.

Per i nostri scopi, abbiamo solo bisogno di sapere una cosa su questo processo di Poisson: in media, il tasso di transazioni in entrata è costante, ed è impostato da un numero che chiamiamo λ. Ad esempio, se impostiamo λ=2, ed il numero di transazioni a 100, il tempo totale di simulazione sarà di circa 50 unità di tempo. Provatelo!

Un’altra cosa interessante da sottolineare, prima di procedere: se impostiamo λ ad un valore molto piccolo (diciamo 0.1), otteniamo una “catena”. Una catena è un Tangle in cui le transazioni approvano solo una transazione precedente, invece di due. Questo accade perché le transazioni entrano così lentamente che in un dato momento c’è solo un singolo tip da approvare. All’altro estremo, con un enorme λ, tutte le transazioni arrivano così velocemente che l’unico tip che vedono è la genesi. Questo è solo un limite della simulazione: con λ grandi e un numero fisso di transazioni, stiamo simulando un periodo di tempo molto breve.

Un valore piccolo di λ produce una catena
Un λ molto grande: solo la genesi è visibile

Che cosa si intende per transazione che non “vede” una precedente? Nel modello, rendiamo ogni transazione invisibile per un certo periodo di tempo dopo il suo arrivo. Segnaliamo questo periodo di ritardo con la lettera h. Questo ritardo rappresenta il tempo necessario affinché la transazione sia preparata e si propaghi attraverso la rete. Nella nostra simulazione, abbiamo sempre impostato h = 1. Questo significa che possiamo approvare solo transazioni che si trovano almeno una unità di tempo nel passato. Questo ritardo non è solo un dettaglio minore che è stato inserito per un maggiore realismo, ma una proprietà fondamentale del Tangle senza la quale otterremo sempre una catena molto noiosa. Porta anche il Tangle più vicino al mondo reale, dove ci c’è della latenza per comunicare nuove transazioni.

Infine, è il momento di parlare di un algoritmo più avanzato di selezione dei tip: la passeggiata aleatoria non ponderata. Usando questo algoritmo, mettiamo un camminatore (walker) sulla transazione di genesi, e lo facciamo “camminare” verso i tip. Ad ogni passo salta ad una delle transazioni che approva direttamente quella in cui ci troviamo attualmente. Scegliamo a quale transazione saltare con la stessa probabilità, da cui deriva il termine non ponderato. Naturalmente, abbiamo fatto una simulazione che mostra come questo accade.

Il percorso che il camminatore segue è contrassegnato in rosso, e ad ogni incrocio i diversi percorsi possibili sono contrassegnati in blu. Le transazioni molto recenti, che sono “invisibili” all’attuale percorso aleatorio, sono mostrate come trasparenti.

Abbiamo coperto molto oggi, quindi per favore prendetevi il tempo per rivedere l’articolo, giocare con la simulazione e porre domande. Siete invitati a contattare direttamente Alon Gal sul Discord IOTA all’indirizzo @alongal#3938. La prossima parte, mostrerà i pesi cumulativi, Markov Chain Monte Carlo, e passeggiate aleatorie ponderate.

Parte 1: Introduzione illustrata al Tangle
Parte 3: Pesi cumulativi e passeggiate aleatorie ponderate
Parte 4: Approvazioni, saldi e doppie spese
Parte 5: Consenso, fiducia della conferma ed il coordinatore


Il testo originale in lingua inglese si trova qui: https://blog.iota.org/the-tangle-an-illustrated-introduction-c0a86f994445


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.