Cos'è il protocollo Dandelion?

Bitcoin e altre criptovalute utilizzano la privacy su entrambi il livello blockchain e il livello di rete. Le blockchain pubbliche sono registrazioni permanenti delle transazioni digitali, quindi le implementazioni della privacy blockchain si concentrano sull’oscuramento dei dati delle transazioni e sull’anonimizzazione dell’identità di mittenti e destinatari.

Le criptovalute incentrate sulla privacy come Monero e Zcoin incorporano funzionalità di anonimato a livello di blockchain come Ring CT e prove a conoscenza zero per assicurarsi che le transazioni non possano essere tracciate. Tuttavia, anche la comunicazione di rete P2P / overlay svolge un ruolo vitale nell’anonimare le interazioni attraverso una rete blockchain. Sia Monero che Zcoin integrano funzionalità di privacy a livello di rete come Tor e I2P, ma queste caratteristiche comportano anche uno sviluppo prolungato e altri svantaggi.

Il Protocollo di tarassaco è una soluzione di anonimato a livello di rete originariamente proposta nel 2017 per migliorare la privacy della rete P2P di Bitcoin. Successivamente si scoprì che la sua proposta originale conteneva vari difetti ciò potrebbe portare alla sua deanonimizzazione nel tempo a causa di alcuni presupposti idealistici di potenziali avversari.

Cos'è il protocollo Dandelion?

Alla fine, una versione migliorata del protocollo Dandelion è stata proposta a maggio all’inizio di quest’anno chiamata Dente di leone++. Dandelion ++ affronta le preoccupazioni con il protocollo originale ed è già stato implementato dal team di ricerca con una risposta positiva dai team di sviluppo di Bitcoin. Dandelion ++ sembra pronto per essere incluso in una prossima versione di Bitcoin Core.

Cos’è il dente di leone++?

Dandelion ++ è una soluzione a livello di rete leggera e semplice con anonimato formalmente garantito che può essere facilmente implementata con le criptovalute esistenti. Migliora esplicitamente i presupposti idealistici della proposta originale di Dandelion e differisce dalla maggior parte dei protocolli di anonimato per le comunicazioni broadcast nel suo approccio agli obiettivi di utilizzo e alle metriche di analisi.

Per capire meglio come funziona Dandelion ++, è essenziale concentrarsi su come le transazioni vengono trasmesse in Bitcoin e su come funzionava il protocollo originale Dandelion. In Bitcoin, quando un utente trasmette una transazione da un nodo, viene propagata ai nodi connessi a quello specifico nodo noto come suoi pari. Il messaggio di transazione viene quindi successivamente propagato in una reazione a catena in cui ogni nodo diffonde ulteriormente il messaggio ai nodi a cui sono collegati. Questo è noto come protocollo gossip di Bitcoin ed è il modo in cui le transazioni possono raggiungere la maggior parte dei nodi della rete molto rapidamente.

Bitcoin ora implementa una forma di trasmissione nota come diffusione in cui ogni nodo diffonde le transazioni con ritardi esponenziali e indipendenti ai suoi vicini per mitigare la deanonimizzazione dell’indirizzo IP di un utente. Sebbene efficace, la diffusione lo ha recentemente è stato dimostrato in diversi studi di non fornire un’adeguata protezione dell’anonimato.

L’origine di un messaggio di transazione e il suo indirizzo IP (che non è incluso in un messaggio di transazione Bitcoin) possono essere mappati da osservatori di terze parti se controllare un numero sufficiente di nodi oppure utilizzare un supernodo connesso a un numero significativo di nodi. Possono mappare efficacemente l’indirizzo di origine osservando quali nodi vedono per primi la transazione. Il dente di leone++ carta identifica esplicitamente come uno studio che ha utilizzato un supernodo ha registrato il traffico inoltrato di tutti i nodi P2P e ha osservato gli schemi della transazione si diffonde nel tempo per dedurre infine l’indirizzo IP di origine. Collegando l’indirizzo IP con lo pseudonimo del mittente, una terza parte può deanonimizzare gli utenti e collegare ulteriori transazioni anche se viene utilizzata una nuova chiave pubblica per ogni transazione.

Dandelion è stato inizialmente proposto per mitigare queste vulnerabilità, ma si è basato su garanzie teoriche che non reggevano nella pratica. La proposta originale di Dandelion faceva 3 ipotesi idealizzate:

  • Tutti i nodi obbediscono al protocollo
  • Ogni nodo genera esattamente una transazione
  • Tutti i nodi Bitcoin eseguono Dandelion

