Bitcoin e adozione di massa: cosa (e quanto tempo) manca a Lightning Network23 minuti


INDICE:

1) INTRO
2) COME FUNZIONA LIGHTNING NETWORK
3) COSA MANCA A LIGHTNING NETWORK PER L’ADOZIONE DI MASSA
4) PROBLEMA 1: IL BACKUP DEL WALLET
5) SOLUZIONE: IL BACKUP SU ELECTRUM LN
6) PROBLEMA 2: SCARICARE E VALIDARE TUTTA LA BLOCKCHAIN
7) I WALLET SPV CON LIGHTNING NETWORK
8) LE SOLUZIONI A LIVELLO DI PROTOCOLLO
9) PROBLEMA 3: COLLEGARSI PERIODICAMENTE PER CONTROLLARE I CANALI
10) LA SOLUZIONE DI ELECTRUM: LE TORRI DI GUARDIA
11) COSTI DELLE WATCHTOWERS E DINAMICHE DI MERCATO
12) MAGGIO 2020: AFFRONTARE L’HALVING A TESTA ALTA

 

1) INTRO

La tecnologia blockchain non è scalabile, ovvero non può supportare un numero molto elevato di transazioni. Perciò non basta a rendere Bitcoin una buona valuta. La vera adozione di massa richiede che una cryptovaluta possa essere utilizzata illimitatamente da chiunque nel mondo, per gli scambi monetari quotidiani, senza che un utilizzo così intenso mini le sue caratteristiche principali di sicurezza. Mentre gli ultimi arrivati, i truffatori e gli speculatori amanti della lotteria, perdono tempo dietro a ICO e altcoin spazzatura, su Bitcoin si sta sviluppando quella che è vista da molti come la soluzione definitiva: Lightning Network.

Ogni giorno si sente nominare una nuova diavoleria tecnologica in grado di supportare, migliorare e perfezionare Lightning Network: channel factories, multiplex channels, random hop secrets, mutable capacity, compact block filters, e così via. Tuttavia la maggior parte degli utenti non afferra nemmeno il significato più generale di queste nozioni. È parecchio che si sente parlare di strabilianti sviluppi, ma si fatica a vederne le tracce concrete e qualcuno parla già di vaporware. Insomma questo Lightning Network s’ha da fare o no?

Ad oggi in pochi sono in grado di testare appieno LN per via dell’elevata difficoltà tecnica che richiede: ci vuole studio, tempo da investire e anche qualche satoshi da sacrificare. Chi non può toccare con mano rimane senza una chiara risposta alla domanda fondamentale che è naturale porsi: cosa manca, a livello tecnico, perché Bitcoin possa arrivare all’adozione di massa? A che punto è lo sviluppo? Quando i comuni utenti potranno usare serenamente LN pagando il caffé al bar, con una transazione istantanea e (quasi) gratuita? Nei prossimi paragrafi vedremo come l’arrivo del wallet Electrum per Lightning Network può aiutarci a rispondere a queste domande, ma prima è bene spiegare in modo stilizzato e semplificato cos’è e come funziona Lightning Network.

 

2) COME FUNZIONA LIGHTNING NETWORK

(questo paragrafo presenta una descrizione semplificata di LN, per approfondimenti si può attingere dalla guida dedicata sul blog risale al maggio 2016 ed è orgogliosamente la prima guida completa del web sul white paper di LN, disponibile sia in ITA che ENG)

L’idea di base di LN è che l’utilizzo principale della blockchain Bitcoin non sia più quello di un registro dei pagamenti/trasferimenti di denaro. Piuttosto, diventa un registro di smart contracts che rappresentano i “canali” di credito in cui questi pagamenti si muoveranno.

Facciamo un esempio di quanto accade oggi senza LN: Alice deve pagare 1btc a Bob, quindi trasmette alla rete una transazione che viene inclusa da un miner all’interno della blockchain. Una volta nella blockchain, quella transazione occupa circa 200 bytes, come pressapoco ogni altro pagamento fatto da Alice o Bob. Quindi ogni fullnode della rete, che si trovi in Asia, Europa o qualsiasi altro luogo, scarica e processa quella transazione di 200 bytes, per quanto insignificante possa essere (come ad esempio l’acquisto di un caffè). Prima della transazione, il bitcoin trasmesso era associato alla chiave privata di Alice, mentre una volta che la transazione è conclusa, il bitcoin è passato sotto la chiave privata di Bob, il quale ha ora il controllo di quel denaro.

