Lightning Network e Privacy: È davvero così privato?
Lightning Network e Privacy: È davvero così privato?
Bitcoin

Lightning Network e Privacy: È davvero così privato?

By Riccardo Masutti - 6 Nov 2021

Chevron down
Ascolta qui
download

Chi, come me, lavora ogni giorno allo sviluppo di Bitcoin, concorda su una cosa: vogliamo scalare Bitcoin in modo trustless, ma vogliamo farlo in modo tale da preservarne, se non migliorarne, gli aspetti relativi alla privacy. Lightning Network può essere una soluzione. 

Cos’è Lightning Network?

Lightning Network è l’unica soluzione alla scalabilità di Bitcoin che funziona in un modo completamente trustless. Questa è sicuramente la sua proprietà di maggior importanza poiché si collega direttamente alle radici decentralizzate e peer-to-peer di Bitcoin.

Lightning Network è quindi un secondo livello (layer) che vive ed esiste al di sopra di Bitcoin, che, teoricamente, fornisce proprietà estremamente importanti e necessarie: scalabilità, sicurezza e privacy.

Tipi di transazioni su Bitcoin

Lightning Network è, come accennato poco fa, un secondo layer di Bitcoin. Per questo motivo, ogni volta che parliamo di privacy di LN, dobbiamo pensare a questi differenti livelli in contemporanea; fare l’opposto non avrebbe senso poiché senza il livello base di Bitcoin, LN non esisterebbe.

Per lo stesso motivo, un possibile avversario che vuole spiarci sarà sicuramente presente ed opererà su entrambi i livelli. Un esempio di avversari possono essere le tue agenzie governative preferite come CIA e NSA, oppure aziende private che fanno della sorveglianza di Bitcoin (e dei propri utenti) un business, come Chainalysis ed Elliptic, oppure ancora un singolo individuo che vuole tracciare i nostri fondi e che ha abbastanza conoscenze tecniche e strumenti per farlo.

Apertura di un canale

Per funzionare, Lightning Network richiede essenzialmente la creazione e trasmissione di due transazioni on-chain. In primis, richiede l’apertura di un canale di pagamento con un altro nodo. Questa transazione di apertura avviene sulla blockchain e, pertanto, ha comunque un’impronta digitale perenne, immutabile e trasparente.

Una volta che tale transazione viene confermata ed il canale di pagamento aperto, le due controparti di tale canale possono inviarsi transazioni a vicenda all’infinito senza creare e scrivere ulteriori transazioni sulla blockchain principale di Bitcoin. Se questo canale poi nel tempo viene usato a tal punto di esaurirne la liquidità, oppure se semplicemente la relazione tra le due controparti viene conclusa, tale canale viene chiuso.

Chiusura di un canale

Anche questa transazione di chiusura del canale viene scritta e trasmessa alla rete principale di Bitcoin, che, come ripeto, conserva un’impronta digitale perenne, immutabile e trasparente.

Su Lightning Network puoi effettuare tutte le transazioni che vuoi, ma, comunque, due di esse saranno sempre visibili ed analizzabili perennemente sulla rete principale di Bitcoin.

Ricordiamoci un punto importante: ogni volta che parliamo di privacy, non dobbiamo dimenticare che un potenziale avversario è presente ed opera su entrambi i livelli.

Sul layer principale (la blockchain di Bitcoin), l’avversario farà sicuramente un’attenta analisi del grafico delle transazioni per valutare e vedere dove è stato aperto e chiuso il canale, e come è stato chiuso. 

Mentre, sul secondo layer di Bitcoin (Lightning Network) l’avversario starà sicuramente ascoltando e registrando tutte le informazioni che vengono scambiate tra i vari nodi per permettere alla rete Lightning di funzionare (gossip p2p) attraverso i diversi canali pubblici presenti. Ciò è possibile per il concetto di rete trustless: una rete senza autorizzazione cui tutti possono partecipare e cui tutti possono creare nuovi nodi e nuovi canali.

Questo è il principale motivo per cui l’argomentazione secondo cui “Lightning Network sia anonimo, che permetta transazioni anonime e migliori alla perfezione la privacy” è estremamente sbagliata e dannosa. Non è vero che siccome non scriviamo delle transazioni off-chain sulla blockchain allora possiamo stare tranquilli. Ci sono comunque delle transazioni che vengono scambiate e comunicate tra varie entità, per lo più delle volte sconosciute.