Queste ipotesi chiaramente non hanno funzionato nella pratica e sono il motivo per cui Dandelion ++ ha cercato di affrontarle. Il protocollo originale Dandelion funziona in 2 fasi:

  1. Fase dello stelo
  2. Fase Fluff

La fase staminale è la fase anonima in cui il protocollo è progettato per ridurre la possibilità di mappare di nuovo all’indirizzo IP del nodo originale. Nella fase radice, piuttosto che un nodo che trasmette una transazione a tutti i suoi peer connessi, trasmette il messaggio della transazione attraverso un grafico di privacy a un singolo peer casuale basato su un algoritmo. Successivamente, quel nodo trasmette solo il messaggio di transazione a un altro singolo peer, e il modello continua fino a quando alla fine (e in modo casuale) uno dei nodi trasmette il messaggio nel tipico formato di diffusione al resto della rete.

È qui che inizia la fase di lanugine. Una volta che un singolo nodo trasmette il messaggio utilizzando il metodo di diffusione, il messaggio di transazione viene propagato rapidamente alla maggior parte dei nodi della rete. Tuttavia, diventa molto più difficile risalire al nodo originale poiché il messaggio di transazione è stato trasferito a molti nodi individuali tramite un grafico di privacy prima di essere propagato in un modo che consentirebbe a un osservatore di mapparlo su un singolo nodo. Invece, un osservatore potrebbe solo mappare la diffusione delle transazioni sui diversi nodi in cui il messaggio è stato trasferito nella fase radice, confondendo così l’effettiva identità del mittente. In effetti, questo è astrattamente simile a come una firma ad anello offusca l’effettivo firmatario di una transazione.

Immagine di credito – Presentazione di Giulia Fanti a Lisbona

Lo Zcoin blog fornisce un eccellente esempio di come funziona il protocollo Dandelion utilizzando i pettegolezzi tipici delle scuole superiori:

* FASE STELO *

  • Kathy: “Pssst, ho una cotta enorme per Nuwa. Per favore, non dirlo a nessuno “
  • George: “OMG, sapevi cosa mi ha detto Kathy? Ha una cotta enorme per Nuwa. Te l’ho solo detto, per favore non dirlo a nessuno “
  • Alice: “Betty, non crederai a quale sia la migliore amica di Kathy, mi ha appena detto George, Kathy sta schiacciando duramente Nuwa! Sei il mio migliore amico, quindi ti ho solo detto, per favore non dirlo a nessuno che va bene! “

* INIZIA FASE FLUFF *

  • Blabbermouth Betty: “Oh wow notizie calde … Ho ricevuto da buone fonti che Kathy ha una grande cotta per Nuwa … Per favore, dì a tutti che è così eccitante!”

I problemi principali con il protocollo Dandelion originale derivano dalla sua sottostima di tipi specifici di avversari a causa di supposizioni della loro conoscenza limitata. Dandelion ++ si concentra in particolare sull’apportare sottili modifiche alle scelte di implementazione di Dandelion come la topologia del grafico e i meccanismi per l’inoltro dei messaggi.

Di conseguenza, queste piccole modifiche all’algoritmo aumentano esponenzialmente lo spazio dello stato del problema per l’analisi dell’anonimato. Dandelion ++ si basa sull’aumento della quantità di informazioni che gli avversari devono apprendere per rendere anonimi gli utenti.

Dandelion ++ differisce notevolmente da Dandelion nella sua fase iniziale in cui passa le transazioni su percorsi intrecciati noti come cavi prima di diffondere il messaggio di transazione alla rete. I cavi possono essere frammentati, ma la sua intuizione nella scelta di un nodo a cui propagarsi è ancora limitata al suo vicinato locale. Questa è una considerazione importante quando si confrontano soluzioni di anonimato a livello di rete come Tor, che è un protocollo di routing onion in cui i clienti necessitano di informazioni di rete globali e attuali per determinare i percorsi delle transazioni.

Credito immagine – Dandelion ++ Academic Paper

Sia Dandelion che Dandelion ++ procedono in cicli asincroni. Ogni nodo avanza quando il suo clock interno raggiunge una certa soglia. Per ogni periodo, Dandelion ++ funziona in 4 componenti primarie con lievi ottimizzazioni:

  1. Grafico di anonimato
  2. Inoltro della transazione (proprio)
  3. Inoltro transazione (inoltro)
  4. Meccanismo di sicurezza

