Home Economia cryptovalute Il Lightning Network (seconda parte)

Il Lightning Network (seconda parte)

117
0

Come promesso, oggi cercheremo di riuscire a capire un po’ meglio come funziona questa nuova tecnologia chiamata appunto Lightning Network.

Abbiamo capito, la scorsa settimana che, tramite LN riusciamo ad aprire una sorta di “canale fuori catena” in grado di compiere transazioni molto velocemente e praticamente a costo zero. Ma come viene creato questo canale? Entrare nei dettagli non è certo il caso, ma vediamo se riusciamo a capirlo con l’aiuto di un semplice esempio.

Supponiamo di avere il nostro giornalaio di fiducia, dal quale ci rechiamo ogni mattina per comprare il quotidiano. Poiché, diciamocelo chiaramente, è una rottura ogni volta cercare gli spiccioli per comprare il giornale decidiamo di usare Lightning Network ed aprire quindi un canale di pagamento tra me ed il mio giornalaio. Ma come si fa?

Funziona all’incirca com’era consuetudine una volta quando si passava dal droghiere sotto casa per comprare la spesa quotidiana e alla fine si diceva: “metti sul mio conto” e poi, si passava alla fine della settimana o del mese per saldare il tutto… In realtà visti i tempi che corrono in cui non ci si fida più come una volta, (specialmente dal lato commerciante) le cose sono un po’ diverse: e quindi è come se dessi ad esempio 50 euro in anticipo al droghiere e, ogni volta che compro qualcosa, lui me li scala dai 50… (ovviamente mi devo fidare ciecamente di lui…).

Procedimento in tre fasi

Quindi, un canale, non è altro che una specie di “conto deposito” tra due parti, che scala man mano che parte di questo deposito viene “aggiornato” comprando qualcosa.

Questo canale è quindi un modo “furbo” di scambiare bitcoin off-chain, in sostanza è una specie di contratto, in realtà è un vero e proprio “Smart Contract” che si instaura tra le parti.

Tutto questo può essere sintetizzato in 3 fasi principali, vediamole nel dettaglio:

1. APERTURA DEL CANALE

È La prima fase, quella in cui metto i soldi, apro il conto deposito. Viene eseguita con quella che viene chiamata “transazione di fondazione” (Funding Transaction) che altro non è una vera e propria transazione sulla blockchain bitcoin, una classica transazione bitcoin che viene minata, quindi è una vera e propria transazione on-chain. Ma un po’ più nel dettaglio, com’è che si apre un canale? Cosa avviene dietro le quinte? Difficile da spiegarlo, ma proviamoci lo stesso… E un po’ come se io “preparassi una transazione, ma senza firmarla”, cioè indico l’ammontare dei soldi al mio giornalaio (o meglio al wallet del mio interlocutore) che io sono disposto a dare in conto deposito, e ce li metterò e la pubblicherò questa transazione, ma dopo e solo se prima lui mi prepara una transazione che mi garantisce che, se io volessi, me li ridarebbe indietro tutti e me la firma anche questa transazione. Detto così sembra aramaico antico, e lo capisco, ma non è semplice tradurre a parole e pensieri quello che avviene in programmazione. Detto molto, ma molto grossolanamente “è come se i wallet delle due controparti” (o meglio il software che li gestiscono) si accordassero e siglassero un “accordo fiduciario”, una sorta di scambio di informazioni (firme digitali) dando luogo praticamente ad una transazione sicura e non posso in alcun modo essere truffato né truffare. Viene quindi sempre garantito, la (eventuale) chiudibilità del canale.

2. AGGIORNAMENTO DEL CANALE