Nel caso di Lightning Network invece, Alice invierà alla rete uno smart contract di “apertura del canale” con Bob, smart contract che viene scritto all’interno della blockchain. Il bitcoin era prima in possesso di Alice, perché associato alla sua chiave privata, ma ora a differenza di prima non passa direttamente alla chiave privata di Bob, rimane invece in una sorta di limbo, le cui regole sono dettate dallo smart contract. Questo smart contract prevede che Bob possa “chiudere il canale”, trasferendo 1 btc alla sua chiave privata e inviando la transazione online così che i miner possano includerla nella blockchain. A quel punto Bob potrebbe dire di aver ricevuto il pagamento di Alice, come avveniva prima dell’invenzione di LN. Tuttavia, per Bob non è necessario compiere l’operazione di chiusura del canale ora, poiché potrebbe farlo anche domani, o fra 10 anni. Lo smart contract lascia la libertà a Bob di scegliere quando chiudere il canale. Dopotutto, finché Bob ha la libertà di poter trasferire in qualsiasi momento, verso la propria chiave privata, i bitcoin che sono ora nel “limbo” dello smart contract, può già effettivamente ritenere i bitcoin come propri.

La cosa interessante è che Bob ha covenienza a mantenere i bitcoin in questo stato di “limbo” per molto tempo. Infatti, lo status dei bitcoin all’interno dello smart contract può essere modificato istantaneamente e senza costi, perché è aggiornabile da Bob e Alice senza scrivere alcun dato ulteriore nella blockchain. Per esempio, Bob può restituire il bitcoin ad Alice semplicemente inviandole dei dati, privatamente da wallet a wallet, senza che la transazione venga trasmessa a nessun altro nella rete Bitcoin. Immaginiamo quindi che Bob restituisca mezzo bitcoin ad Alice: il wallet di Bob invia ad Alice dei dati rivelando alcune informazioni che essa può sfruttare per sbloccare lo smart contract e trasferire verso la propria chiave privata i bitcoin, con priorità rispetto a Bob: si viene a creare così un nuovo “stato” del canale per cui Alice è in possesso di 0,5 bitcoin, Bob degli altri 0,5.

A questo punto, se Bob volesse chiudere il canale inviandosi l’intero bitcoin presente nello smart contract, può ancora tentare di farlo e trasmettere alla blockchain la transazione, ma Alice potrà chiudere il canale con priorità rispetto a lui, portando alla sua chiave privata il mezzo bitcoin che le spetta. Finché i bitcoin rimangono in questo stato di “limbo” i due utenti potranno modificare lo stato infinite volte senza trasmettere mai alcun dato nella blockchain, bensì aggiornando sui wallet di ciascuno (ed esclusivamente sui loro wallet, senza che il resto del mondo ne sappia nulla) le quantità di btc all’interno del canale che spettano a entrambi, oltre che la priorità con cui un utente o l’altro può trasferire i bitcoin verso la propria chiave privata, nel caso si decidesse di terminare lo smart contract e trasferirne all’esterno i fondi.

Gli aggiornamenti dello smart contract fra Alice e Bob sono detti transazioni off-chain perché non vengono registrati sulla blockchain di bitcoin. Il vantaggio è che sono aggiornamenti istantanei e che garantiscono anche privacy, poiché solo Alice e Bob sanno quante transazioni hanno fatto e chi possiede quanti bitcoin.

Ma la cosa più importante e veramente rivoluzionaria è che se Bob a sua volta ha un canale aperto con Charlie, Alice potrà mandare il suo mezzo bitcoin direttamente a Charlie, inviando dei dati che passano per Bob e aggiornando due smart contract, quello inerente il canale fra Alice e Bob e quello fra Bob e Charlie. Se Charlie avesse un canale aperto con Dave, Alice potrebbe inviare il mezzo bitcoin direttamente a Dave, aggiornando tutti gli smart contracts dei canali intermedi, come se fossero delle chiuse che vengono riempite e svuotate, permettendo di regolare i flussi (di credito).

Se la “rete” di canali è molto estesa, potenzialmente chiunque potrà transare con chiunque altro senza mai scrivere all’interno della blockchain alcun byte aggiuntivo a quello della prima transazione di apertura del canale. Ogni persona nel mondo potrà fare praticamente tutte le transazioni che vuole istantaneamente e senza pagare un solo satoshi ai miners. Le uniche transazioni che verranno registrate onchain saranno quelle di apertura e chiusura dei canali, quelle che assicurano i fondi in un cold wallet oppure alcuni trasferimenti per importi molto elevati per cui pagare una fee non è economicamente svantaggioso.

 

