Alpha α, il parametro misterioso di IOTA.
Scopriamo insieme di cosa si tratta.

Coloro che hanno seguito la serie l’Introduzione illustrata al Tangle (Illustrated Introduction to the Tangle in inglese), si ricorderanno di un parametro misterioso chiamato α (alpha), che influenza il livello di casualità nella passeggiata aleatoria (random walk). In questo articolo approfondiremo, come nello specifico α influenzi la selezione dei tip e menzioneremo alcuni aspetti da considerare quando si scrive un’implementazione software.

Si noti che questo articolo presuppone una conoscenza di base di come viene costruito il Tangle ed in particolare cosa è la conferma (approval) ed il peso cumulativo. (Tangle, transazione, conferma e consenso) In oltre è utile essere a proprio agio con la funzione esponenziale ed avere una certa comprensione della teoria della probabilità.

Per quale motivo ci serve la casualità?

Per preparare il terreno per la comprensione di α dobbiamo in primo luogo ricordare perché eseguiamo una passeggiata aleatoria. Il contesto è la selezione dei tip: ogni nuova transazione deve confermare due transazioni precedenti. Il modo in cui viene effettuata questa scelta è cruciale nel determinare come il Tangle si presenta e si comporta.

Il metodo di selezione dei tip dovrebbe idealmente fornire queste due seguenti caratteristiche:

  1. Una volta che una transazione accumula un gran numero di conferme (approval), è molto improbabile che venga abbandonata
  2. Le transazioni oneste dovrebbero essere confermate (approved) rapidamente

Per raggiungere il primo obiettivo, potremmo decidere di effettuare una passeggiata deterministica dalla genesi ai tip, andando sempre verso l’approvatore con il maggior peso cumulativo. Tuttavia, questo danneggerebbe il secondo obiettivo: solo una singola catena centrale otterrebbe le conferme, mentre la maggior parte delle transazioni verrebbero ignorate/scartate.

Quando scegliamo i tip andando sempre verso l’approvatore più pesante, molte transazioni sono scartate/ignorate.

Per raggiungere un compromesso tra questi due obiettivi, introduciamo un po’ di casualità. Preferiamo i confermatori più pesanti, ma diamo comunque una certa probabilità a quelli più leggeri.

Definizione matematica

Si definisce una funzione di transizione, che ci dice la probabilità di passare dal confermato al confermante durante la passeggiata aleatoria. Si desidera che questa probabilità fosse grande per i confermatori con un peso cumulativo elevato e piccola per i confermatori più leggeri.

La funzione di transizione che usiamo è definita come segue:

formula

Dove Pxy è la probabilità di camminare da x a y, Hy è il peso cumulativo della transazione y, e z ~> x significa “z approva direttamente x”.

In altre parole, la probabilità di camminare da x a y aumenta esponenzialmente con il peso cumulativo di y, moltiplicato per α (alpha). La somma al denominatore è un fattore di normalizzazione, che imposta la somma totale delle probabilità di transizione ad uno.

Esempio con alpha

Nell’esempio seguente, la passeggiata aleatoria ha raggiunto la transazione X, che ha tre approvatori: A, B e C. Per calcolare le probabilità di transizione, dobbiamo prima calcolare i pesi cumulativi. A ha un solo approvatore e quindi il peso cumulativo 2. B ha due approvatori, quindi ha il peso 3. Infine, C non ha approvatori, quindi il suo peso è 1.

esempio

Iniziamo con α = 1 ed inseriamo i numeri nella formula sopra:

esempio con dati

Possiamo vedere che C ha una probabilità molto più bassa di essere scelto rispetto ad A o B, dal momento che il suo peso è inferiore.

Se impostiamo α su un valore inferiore, diminuiamo il pregiudizio (bias) rispetto a C. Ad esempio, per α = 0.1, otteniamo le seguenti probabilità:

alpha modificato

C’è ancora un leggero pregiudizio nei confronti della transazione C, ma è molto meno pronunciato.

Se esaminiamo lo scenario estremo di α = 0, tutti gli approvatori sono completamente equivalenti ed hanno una probabilità di 1/3. Questo è il caso in cui i pesi smettono di contare e la passeggiata è completamente casuale.

All’altro estremo, abbiamo il caso di un alpha molto grande. In questo scenario, la probabilità di camminare verso A è 1, e B e C hanno probabilità di transizione zero. Questo caso è analogo ad una blockchain: approviamo solo il singolo tip più probabile e non uniamo mai diversi rami.

Sommario

Questo articolo è stato più matematico di quelli precedenti, e spero che siate riusciti a seguirlo. Come sempre, siete benvenuti a porre domande in #tanglemath sul Discord di IOTA.

Il testo originale in inglese si trova qui: https://blog.iota.org/alpha-d176d7601f1c


Per ulteriori informazioni in italiano o tedesco trovate i miei contatti a questa pagina.
Se avete trovato utile la mia traduzione, accetto volentieri delle donazioni 😉
IOTA:
CHQAYWPQUGQ9GANEWISFH99XBMTZAMHFFMPHWCLUZPFKJTFDFIJXFWCBISUTVGSNW9JI9QCOAHUHFUQC9SYVFXDQ9D
BTC:
1BFgqtMC2nfRxPRge5Db3gkYK7kDwWRF79
Non garantisco nulla e mi libero da ogni responsabilità.


Also published on Medium.