Scopriamo perché implementare il Lightning Network è di cruciale importanza per il miglioramento della blockchain.
Le blockchain sono lente. E, pertanto, costose. Qualora dovessi inviarvi dei bitcoin (Bitcoin), li ricevereste in un paio d’ore e dovrei inoltre pagare una grossa commissione. Con premesse del genere, come faranno mai le blockchain a conquistare il mondo?
Qualsiasi idea che possa risolvere la non-scalabilità delle blockchain è degna di attenzione, tempo e sforzi. Lightning Network è una di esse. Tuttavia, prima di comprendere la situazione, dobbiamo capire il problema.
Perché le blockchain sono lente?
Considerate la blockchain come un registro. Questo registro contiene diverse pagine (blocchi) ed ognuna di esse contiene delle transazioni. Non appena una pagina viene riempita di transazioni, deve essere unita al registro prima di iniziare a registrare transazioni sulla pagina successiva.
Prima che una pagina (blocco) possa essere aggiunta al registro (chain), ci sono alcuni procedimenti che devono essere portati a termine per assicurarsi che chiunque sia d’accordo con i contenuti trasmessi. Il procedimento richiede all’incirca 10 minuti (per la blockchain di Bitcoin) per ciascun blocco.
Immaginate di inviare 1 BTC al vostro amico Joe. La transazione dovrebbe essere più o meno così:
Tra le altre cose, una transazione contiene informazioni sul mittente, il destinatario, la cifra e le commissioni (fee).
Commissioni?
Sì, esatto, commissioni: c’è una tariffa supplementare.
Potete pagarla per incentivare i miner a includere la vostra transazione in un blocco il prima possibile. Non c’è un prezzo fisso e dipende interamente da quanto siete disposti a spendere per velocizzare il procedimento. Maggiore è la tariffa, più veloce sarà la vostra transazione.
In ogni momento, ci sono diverse transazioni disponibili da essere registrate sulla pagina corrente.
I miner, ovvero i computer che lavorano nella rete della blockchain, devono decidere quale delle transazioni disponibili includere nel blocco attuale. Per aiutarli a decidere, osservano le transazioni che possiedono ricompense maggiori – ciò implica che le transazioni con le commissioni più alte vengano incluse per prime.
Se ci sono abbastanza transazioni con delle commissioni maggiori rispetto alla vostra per riempire il blocco, la vostra dovrà attendere in coda. L’attesa può durare da pochi minuti a poche ore. A volte, persino giorni. Più pagate in commissioni, più velocemente verrà elaborata la vostra transazione.
È per questo che le blockchain sono lente e, quindi, costose perché tutti le inizino ad utilizzare. Idealmente, l’adozione della blockchain implicherebbe l’elaborazione di ulteriori transazioni, ma crescendo il loro numero, la rete rallenterebbe, finendo quindi per ostacolarne l’adozione.
Il Lightning Network (LN) è una soluzione potenziale al problema.
Cos’è il Lightning Network?
L’idea dietro il LN è che non tutte le transazioni debbano necessariamente essere registrate sulla blockchain.
Immaginate voi e me mentre effettuiamo alcune transazioni tra di noi. In tal caso, potremmo aggirare la registrazione delle transazioni sulla blockchain e portarle fuori dalla chain.
In parole povere, funzionerebbe così: apriremmo qualcosa chiamato canale di pagamento tra di noi e registreremmo la sua apertura sulla blockchain. Adesso, potremmo effettuare tutte le transazioni che desideriamo attraverso questo canale di pagamento, che potrebbe restare aperto per un qualsiasi numero di ore, giorni, settimane o decenni. L’unico momento in cui entreremmo nuovamente in contatto con la blockchain sarebbe al momento della chiusura del canale. In seguito, scriveremmo lo status finale delle transazioni che sono avvenute tramite il canale della blockchain.
Utilizzando questa idea di canale di pagamento, potremmo creare una rete di canali di pagamento tale che possa essere richiesta raramente per le transazioni sulla blockchain. Immaginate tre personaggi – Xan, Yelena and Zeke.
Se Xan e Yelena hanno un canale di pagamento aperto tra di loro e Yelena e Zeke ne hanno un altro, allora Xan può inviare soldi a Zeke tramite Yelena.
Supponiamo che Xan voglia inviare 2 BTC a Zeke, Yelena invierà 2 BTC a Zeke e Xan rimborserà 2 BTC a Yelena.
È questa l’idea del Lightning Network. Dato che non entrereste molto in contatto con la blockchain, la transazione avverrebbe alla velocità della luce. Come potreste avere intuito, la magia avviene nei canali di pagamento. Impariamo allora il trucchetto magico.
E cosa sono questi canali di pagamento?
Questa azione di deposito di somme uguali di denaro in una cassetta comune viene registrata sulla blockchain sotto forma di “transazione iniziale” e in seguito viene aperto un canale di pagamento tra quelle due persone.
L’idea di mettere del denaro in tale cassetta è che nessuno possa spendere i soldi contenuti in essa senza l’altro. I soldi nella cassetta vengono quindi utilizzati per effettuare delle transazioni tra l’uno e l’altro.
Immaginate che Xan e Xelena versino 10 BTC ciascuno nella cassetta comune. Se Xan volesse inviare 2 BTC a Yelena, come potrebbe farlo?
Per farlo, dovrebbe trasferire una promessa di proprietà per due dei suoi bitcoin nella cassetta comune a Yelena. Dopo il trasferimento della promessa, se la cassetta è aperta, Xan sarà in grado di prendere 8 BTC da essa e Yelena potrà reclamarne 12.
Tuttavia, non apriranno la cassetta, perché vorranno continuare ad effettuare transazioni tra di loro. È questo il bello di questo accordo.
Se, il giorno seguente, Yelena dovesse inviare 1 BTC a Xan, dovrebbe fare lo stesso – trasferire una promessa di proprietà per uno dei suoi bitcoin a Xan. Dopo queste due transazioni, se la cassetta è aperta, Xan può reclamare 9 BTC e Yelena può prenderne 11.
Ecco come funziona:
Per riassumere, il sistema di pagamento consiste in una combinazione derivante dal versamento di soldi insieme e dal trasferimento della promessa di proprietà del denaro versato nella maniera concordata sopra.
Se né Xan né Yelena vogliono chiudere il canale, possono tenerlo aperto.
La chiusura del canale permette ai partecipanti di prelevare i loro fondi e il risultato dell’operazione viene registrato sulla blockchain in modo permanente.
È così che funzionano i canali di pagamento. Ma ciò non arriva neanche vicino a definire il loro vero potenziale. La loro vera potenza viene attivata quando due o più canali di pagamento lavorano insieme per formare una rete – il Lightning Network.
Ok, ma come funziona esattamente?
Il Lightning Network funziona trasferendo il valore derivante dalla proprietà dei bitcoin alla promessa di proprietà dei bitcoin.
Tale passaggio è enorme. Come sempre, useremo un esempio per comprenderlo. Immaginate che ci siano tre persone, - Xan, Yelena e Zeke – che ci sia un canale di pagamento aperto tra Xan e Yelena ed un altro tra Yelena e Zeke. Notate che Xan e Zeke non hanno un canale di pagamento tra di loro.
In tale situazione, se Xan vuole trasferire 2 BTC a Zeke, può utilizzare il canale di pagamento tra Yelena e Zeke per farlo. Come avviene?
Xan chiede a Yelena di trasferire una promessa di 2 BTC a Zeke sul canale di pagamento Yelena-Zeke e poi rimborsa Yelena con 2 BTC sul canale Xan-Yelena.
Grazie al Lightning Network, la blockchain viene sgravata dal peso di milioni di transazioni (che invece verranno effettuate off chain) e i costi si riducono sensibilmente.