3) COSA MANCA A LIGHTNING NETWORK PER L’ADOZIONE DI MASSA

Lo smart contract di apertura del canale fra Alice e Bob menzionato sopra può funzionare senza rischi solo se gli utenti connettono periodicamente il proprio nodo/wallet alla rete internet così da controllare che la controparte non stia tentando una truffa. Ad esempio Bob potrebbe chiudere il canale tentando di inviare fuori dallo smart contract e verso la propria chiave privata l’intero bitcoin, anziché soltanto la metà che gli spetta. Lo smart contract prevede che se Bob chiudesse il canale con un tentativo truffaldino, Alice potrà effettuare una transazione che porta verso la propria chiave privata non solo il suo mezzo bitcoin, ma anche l’altra metà che apparteneva legittimamente a Bob. La transazione di Alice è prioritaria e perciò vince su quella di Bob, che risulta un double spending e non sarà validata dai miners. Il fatto che Alice si accaparri in questo caso tutti i fondi all’interno del canale, inclusi quelli di Bob, rappresenta una “punizione” che serve a scoraggiare Bob dal tentare il furto.

Affinché LN sia utilizzabile dalle masse è necessario che chiunque possa usarlo con un light client, ovvero un wallet che funzioni anche da smartphone, senza richiedere complicate configurazioni tecniche o vincoli onerosi, come azioni particolari richiesti all’utente quali il fatto di collegarsi frequentemente online per controllare lo status dei propri canali aperti ed evitare truffe. Pur esistendo già alcune implementazioni di light wallet, ad oggi non c’è una soluzione che soddisfi pienamente questi requisiti. C’è però una buona notizia: sta per uscire Electrum wallet con Lightning Network, il quale potrebbe rappresentare la vera svolta per la rete Lightning.

Thomas Voegtlin è il principale developer di Electrum, nonché CEO dell’omonima azienda. Da alcuni mesi sta lavorando a pieno ritmo all’implementazione di LN. Oltre ai contributi dati dalla community di sviluppatori (il progetto è come sempre open source) Voegtlin sta impiegando due developer pagati full time e due developer part time. Includendo Thomas stesso si tratta dunque di un team di 5 persone e una prima release del wallet, pensata per gli utenti più tecnici, potrebbe già essere pubblicata entro il 2018, mentre nel 2019 uscirà la versione per l’utente medio.

Electrum LN è sviluppato precisamente con l’intenzione di mettere a disposizione di tutti un light wallet, che non richiede cioè un fullnode validatore dell’intera blockchain, e che risolva tre problemi fondamentali per l’utente comune:

  • Ad oggi non c’è un sistema comodo ed efficace di backup di un wallet Lightning Network. Non c’è quindi la portabilità fra diversi dispositivi e (di conseguenza) neanche la sicurezza di poter recuperare i propri fondi se il proprio computer/device viene danneggiato
  • Oggi i wallet LN devono scaricare e validare l’intera blockchain, per accertarsi di conoscere ogni transazione onchain che avviene nella rete bitcoin (specialmente quelle di chiusura dei canali)
  • Un wallet LN per essere sicuro deve essere sempre online, o quantomeno deve essere online con sufficiente frequenza, per monitorare i canali aperti ed evitare truffe

4) PROBLEMA 1: IL BACKUP DEL WALLET

Sin dalle prime release di Electrum, il backup è stato fra i suoi grandi punti di forza. Voegtlin infatti ha sviluppato il primo wallet HD (Hierarchical Deterministic), ovvero un wallet che utilizza un unico seed (la frase mnemonica) da cui discendono tutte le chiavi private. È sufficiente quindi trascrivere o ricordarsi quella frase per “possedere” i bitcoin corrispondenti alle chiavi private legate a quel seed. Se il proprio device si rompesse, importando il seed in qualsiasi altro portafoglio di tipo HD si tornerà in possesso dei propri bitcoin. Questa caratteristica sarà mantenuta dal wallet, ma soltanto per quanto riguarda i fondi onchain che teniamo su Electrum. Se ci sono anche canali aperti con LN, è un altro discorso.

