Dandelion: Privacy-Preserving Transaction Propagation in Bitcoin’s P2P Network
Presenter: Giulia Fanti Joint work with: Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Brad Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath
1
Dandelion: Privacy-Preserving Transaction Propagation in Bitcoins - - PowerPoint PPT Presentation
Dandelion: Privacy-Preserving Transaction Propagation in Bitcoins P2P Network Presenter: Giulia Fanti Joint work with: Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Brad Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath 1 Blockchain
Presenter: Giulia Fanti Joint work with: Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Brad Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath
1
Alice Bob kA kB tx
Blockchain sd93fjj2 pckrn29 … tx
2
3
Alice t=0.25 t=1.1 t=2.9
4
5
Biryukov et al. CCS 2014 Koshy et al., Financial Crypto 2014
Venkatakrishan et al., ACM Sigmetrics 2017; F. et al., ACM Sigmetrics 2018
6
Connect through Tor I2P Integration (e.g. Monero)
7
Assumptions and Notation
8
fraction p
spies collude honest- but-curious
metadata identities unknown
9
Re Recall ll Precisi sion
1 " #
$
1 % &'s tx = &
User
Users Transactions
Number honest users Mapping
1 " #
$
1 % &'s tx = & # tx mapped to v
10
11
1 1 p p2 Thm Thm: Maximum precision ≥ "#. Thm Thm: Maximum recall ≥ ".
Fraction
12
1 2 3 4 spy
13
Approximately regular
Spreading Protocol Topology Dynamicity
Static Dynamic
How often does the graph change? What is the underlying graph topology? Given a graph, how do we spread content?
Diffusion
14
1) Anonymity Phase 2) Spreading Phase
15
Theor Theorem em: Dandelion spreading has an
$ % . fraction
number of nodes lower bound = p
16
tx1 tx2
Anonymity graph “Regular” graph
17
18
Line graph
Spreading Protocol Topology Dynamicity
Static Dynamic
How often does the graph change? What is the anonymity graph topology? Given a graph, how do we spread content?
Dandelion Spreading
19
Theor Theorem em: DANDELION has a nearly-optimal maximum precision of
!"# $%" log ! " + * $ + .* fraction
lower bound = p2 number of nodes
*For , < $
.
20
Fl Flood
ng Di Diffusion DAN
ANDELION
1 1 p p2
21
% &'% (1 − *%'&)
Too many leaves Too many paths
22
tx1
Choose d=1
23
24
d=1
25
Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees, ACM Sigmetrics 2018
2 4 6 8 10 12 Path Length 2 4 6 8 10 12 14 16 TLPe to 10% (seFonds)
%est )Lt 0LnLPuP (est)
26
27
5 10 15 20 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Trickle, Theoretical lower bound Trickle, Simulated Trickle, Theoretical lower bound (d=2) Diffusion, Theoretical Diffusion, Simulation
Probability of Detection Diffusion # Supernode Connections per Node
28
One-to-one Routing
29
30
Narayanan and Möser, 2017
Date of Invention Strength of Guarantees Dandelion
31
32
Implementation Graph construction Deployment Adversarial Model Byzantine nodes Intersection attacks AS-Level Adversaries
33
1) Anonymity Phase 2) Spreading Phase
34
35
Lear Learn n the he gr graph ph Mi Misbehave during gr graph ph construction Mi Misbehave during pr propa paga gation 4-re regular gr graph phs
36
37
Lear Learn n the he gr graph ph Mi Misbehave during gr graph ph construction Mi Misbehave during pr propa paga gation 4-re regular gr graph phs On Only send send me messages on
ng ed edges es Mu Multiple nodes di diffuse
38
tx1 Not running Dandelion Running Dandelion
39
In Info formati tion P Propagati tion i in th the B Bitc tcoin N Netw twork, Decker and Wattenhofer, 2013
Time to first transaction sighting (s) PDF
40
< 5 sec
41
3) No encryption required. 1) Messages propagate over the sa same cycle graph 2) Anonymity graph changes dynamically.
42
Fraction of Spies Precision
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 10-1 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 10-1 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 10-1
Lower bound (Unknown graph) Lower bound (Known graph) Upper bound (Known graph) Upper bound (Unknown graph)
Line (unknown) Line (known) 4-reg (unknown) 4-reg (known)
43
44
Base Case k=1 rounds of Degree-Checking
Base Case k=1 Rounds
45
Lear Learn n the he gr graph ph Mi Misbehave during gr graph ph construction Mi Misbehave during pr propa paga gation 4-re regular gr graph phs Ge Get rid of degree- checki checking ng Mu Multiple nodes di diffuse
46
Graph unknown Graph known Precisi sion ! p#log 1 ( Ω(() Line Random regular
47
48
4-regular graph
Spreading Protocol Topology Dynamicity
Static Dynamic
How often does the graph change? What is the anonymity graph topology? Given a graph, how do we spread content?
Dandelion Spreading
49