Lightning Network privacy
Lo stato e la decentralizzazione di Lightning Network. In alto possiamo vedere il numero di nodi e canali pubblici, e a destra i nodi con maggior network reach. Tali nodi sono sicuramente utili a “collegare” tanti nodi più piccoli, ma a che discapito?

Potenziali aggressori da cui dovremmo difenderci

Nel caso di analisi on-chain, solitamente si considera un avversario che abbia accesso alla blockchain. Questo è un punto abbastanza sfavorevole, poiché la natura pubblica e trasparente di Bitcoin permette a chiunque di vedere ogni transazione e saldo degli indirizzi.

In un caso più evoluto, si assume anche che l’avversario possa ascoltare e sentire cosa stia succedendo a livello di rete. Per esempio, possiamo immaginare qualcuno in grado di collegare il nostro indirizzo IP alla transazione che abbiamo appena trasmesso sulla rete di Bitcoin. Se poi questa transazione risulta nell’apertura di un canale LN, allora tale avversario sarà in grado di collegare il nostro IP anche all’identità del nostro nodo LN.

Questo viene chiamato in gergo “on-chain adversarial model” e presuppone che tale avversario possa ascoltare tutto ciò che succede a livello di rete e vedere contemporaneamente ciò che viene scambiato e scritto a livello di blockchain.

Nel caso di Lightning Network, assumiamo anche che l’avversario sia presente all’interno della rete. Solitamente, su LN, un avversario che vuole deanonimizzarci ha molti canali di pagamento aperti con molti altri nodi della rete ed è ben integrato nel grafico di Lightning Network, ovvero ha una buona portata di rete (network reach).
Molto probabilmente, ogni volta che invierai un pagamento su LN, ci saranno diversi intermediari tra te e la tua controparte, se non hai un canale diretto con essa. Possiamo quindi presumere che alcuni di questi intermediari siano in realtà controllati (direttamente o indirettamente) dal tuo potenziale avversario. Se così fosse, l’avversario potrebbe registrare tutte le informazioni circa i tuoi pagamenti.

Questo è il modo in cui, ad oggi, la maggior parte di avversari opera. Sotto Lightning Network, se pensiamo ad un avversario perfetto, allora ipotizziamo che l’avversario abbia molti canali di pagamento aperti con altri nodi, molta liquidità e capacità in termini di valore in satoshi e che registri ogni informazione pubblica.

Per questo motivo è importante evitare di aprire canali con i nodi più grossi all’interno della rete, anche se sono nodi “fidati”, ovvero controllati da entità cui diamo fiducia (pensiamo ad esempio a note società nell’ecosistema di Bitcoin che hanno anche dei nodi su Lightning Network).

Anonimato e privacy in Lightning Network

Il concetto di privacy e anonimato set su LN è dato dai nostri “vicinI”. A volte, è preferibile scegliere nodi più piccoli piuttosto che grandi hub centralizzati. Questo il più delle volte va a discapito delle commissioni che dovremmo pagare a tali nodi e della velocità delle nostre transazioni, ma andrà ad aiutarci enormemente sotto l’aspetto della privacy.

Lightning Network privacy
L’anonimity set (privacy) di utente Lightning, durante l’invio di un pagamento, è relativo ai nodi e canali che ha come “vicini”. In particolare, un nodo di routing conosce solo i nodi immediatamente precedenti e successivi: il nodo di routing non sa se i suoi vicini immediati nel percorso di pagamento sono il mittente o il destinatario finale. Pertanto, l’insieme di anonimato di un nodo in Lightning è approssimativamente uguale ai suoi vicini. Crediti immagine: Mastering the Lightning Network by Andreas M. Antonopoulos, Olaoluwa Osuntokun, Rene Pickhardt

Più strade e canali possibili ci sono su Lightning Network, più la privacy degli utenti è preservata.

Questo in realtà è solamente uno dei molti possibili attacchi che avvengono ogni giorno su LN. Tra gli altri, possiamo citare la rivelazione dei saldi dei canali, Denial of Service, Commitment jamming, deanonimizzazione di nodi e fondi, attacchi Topology-based, e molto altro…

Gli obiettivi di Lightning Network

Possiamo identificare fondamentalmente quattro principali garanzie di privacy che vogliamo ottenere su Lightning Network:

  1. Canali privati e canali pubblici

Su Lightning Network è possibile creare canali pubblici e canali privati.
Per semplificare, se Alice e Bob aprono un canale pubblico, allora tale viene annunciato al resto della rete e tutti i nodi possono usarlo per instradare dei pagamenti.