Fare un backup dei propri fondi all’interno di uno smart contract di Lightning Network è molto diverso rispetto al semplice backup delle chiavi private. In quest’ultimo caso ci si appoggia soltanto alla blockchain, salvandosi le chiavi corrispondenti agli indirizzi che nella blockchain presentano dei bitcoin spendibili, mentre nel caso di LN è necessario salvarsi tutti gli smart contract (on-chain) aperti dal proprio nodo e tutti i successivi aggiornamenti (off-chain) presenti solo sul nostro wallet e quello della controparte.

5) SOLUZIONE: IL BACKUP SU ELECTRUM LN

Thomas dichiara che sta sviluppando una soluzione che mantenga il più possibile la stessa comodità e facilità d’uso che il backup su Electrum ha sempre avuto. L’esperienza utente sarà molto simile a quella attuale e sarà possibile inviare, ricevere e fare backup dei fondi sia col metodo tradizionale su blockchain che con LN (su due tab separati dell’applicazione), senza che l’utente noti una grossa differenza. Per il backup del canale Lightning, i dati saranno spediti a un servizio terzo on cloud, ma saranno crittati lato utente. Qualora dunque il nostro device o pc venisse smarrito o si rompesse, l’utente potrà ripristinare interamente il wallet inclusi tutti i canali aperti, senza che il servizio on cloud sappia nulla delle nostre informazioni, poiché crittate e accessibili solo lato client.

 

6) PROBLEMA 2: SCARICARE E VALIDARE TUTTA LA BLOCKCHAIN

Oltre al backup, il problema più grosso a livello di processo è il fatto di dover far girare un fullnode bitcoin per constatare che non ci siano tentativi di frode. Non tutti gli utenti hanno la capacità o la volontà di mantenere un fullnode in casa che sia sempre online. Ma anche i più tecnici non vivono volentieri nell’ansia che la propria macchina vada offline, per una qualsiasi ragione, e che una controparte truffaldina colga l’occasione per svuotare un canale. Comunuqe sia, avere la possibilità di mantenere un nodo sicuro anche su smartphone è semplicemente un’opzione in più senz’altro gradita.

In passato un problema analogo, ma in altro contesto, è stato risolto con l’invenzione dei wallet SPV (o light client o litenode), di cui BitcoinJ e poi Electrum sono fra le prime release. Un fullnode scarica e valida ogni singola transazione effettuata sulla blockchain, perciò non può accettare una transazione fasulla, ovvero che spende bitcoin creati dal nulla o bitcoin già spesi e quindi non più disponibili (double spending). I litenode scaricano invece solo i blockheaders, ovvero 80 bytes per blocco (ogni 10 minuti) e non effettuano quindi la faticosa validazione di ogni transazione. 80 bytes per blocco significa, per intenderci, che tutti gli headers dal genesis block di 9 anni fa ad oggi pesano meno di 50MB. Come può quindi un litenode essere sicuro di non accettare transazioni false? Ebbene, quando arriva un pagamento, il litenode controlla in modo praticamente istantaneo e infallibile se questo è presente all’interno del blocco di cui ha scaricato l’header. Nel blockheader c’è il così detto Merkle root (radice), ovvero una breve stringa che “riassume” tutte le transazioni del blocco, le quali sono ordinate in una struttura ad albero detta Merkle tree (vedi approfondimento).

Di quanto presente nel Merkle tree, raffigurato in grafico, l’unico elemento presente nel block header è il rettangolo in cima (numero 1). A partire da questa “radice”, il litenode si connette a un qualsiasi fullnode chiedendo tutti i dati di quel Merkle tree che gli mancano al fine di collegare tale radice alla transazione da verificare (che è il rettangolo 10). Nel caso d’esempio il litenode chiede al fullnode i dati relativi alla transazione 11 e gli hash 3 e 4, che gli permettono di calcolare i rettangoli 5 e 2 e quindi la corrispondenza fra la transazione da validare (10) e il Merkle root (1). Il fullnode non può mentire al litenode inviandogli in risposta dei dati falsi, poiché per produrre una risposta falsa necessiterebbe di un’incredibile quantità di calcolo (e il litenode si aspetta una risposta pressoché immediata), perciò l’utente può essere certo che la transazione sia reale e non una truffa. Questo è il meccanismo che permette ad oggi di utilizzare in sicurezza wallet bitcoin su semplici smartphone, richiedendo quindi risorse hardware e software davvero minime.

 

