16
Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015, Montreal

Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Understanding Bitcoin’s Network Topology

Andrew MillerScaling Bitcoin

Sep 2015, Montreal

Page 2: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Tools to study Bitcoin’s p2p network

- Shadow-BitcoinScalable bitcoin simulator framework

- CoinscopeActive/passive network measurement station

Page 3: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Simulating Bitcoin - Approaches

- Customized “model” (e.g., simbit)May differ from actual node behavior

- Local private network: (see following talk)Not deterministic/repeatableLess fine grain control (must avoid slowdown)

- Simulator/emulatorRun the real code, with a simulated network stack

Page 4: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Shadow-Bitcoin (CSET ‘15)

Shadow (Rob Jansen’s PhD thesis):Framework for simulator/emulatorPreviously used to study Bittorrent, Tor

Challenges: support multithreaded applications

Result: up to 6k nodes on a server, 1/14 of realtime

Caveat: how do we form the network graph?

https://github.com/shadow/shadow-plugin-bitcoin

Page 5: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Coinscope Network Measurement

Periodic scans (every 4 hours)Our focus is network health (not “deanonymization”)

Safety disclaimers: /UMDCoinscope/, 1 outgoing connection

Extended version of getaddr.bitnodes.io

Page 6: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

What do we know about the network?- How many&where, but not their connections

Page 7: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Bitcoin strives for a random graph- Form 8 outgoing connections - Allow up to 117 incoming connections- Store and propagate info about peers

AddrMan: Addresses and (last seen) timestamps

We scrape the AddrMan from each node and use it to infer the network topology

Page 8: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

How addresses propagate

- Relay- Upon new connection (initiator only)- Every 24 hours

- In response to “GetAddr”- 2500 exchanged at a time- Upon new connection

Page 9: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Echoes of prior connection events

...

...

1 3 15 100 300 1000 40002 hours

2 hours2 hours

2 hoursAbout

Peer IP

Number of “from” nodes reporting the same timestamp about a node.

Connection established

Page 10: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,
Page 11: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Most recent connection

Page 12: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Active Connections

Page 13: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

ResultsOnly the “reachable” subgraphMostly random, mostly low degree

Super nodes detected: “bitcoinaffiliate” miners: ~40 nodes with 1k+ connections

More in paper….

Page 14: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Bitcoin avoids measurementPatch in v0.10.1 breaks AddrProbe after a “deanonymization”-themed report

Backup technique: TxProbe(invasive, expensive, we don’t do it)

Visible network may be irrelevant anywayPrivate miner peeringBlueMatt’s optimized miner relay network

Page 15: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

Conclusions- Let’s make measurement an active goal Attackers will use invasive techniques (researchers won’t)

Tor has privacy preserving usage stats collectionStatoshi

- Fortifying the P2P network is essential,will affect other technical decisions

Page 16: Network Topology Understanding Bitcoin’s Sep 2015, Montreal Scaling Bitcoin … · 2019-04-28 · Understanding Bitcoin’s Network Topology Andrew Miller Scaling Bitcoin Sep 2015,

- Main goal: useful, efficient peer review bridging academia & Bitcoin dev

- Open access (no @#^% paywalls)

- Reviews are published along with articles

- Articles signed and timestamped

[PRE-ANN] Ledger Journal