Anonymity in the Bitcoin Peer-to-Peer Network Shaileshh Bojja - - PowerPoint PPT Presentation

anonymity in the bitcoin peer to peer network
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Anonymity in the Bitcoin Peer-to-Peer Network

Shaileshh Bojja Venkatakrishnan, Giulia Fanti, Andrew Miller, Pramod Viswanath

slide-2
SLIDE 2

Why do People Use Cryptocurrencies?

Currency Stability Investment Technical Properties/ Ideology

slide-3
SLIDE 3

“Untraceable Bitcoin”

slide-4
SLIDE 4

This is false.

slide-5
SLIDE 5

Bitcoin Reminder

Alice Bob kA kB

Transaction kA sends ktx to kB

ktx

Blockchain sd93fjj2 pckrn29 …

  • ur transaction
slide-6
SLIDE 6

How can users be deanonymized?

Blockchain

Meiklejohn et al., 2013

Entire transaction histories can be compromised.

slide-7
SLIDE 7

What about the peer-to-peer network?

Public Key IP Address

slide-8
SLIDE 8

Our Work

Analysis Redesign

Under submission, 2017 ACM Sigmetrics 2017

Pr(detection)

Dandelion

1) Anonymity Phase 2) Spreading Phase

slide-9
SLIDE 9

Model

Assumptions and Notation

slide-10
SLIDE 10

Attacks on the Network Layer

Eavesdropper

Biryukov et al., 2014 Koshy et al., 2014

Alice

slide-11
SLIDE 11

What can go wrong?

Eavesdropper

Alice

slide-12
SLIDE 12

What the eavesdropper can do about it

2

Alice

1 3

slide-13
SLIDE 13

fraction p compromised nodes number 𝜾 connections

𝜄 = 2 Eavesdropper

Summary of adversarial model

slide-14
SLIDE 14

Fraction of Spies 1 ∞ 1 p 𝜄

Botnet Eavesdropper

Connections to adversary

Part I

Analysis

Part II

Redesign

slide-15
SLIDE 15

Analysis

How bad is the problem?

slide-16
SLIDE 16

Flooding Protocols

Trickle (pre-2015) Diffusion (post-2015) (3) (2) (1) (4) exp ¡ (𝜇) exp ¡ (𝜇) exp ¡ (𝜇) exp ¡ (𝜇)

slide-17
SLIDE 17

Does diffusion provide stronger anonymity than trickle spreading?

slide-18
SLIDE 18

d-regular trees

Eavesdropper

Arbitrary number of connections 𝜄 Fraction of spies 𝑞 = 1

slide-19
SLIDE 19

Anonymity Metric

𝜐8 = 2.0 𝜐; = 0.7 𝜐= = 1.1 𝜐> = 1.5 𝜐@ = 0.3

𝑄(detection|𝝊, 𝐻)

graph timestamps

𝝊 = 𝜐8 𝜐= … 𝜐H

slide-20
SLIDE 20

Estimators

First-Spy

𝜐8 = 2.0 𝜐; = 0.7 𝜐= = 1.1 𝜐> = 1.5 𝜐@ = 0.3

Maximum- Likelihood

𝑄(detection|𝝊, 𝐻)

graph timestamps

slide-21
SLIDE 21

Results: d-Regular Trees

Trickle Diffusion First-Timestamp 𝑃 log 𝑒 𝑒 𝑃 log 𝑒 𝑒 Maximum-Likelihood Ω(1) Ω(1)

Probability

  • f Detection

Degree, d

First-timestamp Maximum-Likelihood

Intuition: Symmetry outweighs local randomness!

slide-22
SLIDE 22

Proof sketch (diffusion, max likelihood)

Source Not yet received Received Received and reported

  • Generalized

Polya Urns

  • Concentration of

measure

slide-23
SLIDE 23

Results: Trees

Number of Eavesdropper Connections Probability of Detection Diffusion Trickle

slide-24
SLIDE 24

Results: Bitcoin Graph

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

slide-25
SLIDE 25

Diffusion does not have (significantly) better anonymity properties than trickle.

slide-26
SLIDE 26

Redesign

Can we design a better network?

slide-27
SLIDE 27

Botnet adversarial model

fraction p

  • f spies

spies collude honest- but-curious

  • bserve all

metadata identities unknown

slide-28
SLIDE 28

Metric for Anonymity

Recall Precision

1 𝑜 O 1 𝑁 𝑤Rs ¡tx = 𝑤

  • U

Mapping 𝑁