7) WALLET SPV CON LIGHTNING NETWORK

Il fullnode che viene interrogato dal wallet SPV, anche se non può mentire producendo dati falsi, potrebbe “non dire tutta la verità”, quindi “mentendo per omissione”. In poche parole, il fullnode può nascondere al wallet SPV alcune transazioni che sono avvenute.

Nel caso di un wallet SPV tradizionale questo significa che potremmo non sapere di aver ricevuto un pagamento, ma in nessun caso saremo “ingannati” ricevendo un falso pagamento. Questo restringe le possibilità di frode praticamente a zero. Le vie del demonio sono infinite, ma per ingannare un wallet SPV si dovrebbe circondarlo di fullnode che omettano tutti la stessa transazione, assicurandosi che il wallet SPV non si connetta in alcun modo a nessun altro fullnode onesto, magari limitando lo spettro di nodi raggiungibili mettendo delle pesanti restrizioni agli indirizzi IP (restrizioni attuate dal provider di rete?), insomma un provvedimento del tutto improbabile. Tutto questo soltanto per far sì che l’utente non sappia che un pagamento ricevuto sia stato davvero ricevuto, cosa di cui l’utente si può comunque accertare andando su qualsiasi sito come blockchain.info o altri blockexplorer. Anche se ingannato, è difficile immaginare come l’utente dovrebbe per questa ragione essere indotto a fare un pagamento verso il “truffatore” e quindi perdere soldi a beneficio di quest’ultimo. Tale situazione è quindi del tutto remota e improbabile, al punto che non se ne è mai avuto notizia in tanti anni di esistenza dei wallet SPV.

Se l’omissione di alcune informazioni non è critica per i wallet tradizionali, lo stesso non vale per quelli che usano Lightning Network. Tornando all’esempio di Alice e Bob, se dai fullnode cui si collega Alice è omessa la transazione di chiusura del canale, Alice potrebbe non venire a conoscenza del fatto che Bob ha terminato lo smart contract inviandosi l’intero bitcoin, quando invece il balance corretto dovrebbe riportare 0,5 bitcoin per Alice e 0,5 per Bob. Se Alice non lo sa, non invierà alla blockchain la sua transazione di chiusura del canale prioritaria su quella di Bob, dove mette in sicurezza i fondi spedendoli alla propria chiave privata (tale transazione di Alice è detta in gergo “breach remedy”). La menzogna per omissione (“lie by omission”) è dunque un problema per i light wallet con Lightning Network, mentre non lo è per gli SPV tradizionali.

 

8) LE SOLUZIONI A LIVELLO DI PROTOCOLLO

Vi sono due approcci diversi per arginare il problema di sicurezza degli SPV con Lightning Network: uno è implementare un accorgimento a livello di client, come vedremo che fa Electrum, l’altro (più drastico) è quello di modificare il protocollo stesso di Bitcoin. Se si volesse seguire quest’ultimo approccio, secondo Thomas Voegtlin la soluzione migliore sarebbe quella di includere nel block header un hash che sia il prodotto del Merkle tree di ogni UTXO della blockchain, ovvero di tutti i bitcoin spendibili. La radice (root) di tale albero verrebbe scritta nel block header e quindi scaricata dai wallet SPV. A partire dalla radice, il wallet controlla la transazione di apertura del canale facendosi passare dai fullnode ogni ramo del Merkle tree necessario a controllare che gli output dello smart contract siano ancora UTXO spendibili (come per il Merkle tree delle transazioni, il fullnode non può mentire). Se quindi gli output fossero già stati spesi, significa che il canale è stato chiuso dalla controparte malevola e quindi l’utente invierà alla blockchain la breach remedy.

Con un upgrade fork di questo tipo, l’utente non avrebbe più bisogno di far girare un fullnode per utilizzare in sicurezza Lightning Network, dovrebbe soltanto assicurarsi di collegare periodicamente online il proprio SPV per scaricare i block header e controllare che i canali siano ancora attivi. Tuttavia, se vogliamo wallet LN operativi il prima possibile, non possiamo aspettare un nuovo fork che al momento non è nemmeno in discussione. Inoltre, se anche il wallet SPV non dovesse più preoccuparsi della menzogna per omissione, sarebbe comunque costretto a collegarsi alla rete con una certa frequenza, per poter ricevere le informazioni dai fullnode. Electrum quindi non farà affidamento a una soluzione di questo tipo.

 