Pagamento, cioè compro il giornale. Questa è la fase che avviene più volte ed è quindi la più interessante, soprattutto per il fatto che avviene off-chain, cioè fuori catena e quindi non va ad aumentare la dimensione della blockchain, e quindi non crea problemi di scalabilità sulla stessa. Questa fase viene chiamata off-chain commitment transaction, letteralmente una commissione di transizione fuori catena. Ovviamente la velocità di questo tipo di transazioni dipende solo dalla velocità di comunicazione dei dispositivi interessati e dalla tecnologia LN stessa. Anche qui, semplificando molto il ragionamento di ciò che avviene realmente, si realizza un ulteriore scambio di firme digitali tra le parti che aggiorna (diminuendola) la cifra in deposito. In pratica, se e solo se lo scambio di firme tra le due parti avviene rispettando tutta una serie di regole, otteniamo quella che viene chiamata commitment transaction, che diminuisce il deposito iniziale della funding transaction, di una cifra pari all’importo utilizzato per comprare il mio primo (o secondo o terzo o….) giornale. Ovviamente questo tipo di transazioni devono venire sempre conservate (ma non pubblicate, solo conservate) e fintantoché persiste e rimane questo rapporto tra me ed il mio giornalaio, null’altro succede. Si può andare avanti così anche ipoteticamente per sempre. La conservazione di queste informazioni ora avviene perché la tecnologia LN adesso funziona così, in futuro (prossimo) probabilmente verrà conservata solo l’ultima transazione (quella dell’ultimo aggiornamento), che ovviamente è quella più importante e che realmente interessa ad entrambe le parti. È un po’ come se io conservassi tutti gli scontrini di tutti i giornali comprati prima dell’ultimo: Non è molto importante, neppure nella realtà lo facciamo, mentre l’ultimo scontrino invece si, in quanto contiene il mio “saldo disponibile”. Cosa succederebbe invece se io, che compro il giornale, dopo averne comprati un bel po’, provassi ad eseguire la prima commitment transaction, cercando di “gabbare” il mio giornalaio? In realtà non succede niente, semplicemente perché, in tutto lo scambio precedenti di firme, ci sono delle “transazioni di firme punitive”, che, in questo caso, assegnerebbe tutto il valore del canale al mio giornalaio. Il contrario non po’ succedere, nel senso che io non posso essere truffato dal mio giornalaio pubblicando una transazione “futura” a lui favorevole, a meno che il giornalaio non abbia pagato me in precedenza ed in qualche maniera, ed abbia uno status passato a lui favorevole. È abbastanza intuitivo capire che, questa sorta di incentivo economico a comportarsi tutti e due onestamente viene gestita automaticamente a livello software.

3. CHIUSURA DEL CANALE

Ritiro dei soldi avanzati. In sostanza è la chiusura dei rapporti col mio giornalaio di fiducia. Anche questa fase, come la prima, avviene una sola volta ed è una classica transazione bitcoin eseguita sulla blockchain. Nuovamente abbiamo in sostanza 3 possibilità, 3 diversi tipi di possibili transazioni di chiusura canale, eseguite on-chain, proprio come la prima, quella di apertura del canale.

    3a) Contestualmente e consensualmente da entrambi. Ad esempio, cambio città di residenza e non ho più alcun vantaggio a comprare il giornale in un posto che non si trova più vicino a casa mia e decido, dopo aver contattato il mio giornalaio di farmi dare indietro la cifra rimasta in conto deposito, pubblicando on-chain, una closing transaction, che, grazie proprio alla sua natura consensuale risulta essere sia economica che veloce.

   3b) Unilateralmente, cioè decido io di chiuderla.  Vengo trasferito in Burundi prelevato nel cuore della notte dalla Gestapo, che non mi permette certo di recarmi dal mio giornalaio per effettuare una closing transaction on-chain. Fa niente, in questo caso lo faccio da solo, ma mi costa di più e richiede anche più tempo.

   3c) In modo malevole. In questo caso si ottiene pubblicando una transazione revocata. Quest’ultimo caso è comunque rischioso e sanzionabile, quindi non conviene farlo, ma sostanzialmente si può farlo.

I vantaggi del Lighting Network

Ma qual è il fine ultimo di LN? Penso sia abbastanza ovvio capire quello che è lo scopo ultimo, l’obiettivo finale che si prefigge di raggiungere la rete LN nel corso del prossimo futuro.

Un utilizzo di massa di questa innovativa tecnologia permetterebbe quindi di aprire molti canali tra gli utilizzatori, fornendo loro, non solo i vantaggi di cui abbiamo parlato poc’anzi, ma anche di guadagnare qualche satoshi in virtù del solo utilizzo capillare del canale, mettendo a disposizioni “temporaneamente” una cifra “x” con il solo scopo di bilanciare i canali.

Non dimentichiamo che, un utilizzo capillare di LN porterebbe probabilmente, anzi sicuramente, a tutti coloro che la useranno, un’aumentata libertà finanziaria, lontano da banche ed istituzioni politiche di ogni sorta!

Ma questo lo vedremo nel corso della prossima puntata. Vi anticipo inoltre che, tra un paio di settimane avrò l’onore di intervistare uno dei personaggi chiave di bitcoin e di Lightning Network.

Non vi svelo per ora il suo nome, ma vi posso dire che, nella conferenza in cui l’ho conosciuto, grazie alla quale, ho potuto scrivere questi articoli su LN si è presentato come:

Programmatore poliglotta Full Stack Software Engineer……”

Se non avete capito di chi sto parlando lo scoprirete tra 7 giorni esatti!

Vi ricordo inoltre che, per partecipare attivamente alle attività di mining del bitcoin, è possibile iscriversi gratuitamente al mio gruppo di miners, a questo link.

Coloro invece che volessero avere una prima consulenza generale e gratuita, possono iscriversi gratuitamente al mio gruppo meetup di Padova al seguente link.