Se invece decidono di non divulgare i dettagli di questo canale, esso viene classificato come canale privato e nessun altro dovrebbe essere in grado di utilizzarlo per instradare dei pagamenti, a meno che non conosca l’esistenza dello stesso.

Alcuni studi affermano che circa il 30% dei canali totali sulla rete Lightning siano canali privati.

Pertanto, la prima garanzia di privacy che vogliamo su LN è che, se esiste un canale privato tra Alice e Bob e Bob vuole che tale canale privato sia segreto, tale rimanga segreto a non venga comunicato a nessuno.

Tale cosa purtroppo si basa sulla fiducia poiché Bob si deve fidare che Alice non comunichi tale canale al resto della rete, e viceversa.

  1. Segretezza dei saldi dei canali

La seconda garanzia sulla privacy che vogliamo è la segretezza del saldo dei canali. Non vogliamo che sia conosciuta a terze parti.

Nella rete Lightning, la capacità di ciascun canale di pagamento è di dominio pubblico, è un dato che non possiamo nascondere. Se c’è un canale di pagamento tra Alice e Bob, allora la propria capacità è nota a tutti.

La capacità del canale è sostanzialmente la somma dei singoli saldi di Alice e Bob, ovvero delle due parti corrispondenti al canale e tale informazione, ancora più dettagliatamente, è anche nota ad Alice e Bob.

Nello specifico, Alice e Bob non solo conoscono la capacità totale del canale, ma conoscono anche lo stato dello stesso canale in tempo reale, ovvero quanti satoshi sono dalla parte di Alice e quanti dalla parte di Bob. Alice e Bob conoscono infatti i saldi individuali nel canale, e vogliamo che tale informazione rimanga segreta tra di loro e che sia nascosta ad altre terze parti.

  1. Anonimato in relazione al percorso

La terza proprietà di privacy che vogliamo sulla rete Lightning è l’anonimato in relazione al percorso scelto.

Supponiamo che Alice invii un pagamento a Bob e che tale pagamento venga instradato attraverso molti nodi (e canali) intermedi come Carol, David ed Eddy. Quello che vogliamo è che, se scegliamo un intermediario a caso (per esempio David), allora esso non dovrebbe essere in grado di stabilire chi è il mittente e il destinatario di uno specifico pagamento.

Lightning utilizza infatti la tecnica di onion routing: ogni nodo che instrada un pagamento conosce solo il nodo precedente e quello successivo a cui instradare la transazione.

Teoricamente, se c’è un solo passaggio, non possiamo difenderci poichè allora è già ovvio chi è il mittente e chi il destinatario; ma anche la lunghezza del percorso di pagamento è sconosciuta agli intermediari. Quindi, anche se il pagamento effettua solo un passaggio intermedio, il nodo tra le tue controparti non è in grado di stabilire se il pagamento ha uno o due o tre passaggi, ecc. Questo è il cosiddetto “anonimato in relazione al percorso”.

  1. Privacy dei pagamenti fuori percorso

La quarta proprietà che vogliamo sulla rete Lightning è la privacy dei pagamenti fuori percorso.

Per esempio, fingiamo di essere degli osservatori che vogliono spiare alcuni utenti.
Fingiamo di avere molti canali con diversi nodi nella rete; secondo i principi di LN, non dovremo essere in grado di dire cosa stia succedendo lungo i canali che non che non ci coinvolgono come intermediari di un pagamento.

Se Alice invia un pagamento a Bob e ci sono degli intermediari in mezzo come Carol e David, non dovremmo essere in grado di stabilire quanti satoshi sono transitati lungo quei percorsi di pagamento, o anche solo l’esistenza che una o più transazioni siano avvenute lungo quei canali.

Conclusione

Per concludere, Lightning Network aiuta la privacy degli utenti poiché, una volta aperto un canale, non vengono scritte altre transazioni sulla blockchain di Bitcoin che, come ricordiamo, è perenne, trasparente e immutabile.

Bisogna però considerare i limiti attuali di Lightning Network, i suoi pro ed i suoi contro. Attualmente LN è ancora in fase di studio e molte problematiche relative alla privacy sono ancora esistenti e necessitano di ulteriori sviluppi per essere risolte; ma le basi per operare con maggior privacy esistono e possono aiutarvi a tutelare le vostre informazioni (crypto) finanziarie.

Tutto parte dallo studio e dalla conoscenza.

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.