9) PROBLEMA 3: COLLEGARSI PERIODICAMENTE PER CONTROLLARE I CANALI

Ad oggi le principali implementazioni di nodi Lightning Network impostano di default un locktime dei fondi nel canale di 144 blocchi (ovvero 24 ore). Questo significa che se Bob volesse truffare Alice chiudendo il canale, questa avrebbe fino a 24 ore di tempo per inviare la breach remedy e recupeare i propri soldi. Questo arco temporale è personalizzabile dagli utenti che aprono il canale e ci si può aspettare che, quando la rete LN sarà a regime, i tempi di locktime siano molto più lunghi, ad esempio 2 settimane piuttosto che 24 ore. Infatti se Alice ha più tempo per intervenire, ha molte meno probabilità di essere truffata. D’altro canto, poiché oggi LN è usato principalmente per scopi di testing, i tempi sono ridotti al fine di poter recuperare più in fretta i fondi se si vuole chiudere uno smart contract e liberare i bitcoin dallo stadio di “limbo”. Rimarrà comunque sempre un trade-off fra comodità di poter recuperare velocemente i propri fondi onchain e il rischio di non intervenire in tempo per evitare una truffa. È chiaro comunque che non si può basare il sistema di sicurezza di tutta una rete di pagamenti sul fatto che gli utenti siano costretti a monitorare i propri canali, rischiando di essere truffati e perdere i soldi se non lo facessero. Anche se il locktime fosse di due settimane o un mese, ognuno dovrebbe mettere in conto la possibilità di non riuscire ad accedere al proprio wallet anche per un periodo molto più lungo, senza tuttavia riscontrare problemi.

 

10) LA SOLUZIONE DI ELECTRUM: LE TORRI DI GUARDIA

Electrum intende risolvere sia il problema 2 (necessità di validazione della blockchain) che il problema 3 (necessità continua di monitoraggio dei canali) con un software chiamato watchtower. La “torre di guardia” sarà implementata già nella prima release di Electrum, quella per gli utenti più tecnici. La watchtower è un fullnode che scarica l’intera blockchain e monitora i canali con l’obiettivo di far scattare la breach remedy in caso di rilevato tentativo di frode. L’utente può installare la watchtower su un pc di casa sempre connesso a internet, o su un server preso in affitto, dal quale monitorare lo smartphone che usa abitualmente per scambiare Bitcoin. Si potrà poi utilizzare la watchtower non solo per monitorare i propri canali, ma anche quelli di di terze persone, gratuitamente o chiedendo in cambio un contributo, ad esempio un canone mensile oppure una parte dei bitcoin recuperati dal truffatore quando la watchtower intercetta un tentativo di frode. Infine nel 2019 Electrum rilascerà la versione del software pensata per tutti gli utenti, anche quelli meno tecnici, la quale si collegherà al servizio di watchtower offerto dall’azienda Electrum. Questo significa che l’utente potrà usare in sicurezza il wallet SPV Electrum senza avere alcun fullnode, senza validare l’intera blockchain e senza doversi preoccupare di essere periodicamente online a controllare i propri canali. Dovrà fidarsi però di una watchtower. Se non si fida della watchtower di Electrum, potrà collegarsi ad un’altra a piacere (o anche più d’una, presumibilmente). Se infine non si fida di alcuna terza parte, potrà sempre installare una watchtower su una propria macchina, oppure scegliere di fare solo transazioni onchain.

 

11) COSTI DELLE WATCHTOWERS E DINAMICHE DI MERCATO

Le dinamiche economiche fra utenti e watchtowers non sono chiare ad oggi, poiché non esiste un mercato concorrenziale in cui più watchtowers diverse offrono lo stesso servizio a molti utenti, non essendoci per il momento nemmeno wallet SPV con Lightning Network pensati per essere indipendenti dai fullnode (almeno fino al rilascio di Electrum LN). A dire il vero c’è un’eccezione significativa: qualsiasi wallet LN SPV (come Eclaire) usato solo per pagamenti in uscita e non in entrata, è sicuro anche senza un fullnode d’appoggio né un monitoraggio dei canali. Infatti il truffatore può solo trasmettere sulla blockchain uno stato precedente del canale, che nel caso di un canale a senso unico, dove l’utente paga soltanto, significa lasciare più soldi a quest’ultimo. Insomma in quel caso truffare chiudendo un canale è tecnicamente impossibile. Se però si vuole utilizzare un nodo completo, sia per pagare che ricevere, monitorare i canali è importante.