User

Users Transactions

Number honest users Mapping

1 𝑜 O 1 𝑁 𝑤Rs ¡tx = 𝑤 # ¡tx ¡mapped ¡to ¡v

  • U

𝔽[Recall] ¡= ¡ Probability ¡of ¡Detection

slide-29
SLIDE 29

Goal:

Design a distributed flooding protocol that minimizes the maximum precision and recall achievable by a computationally-unbounded adversary.

slide-30
SLIDE 30

Fundamental Limits

Precision Recall

1 1 p p2

Thm: Maximum precision ≥ 𝑞=. Thm: Maximum recall ≥ 𝑞.

Fraction

  • f spies
slide-31
SLIDE 31

What are we looking for?

1 2 3 4 spy

Asymmetry Mixing

slide-32
SLIDE 32

Approximately regular

What can we control?

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

slide-33
SLIDE 33

Spreading Protocol: Dandelion

1) Anonymity Phase 2) Spreading Phase

slide-34
SLIDE 34

Theorem: Dandelion spreading has an

  • ptimally low maximum recall of 𝑞 + 𝑃

8 H . fraction

  • f spies

number of nodes lower bound = p

Why Dandelion spreading?

slide-35
SLIDE 35

Graph Topology: Line

tx1 tx2

Anonymity graph “Regular” graph

slide-36
SLIDE 36

Dynamicity: High

Change the anonymity graph frequently.

slide-37
SLIDE 37

Line graph

DANDELION Network Policy

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

slide-38
SLIDE 38

Theorem: DANDELION has a nearly-optimal maximum precision of =de

8fd log = d + 𝑃 8 H .* fraction

  • f spies

lower bound = p2 number of nodes

*For 𝑞 <

8 >

slide-39
SLIDE 39

Performance: Achievable Region

Flooding Diffusion DANDELION

Precision Recall

1 1 p p2

slide-40
SLIDE 40

Why does DANDELION work?

Strong mixing properties.

Precision: 𝑃(𝑞) Precision:

d 8fd (1 − 𝑓df8)

Tree Complete graph

Too many leaves Too many paths

slide-41
SLIDE 41

How practical is this?

slide-42
SLIDE 42

Dandelion spreading

1) Anonymity Phase 2) Spreading Phase

slide-43
SLIDE 43

Anonymity graph construction

Degree

slide-44
SLIDE 44

Dealing with stronger adversaries

Learn the graph Misbehave during graph construction Misbehave during propagation 4-regular graphs Only send messages on

  • utgoing edges

Multiple nodes diffuse

slide-45
SLIDE 45

Anonymity graph construction

slide-46
SLIDE 46

Latency Overhead: Estimate

Information Propagation in the Bitcoin Network, Decker and Wattenhofer, 2013

Time to first transaction sighting (s) PDF

  • Avg. Dandelion delay = 1-4 seconds

(3-5% overhead)

slide-47
SLIDE 47

Deployment considerations

tx1 Not running Dandelion Running Dandelion

slide-48
SLIDE 48

Why not alternative solutions?

Connect through Tor I2P Integration (e.g. Monero)

Tor

slide-49
SLIDE 49

Narayanan and Möser, 2017

Date of Invention Strength of Guarantees Dandelion

slide-50
SLIDE 50

Take-Home Messages

1) Bitcoin’s P2P network has poor anonymity. 2) Moving from trickle to diffusion did not help. 3) DANDELION may be a lightweight solution for certain classes of adversaries.

https://github.com/gfanti/bitcoin

slide-51
SLIDE 51

DANDELION vs. Tor, Crowds, etc.

3) No encryption required. 1) Messages propagate over the same cycle graph 2) Anonymity graph changes dynamically.

slide-52
SLIDE 52

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!

slide-53
SLIDE 53
slide-54
SLIDE 54

Anonymity graph construction

Base Case k=1 rounds of Degree-Checking

Degree

Base Case k=1 Rounds

slide-55
SLIDE 55

Dealing with stronger adversaries

Learn the graph Misbehave during graph construction Misbehave during propagation 4-regular graphs Get rid of degree-checking Multiple nodes diffuse

slide-56
SLIDE 56

Learning the anonymity graph

Graph unknown Graph known Precision 𝑃 p=log ¡ 1 𝑞 Ω(𝑞) Line Random regular

?

slide-57
SLIDE 57

Manipulating the anonymity graph

slide-58
SLIDE 58

4-regular graph

DANDELION++ Network Policy

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