Il grafico dell’anonimato utilizza un grafico casuale quadridimensionale anziché un grafico lineare per la fase di anonimato. La scelta dei relè Dandelion ++ da parte dei nodi è indipendente dal fatto che i loro vicini in uscita supportino Dandelion o meno++.

Transaction Forwarding (own) è quando ogni volta che un nodo genera una transazione propria, inoltra la transazione lungo lo stesso bordo in uscita nel grafico 4-regolare. Ciò differisce da una delle ipotesi problematiche in Dandelion in cui si presume che i nodi generino solo una transazione.

Transaction Forwarding (relay) è il momento di probabilità nella fase staminale in cui un nodo riceve una transazione staminale e sceglie di ritrasmettere la transazione o di diffonderla alla rete. La scelta di diffondere le transazioni in rete lo è pseudocasuale. Inoltre, un nodo è un diffusore o un nodo di inoltro per tutte le transazioni inoltrate.

Il meccanismo di sicurezza è il punto in cui, per ogni transazione in fase staminale, ogni nodo tiene traccia se viene vista nuovamente come una transazione in fase fluff. In caso contrario, il nodo diffonde la transazione.

Le leggere modifiche all’algoritmo in queste fasi rendono drasticamente più difficile mappare gli indirizzi IP osservando la diffusione dei messaggi di transazione. Il documento Dandelion ++ prosegue identificando attacchi specifici che potrebbero essere utilizzati contro il protocollo Dandelion originale, inclusi attacchi di apprendimento del grafico, attacchi di intersezione, attacchi di costruzione di grafici e attacchi di buchi neri. Con ogni vettore di attacco, dimostrano come Dandelion ++ li mitiga con analisi teoriche e simulazioni.

Dandelion ++ non aumenta in modo significativo la latenza di rete e la sua fattibilità pratica è stata dimostrata sulla mainnet di Bitcoin. Fornisce uno strumento di anonimato a livello di rete leggero ed efficace per ridurre la possibilità di mappare gli attacchi per deanonimizzare gli utenti. Nonostante i suoi vantaggi, Dandelion ++ non protegge esplicitamente da avversari di livello ISP o AS che possono utilizzare attacchi di routing per deanonimizzare gli utenti.

Confronto tra Dandelion ++ e Tor

Dandelion ++ ha alcuni notevoli vantaggi rispetto ad altre implementazioni di anonimato di rete come Tor. Tor è il livello di overlay di rete più importante incentrato sulla privacy e utilizza il routing Onion per nascondere la posizione geografica e gli indirizzi IP degli utenti.

L’integrazione di Tor a livello di stack di rete dei sistemi di criptovaluta è estremamente impegnativa. Monero è un eccellente esempio di questo dato che ci sono voluti più di quattro anni per implementare il suo I2P simile a Tor Kovri progetto nella loro rete ed è ancora un work in progress. Molte reti di criptovaluta non hanno il tempo né le competenze tecniche per integrare questo tipo di funzionalità.

Gli utenti che instradano le loro transazioni tramite Tor non sono particolarmente fattibili per gli utenti tradizionali di Bitcoin che non sono consapevoli delle carenze di privacy della rete o non hanno l’esperienza per instradare correttamente le transazioni attraverso Tor. Inoltre, Tor può essere lento a causa della larghezza di banda limitata rispetto a Dandelion++.

Lo stesso studia che ha identificato alcune preoccupazioni deanonimizzanti della trasmissione di diffusione in Bitcoin evidenzia anche gli attacchi ai nodi dove finiscono per rifiutare o inserire nella lista nera le connessioni Tor. Ciò può portare alla rimozione dell’anonimato delle transazioni e alla mappatura degli indirizzi IP degli utenti.

Conclusione

Dandelion ++ è un utile miglioramento rispetto al protocollo Dandelion originale. La sua eventuale integrazione in una prossima versione di Bitcoin Core sembra probabile e dovrebbe offrire miglioramenti significativi nella privacy della rete P2P di Bitcoin. I vettori di attacco delle criptovalute continuano ad evolversi, così come le soluzioni a loro. Dandelion ++ rappresenta un altro passo avanti nella protezione dell’utente privacy in Bitcoin.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me