Inizialmente l’utente potrà affidarsi alla watchtower dell’azienda Electrum, stipulando un contratto di abbonamento. Questo permetterà di fare una prima analisi delle dinamiche economiche nel mercato. Può essere che molti utenti utilizzeranno wallet SPV senza watchtowers, se nell’uso quotidiano si rileverà che statisticamente i tentativi di frode sono estremamente sporadici e che, quando avvengono, sono puntualmente intercettati e puniti. Gli utenti potrebbero anche sentirsi particolarmente sicuri a far uso di wallet SPV senza watchtowers specialmente se hanno canali aperti esclusivamente con entità fidate: ad esempio un canale con un amico, uno con la catena di supermercati preferita, uno con Amazon ed e-bay, insomma tutti partners che difficilmente attueranno una frode. E per la teoria dei 6 gradi di separazione potrebbero bastare questi canali per trovare un percorso mediante cui arrivare a transare con chiunque nel mondo.

Quando verrà a crearsi un vero mercato e una più fitta rete di nodi SPV che effettivamente eseguono transazioni LN, sarà più chiaro quale tipologia di watchtower sarà prevalente nell’ecosistema Bitcoin:

  • La wathctower privata:
    si tratterà probabilmente di aziende specializzate nel monitoraggio dei canali. Per funzionare, l’utente passa alla watchtower l’identificativo della transazione di apertura del canale (cioè dello smart contract per come appare in blockchain). In linea teorica, questo fatto ha due lati negativi: anzitutto, il rapporto economico fra l’utente e l’azienda sarà probabilmente un contratto di abbonamento, ad esempio con un canone mensile pagato dall’utente; secondariamente, se la watchtower fosse sotto attacco o presa di mira da un autorità istituzionale, potrebbe rivelare informazioni relative al canale dell’utente, la cui privacy è dunque a rischio. Come dichiarato da Thomas, la release del nuovo Electrum nel 2019 offrirà questo tipo di servizio per quegli utenti di wallet SPV che desiderano una watchtower, ma non sono intenzionati ad installarne una in proprio.
  • La watchtower “crypto-anarchica”:
    l’utente passa in modo anonimo alla watchtower soltanto le transazioni di aggiornamento di stato dello smart contract (le commitment transactions). La watchtower dunque non conosce l’ID della transazione sulla blockchain né l’identità dell’utente, ma salva un grande quantitativo di transazioni offchain, ovvero si salva i cambi di stato degli smart contract. Se un contratto viene violato chiudendo illegittimamente il canale, la watchtower se ne accorgerà poiché vengono spostati dei bitcoin che, secondo una delle tante transazioni nel proprio archivio, non dovrebbero essere spesi; quindi fa scattare la breach remedy e il truffatore viene spogliato di ogni bitcoin nel canale. Il guadagno della watchtower è esclusivamente una percentuale dei bitcoin recuperati quando si intercetta un tentativo di truffa. Con questi bitcoin la watchtower deve coprire il costo di scaricare e salvarsi tutte le transazioni offchain fatte dai nodi che si affidano ad essa. Insomma, per essere economicamente sostenibile, la watchtower deve sperare che ci siano sufficienti tentativi di truffa nella rete per coprire i suoi costi. Motivo per cui non è molto chiaro se questa tipologia avrà molto successo.

Personalmente immagino che in futuro molte watchtower non siano strettamente né di un tipo né dell’altro. Ad esempio, i membri di una famiglia, oppure gli abitanti di un condominio o un quartiere, o i membri di un circolo o associazione potrebbero condividere la stessa watchtower. Magari i dipendenti di un’azienda avranno gratuitamente una watchtower a disposizione, come benefit aziendale, oppure l’avranno i suoi clienti, poiché l’azienda offre quel servizio a scopo promozionale o per sviluppare un sentimento di “loyalty” del cliente; Il che può essere efficace soprattutto per quelle aziende che vedono continui pagamenti con l’utente, come un grosso distributore. Non possiamo neanche escludere l’ipotesi che in futuro ogni famiglia abbia il proprio fullnode con LN sempre connesso alla rete. Dopotutto, 20 anni fa non avremmo mai pensato che praticamente chiunque avrebbe avuto una connessione internet e un personal computer in casa, o che da lì a pochi anni pressoché chiunque avrebbe quotidianamente inviato e ricevuto mail, o gestito la propria identità digitale sui social network. Insomma, i tempi cambiano e le persone si adeguano.

 

