Anonymity in the Bitcoin Peer-to-Peer Network
Shaileshh Bojja Venkatakrishnan, Giulia Fanti, Andrew Miller, Pramod Viswanath
Anonymity in the Bitcoin Peer-to-Peer Network Shaileshh Bojja - - PowerPoint PPT Presentation
Anonymity in the Bitcoin Peer-to-Peer Network Shaileshh Bojja Venkatakrishnan, Giulia Fanti, Andrew Miller, Pramod Viswanath Why do People Use Cryptocurrencies? Technical Properties/ Currency Stability Investment Ideology Untraceable
Shaileshh Bojja Venkatakrishnan, Giulia Fanti, Andrew Miller, Pramod Viswanath
Currency Stability Investment Technical Properties/ Ideology
Alice Bob kA kB
Transaction kA sends ktx to kB
ktx
Blockchain sd93fjj2 pckrn29 …
Blockchain
Meiklejohn et al., 2013
Under submission, 2017 ACM Sigmetrics 2017
1) Anonymity Phase 2) Spreading Phase
Assumptions and Notation
Biryukov et al., 2014 Koshy et al., 2014
Alice
Alice
Alice
fraction p compromised nodes number 𝜾 connections
Botnet Eavesdropper
Part I
Analysis
Part II
Redesign
How bad is the problem?
Trickle (pre-2015) Diffusion (post-2015) (3) (2) (1) (4) exp ¡ (𝜇) exp ¡ (𝜇) exp ¡ (𝜇) exp ¡ (𝜇)
Arbitrary number of connections 𝜄 Fraction of spies 𝑞 = 1
𝜐8 = 2.0 𝜐; = 0.7 𝜐= = 1.1 𝜐> = 1.5 𝜐@ = 0.3
graph timestamps
𝜐8 = 2.0 𝜐; = 0.7 𝜐= = 1.1 𝜐> = 1.5 𝜐@ = 0.3
graph timestamps
Trickle Diffusion First-Timestamp 𝑃 log 𝑒 𝑒 𝑃 log 𝑒 𝑒 Maximum-Likelihood Ω(1) Ω(1)
Probability
Degree, d
First-timestamp Maximum-Likelihood
Source Not yet received Received Received and reported
Polya Urns
measure
Number of Eavesdropper Connections Probability of Detection Diffusion Trickle
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 Trickle Number of Eavesdropper Connections
Can we design a better network?
fraction p
spies collude honest- but-curious
metadata identities unknown
Recall Precision
1 𝑜 O 1 𝑁 𝑤Rs ¡tx = 𝑤
User
Users Transactions
Number honest users Mapping
1 𝑜 O 1 𝑁 𝑤Rs ¡tx = 𝑤 # ¡tx ¡mapped ¡to ¡v
𝔽[Recall] ¡= ¡ Probability ¡of ¡Detection
1 1 p p2
Thm: Maximum precision ≥ 𝑞=. Thm: Maximum recall ≥ 𝑞.
Fraction
1 2 3 4 spy
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
1) Anonymity Phase 2) Spreading Phase
8 H . fraction
number of nodes lower bound = p
tx1 tx2
Anonymity graph “Regular” graph
Change the anonymity graph frequently.
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
8fd log = d + 𝑃 8 H .* fraction
lower bound = p2 number of nodes
*For 𝑞 <
8 >
Flooding Diffusion DANDELION
1 1 p p2
Precision: 𝑃(𝑞) Precision:
d 8fd (1 − 𝑓df8)
Tree Complete graph
Too many leaves Too many paths
1) Anonymity Phase 2) Spreading Phase
Learn the graph Misbehave during graph construction Misbehave during propagation 4-regular graphs Only send messages on
Multiple nodes diffuse
Information Propagation in the Bitcoin Network, Decker and Wattenhofer, 2013
Time to first transaction sighting (s) PDF
(3-5% overhead)
tx1 Not running Dandelion Running Dandelion
Connect through Tor I2P Integration (e.g. Monero)
Narayanan and Möser, 2017
Date of Invention Strength of Guarantees Dandelion
3) No encryption required. 1) Messages propagate over the same cycle graph 2) Anonymity graph changes dynamically.
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)
d-regular graphs give robustness!
Base Case k=1 rounds of Degree-Checking
Base Case k=1 Rounds
Learn the graph Misbehave during graph construction Misbehave during propagation 4-regular graphs Get rid of degree-checking Multiple nodes diffuse
Graph unknown Graph known Precision 𝑃 p=log ¡ 1 𝑞 Ω(𝑞) Line Random regular
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