lightning network: cos’è, a cosa serve, come funziona e perché è così importante per lo sviluppo di bitcoin

BONUS BITMEX

Da qualche mese ormai sentiamo sempre più parlare di lightning network, cosa che ha scatenato in tutti un certo entusiasmo; a febbraio di quest’anno la notizia che Laszlo Hanyecz (la stessa magnifica folle persona che nel 2010 acquistò due pizze pagandole diecimila bitcoin) era tornato a comprare due pizze avvalendosi questa volta del lightning network, ha fatto galoppare le fantasie rialziste di tutti gli appassionati di criptovalute. Sarebbe tutto molto bello se non fosse che la stragrande maggioranza delle persone non aveva (e ancora non ha) la più pallida idea di cosa sia lightning network; a questa lunga lista di entusiasti che non aveva la minima idea di cosa stesse scatenando la loro euforia si aggiunge anche il sottoscritto. Quello che ho fatto, e che insieme a me hanno fatto tutte quelle persone, è stato rivolgerci a qualche esperto che ci spiegasse di cosa diavolo stessimo parlando e la risposta è arrivata immediata (come sempre accade in questa fantastica comunità); semplice, lightning network permette di effettuare transazioni sostanzialmente istantanee usando bitcoin e con commissioni prossime allo zero anche per microimporti. Wow! Fantastico vero? Peccato che le cose non siano esattamente così semplici come potrebbero apparire, ma del resto noi bitcoiners ci siamo abituati e la complessità non ci spaventa, anzi, ormai ci abbiamo fatto il callo. Visto che però l’argomento è abbastanza complicato tentiamo di affrontarlo con una certa progressività, di modo da non confonderci troppo le idee; in ogni caso potresti anche decidere di non volerti addentrare in questo momento in una spiegazione troppo complicata e tenere buona questa prima definizione e cioè, appunto, che lightning network permette transazioni immediate e con commissioni ridicole anche per piccolissimi importi. Non ci sarebbe nulla di male, a me questa spiegazione è andata benissimo per almeno un paio di mesi; per tutti gli altri, bitcoiners curiosi, tentiamo invece di dare qualche spiegazione in più. Per farlo, però, prima facciamo un salto indietro nel tempo di qualche migliaio di anni.

 lightning network: gli antichi sumeri facevano esattamente la stessa cosa

 Un paio di anni fa mi sono imbattuto in questo splendido post dal titolo “storia della moneta a prestito (sistema debito) http://www.anticorpi.info/2014/05/storia-della-moneta-prestito-sistema.html# un articolo molto interessante che spiega in maniera semplice e accessibile come nasce il denaro (e molte altre cose); l’articolo è molto lungo ma a noi interessa solo una parte e precisamente quella in cui ci racconta come gli antichi sumeri gestivano (più di duemila anni fa) le grandi fiere durante le quali si poteva commerciare praticamente qualunque cosa. All’epoca il denaro corrente era la così detta moneta aurea, in pratica si pagava con pezzi d’oro, d’argento e altri metalli o pietre preziose; il problema era che questo tipo di valuta era piuttosto scomoda per gestire un elevato numero di transazioni durante queste grandi fiere ed esponeva praticamente tutti a rischio di furti. Cosa s’inventarono i sumeri per risolvere questo problema? Qualcosa di simile alla blockchain. In pratica ogni fiera aveva un banco in cui chi intendeva commerciare poteva ricevere le somme di denaro necessario non in pezzi d’oro o pietre preziose, ma sotto forma di tavolette d’argilla; tutte queste somme di denaro venivano registrate su un libro contabile e il denaro sotto forma di tavoletta d’argilla poteva essere speso solo all’interno dello stesso mercato (evitando così il rischio di furti, il ladro non avrebbe potuto spendere quei “pagherò” altrove). Quindi tutti commerciavano utilizzando queste tavolette d’argilla e alla fine della fiera chi gestiva il banco chiudeva i conti appianando le voci attive e passive e saldando solo ciò che rimaneva; in questo modo il numero di transazioni da saldare alla fine della fiera (con valuta reale) richiedeva un volume di denaro (pezzi d’oro come abbiamo detto o altri metalli e pietre preziose) molto inferiore e questo offriva tutta una serie di vantaggi che in questa sede non ha senso approfondire (abbiamo inserito il link proprio per consentire a chi lo desiderasse di farlo autonomamente). Quello che facevano i sumeri, quindi, era aprire un canale per le transazioni tra i vari mercanti e il banco; tutto questo ci serve a capire la base concettuale (che come abbiamo visto viene da molto lontano) su cui si poggia il lightning network, fatto questo torniamo a parlare di bitcoin

 Che cos’è lightning network

 Se stai riuscendo a seguire il filo del discorso e non ti sei perso nella lettura del paragrafo precedente dovresti aver già intuito che lightning network non è un canale di pagamento, ma sono una molteplicità di canali di pagamento. In pratica non esiste un solo lightning network, ma ce ne sono tantissimi (e molti altri ancora ne nasceranno); si tratta di reti capaci di gestire transazioni in bitcoin ma senza trascriverle ogni volta sulla blockchain. Restando all’esempio degli antichi sumeri ogni nodo lightning network è equivalente al banco di una fiera, i commercianti scambiano le tavolette d’argilla (i bitcoin) direttamente tra loro, senza alcuna intermediazione o costo, e solo alla fine della fiera, come abbiamo visto, si saldano i conti (dopo aver appianato le voci attive e passive). Quello che succede, in pratica, è che una serie di soggetti che hanno rapporti commerciali continuativi tra loro usano lightning network per farlo e solo alla fine di questo rapporto il saldo finale viene registrato sulla blockchain; in questo modo la rete bitcoin, con tutti i suoi miners, invece di dover validare centinaia di transazioni ne dovrà validare solo una, quella relativa al saldo finale. Facciamo quindi un esempio pratico per capirci, supponiamo che io possieda una cartoleria e che con cadenza settimanale acquisti le matite che poi vendo al dettaglio da un grossista; se volessi pagare il grossista in bitcoin questo commercio genererebbe 53 transazioni l’anno; usando lightning network, invece, posso pagare il mio grossista in bitcoin (sempre con tempi sostanzialmente immediati e transazioni pari a zero) generando un’unica transazione effettivamente registrata sulla blockchain e segnatamente quella relativa al saldo di fine anno. Arrivati a questo punto probabilmente ti starai dicendo che non c’è nulla di così complicato da capire ed effettivamente potrebbe anche essere così, sempre ammesso che tu non voglia continuare la lettura di questo articolo; se invece, come mi auguro, deciderai di andare avanti tieni a portata di mano un analgesico perché da qui in poi le cose si fanno più difficili e potresti avvertire i sintomi di un leggero mal di testa

 Come funziona il lightning network

 A differenza di quanto accadeva nei mercati degli antichi sumeri dove i grandi commercianti si conoscevano, avevano un nome e una credibilità da difendere e quindi il banco concedeva le sue tavolette d’argilla sulla base di una stretta di mano contando poi che immancabilmente tutto sarebbe stato saldato alla fine della fiera noi oggi viviamo nel mondo globalizzato, stringiamo rapporti commerciali con persone che non conosciamo e abbiamo bisogno di garanzie più solide di una stretta di mano e di una tavoletta d’argilla; come hanno risolto gli sviluppatori questo problema di fiducia? Abbiamo detto che lightning network sono reti esterne alla blockchain e che le transazioni che avvengono su queste reti non sono registrate sul registro bitcoin, questo pone quindi un problema di sicurezza; per intenderci restiamo all’esempio precedente con la mia cartoleria. Per usare lightning network è necessario prima che io depositi una somma in bitcoin su un indirizzo comune dal quale sarà possibile movimentare frazioni di bitcoin solo con il consenso (espresso tramite firma digitale) di entrambe le parti (io che gestisco la cartoleria e il grossista che mi vende le matite); quando il grossista mi consegna la partita settimanale di matite io sblocco la somma equivalente al pagamento dall’indirizzo comune, il grossista verifica la congruità dell’importo e autorizza la transazione, i fondi possono quindi essere spostati da un indirizzo all’altro. Sostanzialmente potremmo dire che il processo di validazione della transazione che prima veniva gestito dai miners (con tutto ciò che ne conseguiva in termini di commissioni e tempistiche) viene adesso gestito direttamente dalle parti in causa. Man mano che il tempo passa si produrranno nuove transazioni che andranno ad erodere la somma inizialmente disponibile nel conto comune, ad ogni transazione si genera quella che tecnicamente viene chiamata commitment transaction, una sorta di consuntivo delle transazioni avvenute che le due parti (io e il grossista) conserviamo autonomamente senza registrarle di volta in volta sulla blockchain bitcoin. A fine anno, col consuntivo finale, il canale viene chiuso e a me (che sono il titolare della cartoleria) torna indietro il denaro eventualmente rimasto disponibile sul conto comune. Fin qui nulla di particolarmente complicato, ma solo perché abbiamo immaginato una situazione in cui sono sempre io a versare e sempre il grossista ad incassare. Immaginiamo uno scenario differente ed appioppiamo al grossista una quindicina di figli che frequentano la scuola che è nei pressi della mia cartoleria; se in questo nuovo scenario anche il grossista vuole pagare me in bitcoin per gli acquisti dei quaderni, delle penne e di tutto il materiale scolastico dei figli usando il nodo già attivo su lightning network cosa succede? In questo caso sul fondo comune andiamo a versare una somma sia io che il grossista; ad ogni transazione (indipendentemente da chi paghi chi) si genera una commitment transaction esattamente come nell’esempio precedente; si pone però un problema di sicurezza. Io potrei decidere a un certo punto di sottrarre la somma versata sul fondo comune tentando di chiudere anticipatamente il canale e presentando una commitment transaction relativa a un periodo di tempo precedente, in cui il saldo del conto è ancora a mio favore, ad esempio quella relativa alla data immediatamente precedente all’ultimo acquisto effettuato presso il grossista. Come si fa in questo caso? Semplice, siccome anche per chiudere il canale di pagamento è necessaria l’autorizzazione della seconda parte è possibile per il grossista produrre (in un arco di tempo che è pre-stabilito) una transazione speciale che annulla questo tentativo; dal momento che a ben vedere si tratta di una specie di contratto intelligente, è previsto ovviamente un meccanismo per scoraggiare i tentativi di frode e quindi, allo stato attuale delle cose, se io tentassi di frodare il grossista il canale di pagamento verrebbe chiuso comunque ma tutto il saldo disponibile sul conto verrebbe automaticamente versato direttamente al grossista, cioè a colui che era la vittima designata del mio tentativo di frode. Come vedi le cose si sono fatte molto più difficili rispetto ai paragrafi precedenti, ma se credi che sia finita qui e pensi di poter uscire dalla lettura di questo articolo senza quei famosi sintomi di mal di testa di cui ti accennavo ti sbagli, non abbiamo ancora finito e come scoprirai nel prossimo paragrafo le cose sono ancora più complicate di così.

 lightning network: potenzialità e sviluppi

 Se hai seguito il filo del discorso fin qui probabilmente ora ti starai domandando quale sia questa rivoluzionaria utilità della rete lightning network; se ti stai facendo questa domanda è perché hai capito che ipotizzare uno scenario in cui tutte le transazioni hanno natura uni o bi-direzionale non risponde che in misura infinitesimale alle esigenze che bitcoin deve soddisfare se vuole davvero diventare una valuta globale. In altre parole io (mettiamo mi chiami Giorgio) posso avere anche un canale di pagamento attraverso un nodo lightning network con un’altra persona (mettiamo si chiami Marco), ma se desidero effettuare un pagamento in bitcoin a un soggetto ancora diverso (poniamo caso si chiami Alessia) sarei costretto a ricorrere a una normale transazione registrata su blockchain. In realtà non è così, se infatti Alessia ha un canale di pagamento aperto con Marco io posso chiedere a lui di saldare Alessia per poi versare direttamente a Marco la cifra pattuita sfruttando il nostro canale di pagamento. E’ proprio per questo che è importante il numero di nodi della rete (che in ogni caso continua a crescere esponenzialmente col passare del tempo), perché in questo modo la transazione può rimbalzare attraverso più intermediari (decine, centinaia, non è importante) fino a raggiungere la destinazione desiderata (il tutto ovviamente in assoluta sicurezza attraverso un protocollo chiamato HTLC). Senza addentrarci troppo in tecnicismi, onde evitare di complicare ulteriormente il discorso, direi che per questo paragrafo possiamo anche fermarci qui.

 lightning network apre la strada ai grandi intermediari: siamo vicini alla nascita di una pay pall per bitcoin

 Mentre scrivevo questo articolo ho scoperto una serie di contenuti pubblicati poco prima dell’estate che riguardano un progetto (ancora in fase beta) che si chiama OpenNode; sostanzialmente è una sorta di pay pall pensato per consentire transazioni con bitcoin sfruttando la potenza di lightning network (ma non esiste solo questo progetto, ne stanno spuntando come funghi). Come ormai avrai intuito le grosse potenzialità di questa rete si palesano soprattutto se iniziamo a immaginare un sistema in cui si inseriscono dei grossi intermediari; queste terze parti forniscono agli utenti un conto in bitcoin e tutti questi conti sono basati su lightning network. Le applicazioni per il commercio al dettaglio sono infinite e aprono finalmente la strada a un futuro in cui davvero sarà possibile gestire ogni sorta di transazione, persino la più piccola, a costi irrisori, in immediatezza e usando bitcoin senza andare ad appesantire troppo la rete. Ovviamente con l’irruzione di grossi intermediari ritorniamo al punto di partenza, quello cioè di dover ricorrere a terze parti per gestire e movimentare la nostra liquidità, ma questo è vero solo fino a un certo punto. Nessuno infatti può vietarti di avvalerti degli intermediari per gestire i piccoli pagamenti di ogni giorno mentre al contempo continui ad essere la tua stessa banca depositando i tuoi bitcoin (o quello che in un prossimo futuro possiamo facilmente immaginare essere il tuo risparmio in bitcoin) su un wallet di cui detieni direttamente le chiavi private (magari usando il cold storage, cosa che ovviamente non posso che consigliarti).

 Conclusioni

 Se sei arrivato fin qui senza farti venire il mal di testa complimenti, hai la mia stima; a dire il vero, volendo, le cose potrebbero essere ancora più complicate di così (non abbiamo parlato di tante cose, tra cui forse una delle più importanti e cioè l’atomic swap ma di questo avremo magari modo di parlare in un articolo ad hoc), direi però che possiamo tranquillamente fermarci qui. Ho tentato di scrivere questo articolo nel modo più semplice possibile per aiutare chiunque a comprendere cosa sia lightning network e quali siano le sue potenzialità senza addentrarmi troppo in tecnicismi e utilizzando un linguaggio che fosse il più possibile digeribile da chiunque, inclusi coloro che hanno appena iniziato ad affacciarsi al mondo delle criptovalute. Nel lungo periodo lightning network rappresenta sicuramente una delle pietre miliari nel lungo percorso che porterà bitcoin a diventare la prima vera moneta globale (magari arrivando a scalzare il dollaro come valuta di riferimento del commercio mondiale) ma come puoi ben capire ci vorrà ancora del tempo prima che questo accada; nonostante ciò stiamo parlando comunque di una soluzione estremamente valida per risolvere il problema della scalabilità di bitcoin anche se si tratta di una soluzione off chain che ha scatenato una grossa polemica dal momento che si discosta pesantemente dalla visione iniziale di satoshi (ma del resto anche ampliare esponenzialmente e periodicamente, in un arco di tempo sufficientemente lungo, la dimensione dei blocchi non è una soluzione esente da criticità). Occorre sempre considerare che, inevitabilmente, parliamo di una tecnologia in continua evoluzione e non è detto che, tra qualche anno magari, non vengano fuori soluzioni che consentano di gestire in modo ancora più efficiente l’aumento esponenziale del numero di transazioni; per adesso però gli sviluppatori ci hanno fornito una prima risposta al problema della scalabilità che sembra poter garantire un certo sostegno alla crescita dell’ecosistema che si sta sviluppando intorno a bitcoin, per sapere cosa succederà in futuro ci toccherà aspettare.