12) MAGGIO 2020: AFFRONTARE L’HALVING A TESTA ALTA

Il 21 maggio 2020 ci sarà il prossimo halving di Bitcoin, come ogni 4 anni. La produzione mondiale scenderà da 12,5 a 6,75 bitcoin per ogni blocco, dimezzandosi. Le leggi economiche fondamentali dicono che a parità di domanda, se l’offerta diminuisce, il prezzo aumenta. Teorema che ha avuto la più cristallina delle conferme empiriche nei due halving passati, dal genesis block ad oggi.

Il primo halving è avvenuto il 28 novembre 2012 quando il prezzo di Bitcoin era 12$. Sei mesi dopo, a maggio 2012, il prezzo era più che decuplicato (130$). Da lì a poco avrebbe avuto un’esplosione che ha portato alla grande bolla del 2013 (superando i 1000$ a novembre 2013).

Il secondo halving è avvenuto il 7 luglio 2016 quando il prezzo era 650$. Sei mesi dopo, a gennaio 2017 il prezzo era quasi raddoppiato (oltre 1000$) e da lì a poco avrebbe avuto un’esplosione che ha portato alla grande bolla del 2017 (quasi 20,000$ a dicembre)

Nessuno sa quale sarà il prezzo di Bitcoin, ma se vogliamo tentare una previsione razionale, da qui al 2020 possiamo tenere conto di due soli dati come certezze: 1) la tecnologia Bitcoin sta migliorando, rendendo Bitcoin qualitativamente migliore 2) l’offerta monetaria si dimezzerà. Basandoci su questi due punti fermi, è razionale affermare oggi che il prezzo di Bitcoin probabilmente salirà, è irrazionale dire il contrario. Questa è semplicemente la migliore conclusione cui possiamo arrivare coi dati e le informazioni certe oggi a nostra disposizione. Premesso ciò, nel 2020 ci si può quindi aspettare una nuova ondata di utenti attirati anche dal prezzo in crescita, di conseguenza un boom dell’utilizzo dei servizi Bitcoin e una espansione dei volumi di transazioni. Verso la fine del 2017 la rete e l’ecosistema Bitcoin non erano ancora pronti a gestire quell’enorme afflusso di nuovi entrati, l’impennata del costo medio per transazione su blockchain parlava chiaro:

In quel momento non c’era alcuna alternativa per Bitcoin: o pagavi quelle commissioni, o non transavi. Ma alla prossima corsa folle verso la luna, vogliamo arrivare preparati. La rete Bitcoin e tutti i servizi dovranno essere pronti per accogliere la massa entrante e servizi, wallet ed exchange devono giocare d’anticipo preparando il terreno ai nuovi arrivati. Per il momento il network si sta comportando molto bene con miglioramenti su tutti i fronti:

  • I principali servizi ed exchange fanno batching delle transazioni, abbattendo così il numero di transazioni (quindi il costo di commissione, vedasi grafico sopra), nonostante il numero di pagamenti sia aumentato, mostrando un incredibile efficientamento dell’uso delle risorse
  • L’adozione di SegWit è in costante crescita (da 0 al 50% circa in 1 anno, vedi grafico), il che permette di sfruttare uno spazio aggiuntivo al blocco (seppure il blocksize sia fisso a 1MB) tanto da poter anche raddoppiare la capacità della blockchain
  • I wallet iniziano ad adottare indirizzi bech32 (per primo Electrum e a seguire Bitcoin Core, Samourai, Coinomi, Wasabi e altri) che permettono di efficientare ancora di più lo spazio occupato dalle transazioni (vedi wallet compatibili)

Ma il vero punto nevralgico è Lightning Network, sia per una questione di scalabilità che di maggiore privacy degli utenti. ll wallet Electrum sarà parte fondamentale di questo rinnovamento tecnologico, rappresentando finalmente la vera svolta per Lightning Network? Staremo a vedere. Senza alcun dubbio albertodeluigi.com farà la sua parte, pubblicando una guida dedicata a Electrum LN quando verrà rilasciato ufficialmente il software.

 

Segui gli aggiornamenti quotidiani sulla pagina facebook: https://www.facebook.com/albertodeluigi.news
Iscriviti alla newsletter del blog per ricevere una notifica ad ogni nuovo articolo pubblicato

 

Potrebbero interessarti anche...