Self-stabilization and expansion of a simple dynamic random graph - - PowerPoint PPT Presentation

self stabilization and expansion of a simple dynamic
SMART_READER_LITE
LIVE PREVIEW

Self-stabilization and expansion of a simple dynamic random graph - - PowerPoint PPT Presentation

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks Francesco Pasquale based on a joint work with L. Becchetti , A. Clementi , E. Natale , and L. Trevisan


slide-1
SLIDE 1

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks

Francesco Pasquale♦

based on a joint work with

  • L. Becchetti♥, A. Clementi♦, E. Natale♠, and L. Trevisan♣

♥Sapienza Universit`

a di Roma, ♦Tor Vergata Universit` a di Roma,

♣UC Berkeley, ♠Universit´

e Cˆ

  • te d’Azur

Algorithmic Aspects of Temporal Graphs II Patras, Greece, July 9, 2019

slide-2
SLIDE 2

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-3
SLIDE 3

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Bitcoin

◮ Addresses

1C78STt6GqKNob7wnX9kWFcTLrPe39jRRQ

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-4
SLIDE 4

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Bitcoin

◮ Addresses ◮ Transactions

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-5
SLIDE 5

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Bitcoin

◮ Addresses ◮ Transactions ◮ Blocks

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-6
SLIDE 6

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Bitcoin

◮ Addresses ◮ Transactions ◮ Blocks ◮ Blockchain

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-7
SLIDE 7

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Bitcoin

◮ Addresses ◮ Transactions ◮ Blocks ◮ Blockchain ◮ P2P network

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-8
SLIDE 8

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Cryptocurrencies: The Bitcoin Revolution

Bitcoin

◮ Addresses ◮ Transactions ◮ Blocks ◮ Blockchain ◮ P2P network ◮ Mining and Consensus Proof of Work

f(block-header) < target

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

slide-9
SLIDE 9

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

The Bitcoin P2P Network

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 3/ 14

slide-10
SLIDE 10

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

The Bitcoin P2P Network

◮ Initially: DNS queries ◮ List of active nodes periodically updated and advertised ◮ Minimum of 8 connections initiated ◮ Maximum 125 connections

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 3/ 14

slide-11
SLIDE 11

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

The Bitcoin P2P Network

◮ Initially: DNS queries ◮ List of active nodes periodically updated and advertised ◮ Minimum of 8 connections initiated ◮ Maximum 125 connections

Question

Network structure?

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 3/ 14

slide-12
SLIDE 12

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Bitcoin Topology Inference

◮ Miller et al. Discovering bitcoin’s public topology and influential nodes 2015 ◮ Neudecker et al. Timing analysis for inferring the topology of the bitcoin peer-to-peer network 2016 ◮ Delgado-Segura et al. TxProbe: Discovering Bitcoin’s Network Topology Using Orphan Transactions 2018

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 4/ 14

slide-13
SLIDE 13

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

A simple dynamic graph model

G(n, d, c) dynamic random graph

   n : number of nodes d : minimum required degree c 1 : “tolerance” (cd = maximum degree)

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 5/ 14

slide-14
SLIDE 14

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

A simple dynamic graph model

G(n, d, c) dynamic random graph

   n : number of nodes d : minimum required degree c 1 : “tolerance” (cd = maximum degree) At each round, each node u ∈ [n], independently of the other nodes:

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 5/ 14

slide-15
SLIDE 15

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

A simple dynamic graph model

G(n, d, c) dynamic random graph

   n : number of nodes d : minimum required degree c 1 : “tolerance” (cd = maximum degree) At each round, each node u ∈ [n], independently of the other nodes:

  • If u has degree < d then u picks a node v uniformly at

random and adds the edge {u, v} in E.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 5/ 14

slide-16
SLIDE 16

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

A simple dynamic graph model

G(n, d, c) dynamic random graph

   n : number of nodes d : minimum required degree c 1 : “tolerance” (cd = maximum degree) At each round, each node u ∈ [n], independently of the other nodes:

  • If u has degree < d then u picks a node v uniformly at random

and adds the edge {u, v} in E.

  • If u has degree > cd then u picks one of its neighbors v

uniformly at random and removes the edge {u, v} from E

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 5/ 14

slide-17
SLIDE 17

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Self-stabilization and expansion

When (If) the process terminates all nodes have d degree cd

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 6/ 14

slide-18
SLIDE 18

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Self-stabilization and expansion

When (If) the process terminates all nodes have d degree cd

Question 1

How long it takes to settle?

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 6/ 14

slide-19
SLIDE 19

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Self-stabilization and expansion

When (If) the process terminates all nodes have d degree cd

Question 1

How long it takes to settle?

Question 2

Structure of the resulting graph?

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 6/ 14

slide-20
SLIDE 20

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

RAES

Request a link, Accept if Enough Space

Directed graph G = (V , E)

◮ dout = d (outgoing links) ◮ din cd (max number of incoming links) At each round, each node u ∈ [n], independently of the other nodes:

  • If u has dout < d outgoing links then u picks d − dout

nodes uniformly at random v1, . . . , vd−dout and “requests” edges {u, v1}, . . . , {u, vd−dout}

  • If u receives > cd incoming requests, u “rejects” all requests of

the last round

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 7/ 14

slide-21
SLIDE 21

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

RAES

Request a link, Accept if Enough Space

Directed graph G = (V , E)

◮ dout = d (outgoing links) ◮ din cd (max number of incoming links) At each round, each node u ∈ [n], independently of the other nodes:

  • If u has dout < d outgoing links then u picks d − dout

nodes uniformly at random v1, . . . , vd−dout and “requests” edges {u, v1}, . . . , {u, vd−dout}

  • If u receives > cd incoming requests, u “rejects” all requests of

the last round

Observation

Once a link is “accepted” it is “settles”

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 7/ 14

slide-22
SLIDE 22

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Self-stabilization

Question 1

How long it takes to settle?

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 8/ 14

slide-23
SLIDE 23

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Self-stabilization

Question 1

How long it takes to settle?

Stabilization

For every d 1, c > 1, and β > 1, process terminates within β log(n)/ log(c) rounds, with probability at least 1 − d/nβ−1.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 8/ 14

slide-24
SLIDE 24

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Self-stabilization

Question 1

How long it takes to settle?

Stabilization

For every d 1, c > 1, and β > 1, process terminates within β log(n)/ log(c) rounds, with probability at least 1 − d/nβ−1.

Proof sketch

◮ Parallel balls-into-bins problem (nd “link requests” [balls] in ncd “available slots” [bins]) ◮ At each round each request has constant probability to be accepted

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 8/ 14

slide-25
SLIDE 25

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Question 2

Structure of the resulting graph?

Expander Graph

A graph G = (V , E) is an ε-expander if, for every subset U ⊂ V with |U| n/2, number of edges in the cut (U, V − U) at least ε · vol(U).

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 9/ 14

slide-26
SLIDE 26

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Question 2

Structure of the resulting graph?

Expander Graph

A graph G = (V , E) is an ε-expander if, for every subset U ⊂ V with |U| n/2, number of edges in the cut (U, V − U) at least ε · vol(U).

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 9/ 14

slide-27
SLIDE 27

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Question 2

Structure of the resulting graph?

Expander Graph

A graph G = (V , E) is an ε-expander if, for every subset U ⊂ V with |U| n/2, number of edges in the cut (U, V − U) at least ε · vol(U).

Main difficulty

Complex dependencies among edges of the resulting graph

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 9/ 14

slide-28
SLIDE 28

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Question 2

Structure of the resulting graph?

Expander Graph

A graph G = (V , E) is an ε-expander if, for every subset U ⊂ V with |U| n/2, number of edges in the cut (U, V − U) at least ε · vol(U).

Main difficulty

Complex dependencies among edges of the resulting graph

Theorem

A sufficiently-small constant ε > 0 exists such that for sufficiently large constants d and c resulting random graph G is ε-expander w.h.p.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 9/ 14

slide-29
SLIDE 29

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Proof idea: Encoding argument

◮ nTd log n total random bits

◮ n nodes ◮ T rounds ◮ d out-neighbors ◮ log n bits per sample

v1 v2 v3 vn dT slots of log n random bits

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 10/ 14

slide-30
SLIDE 30

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Proof idea: Encoding argument

◮ nTd log n total random bits

v1 v2 v3 vn dT slots of log n random bits

2nTd log n

Total number of bit strings

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 10/ 14

slide-31
SLIDE 31

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Expansion

Proof idea: Encoding argument

◮ nTd log n total random bits ◮ Any bit string R ∈ {0, 1}nTd log n leading to a non-expanding graph can be “encoded” losslessy with nTd log n − Ω(log n) bits.

v1 v2 v3 vn dT slots of log n random bits

2nTd log n

Total number of bit strings

2nTd log n 2nTd log n−Ω(log n)

Bit strings leading to non-expanding graph Total number of bit strings

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 10/ 14

slide-32
SLIDE 32

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

◮ If G is not an expander, then there is non-expanding set of nodes S...

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-33
SLIDE 33

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

◮ If G is not an expander, then there is non-expanding set of nodes S... ◮ ...then the typical node in S will have a lot of neighbors in S...

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-34
SLIDE 34

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

◮ If G is not an expander, then there is non-expanding set of nodes S... ◮ ...then the typical node in S will have a lot of neighbors in S... ◮ ...then we can “encode” those link requests with log |S| bits instead of log n...

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-35
SLIDE 35

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

◮ If G is not an expander, then there is non-expanding set of nodes S... ◮ ...then the typical node in S will have a lot of neighbors in S... ◮ ...then we can “encode” those link requests with log |S| bits instead of log n... ◮ ...provided that we already “encoded” who’s the set S...

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-36
SLIDE 36

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

◮ If G is not an expander, then there is non-expanding set of nodes S... ◮ ...then the typical node in S will have a lot of neighbors in S... ◮ ...then we can “encode” those link requests with log |S| bits instead of log n... ◮ ...provided that we already “encoded” who’s the set S... ◮ ...this takes log n

|S|

  • bits...

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-37
SLIDE 37

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

◮ If G is not an expander, then there is non-expanding set of nodes S... ◮ ...then the typical node in S will have a lot of neighbors in S... ◮ ...then we can “encode” those link requests with log |S| bits instead of log n... ◮ ...provided that we already “encoded” who’s the set S... ◮ ...this takes log n

|S|

  • bits...

◮ ...but we can save other bits suitably encoding accepted and rejected requests

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-38
SLIDE 38

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Encoding argument

Proof Idea

Table 1: Set S

2 log |S| + log

  • n

|S|

  • Table 3: Critical Nodes

T

t=1

  • 2 log ct + log

n ct

  • V \ S

S Nodes in Nodes in

Cost(Av) = 2 log ℓv + log ℓv d

  • Subset Av of

accepted requests in V \ S Cost(Aout

v

) = 2 log(εvd) + log

  • d

εvd

  • Destinations of

accepted requests Cost(Dest(Av))= εvd log ∆ + (1 − εv)d log ((1 − δ)∆) Destinations of rejected requests Size Index of the set Sizes Indices of sets

Uncompressed

Node v accepted requests Subset Aout

v

  • f
  • uside S (uncompressed) +

+ inside S (compressed) Semi-saturated / Critical

ℓv − d S.-sat. dest. S.-sat. S.-sat. dest. dest. log(n/c) log(n/c) log(n/c) dest. dest. dest.

Crit. Crit. Crit. log ct1 log ct2 log ctk

Table 2 Field 1 Field 4 Field 2 Field 3

Unused randomness

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 11/ 14

slide-39
SLIDE 39

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Bounded-degree expander inside a dense one

In this talk

Each node can sample any other node.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 12/ 14

slide-40
SLIDE 40

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Bounded-degree expander inside a dense one

In this talk

Each node can sample any other node.

Results smoothly apply to a slight generalization

Underlying ∆-regular graph with ∆ = Θ(n). Nodes can sample only their neighbors.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 12/ 14

slide-41
SLIDE 41

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Bounded-degree expander inside a dense one

In this talk

Each node can sample any other node.

Results smoothly apply to a slight generalization

Underlying ∆-regular graph with ∆ = Θ(n). Nodes can sample only their neighbors.

Bounded-degree expander from a dense one

Parallel algorithm to find a bounded-degree expander inside a dense one.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 12/ 14

slide-42
SLIDE 42

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Conclusions and future work

Conclusions

◮ Bitcoin P2P network as an interesting available dynamic network ◮ The protocol hides the network structure ◮ Encoding argument to prove properties of random graphs

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 13/ 14

slide-43
SLIDE 43

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Conclusions and future work

G(n, d, c) dynamic random graph

       n : number of nodes d : minimum required degree c 1 : “tolerance” (cd = maximum degree) At each round, each node u ∈ [n], independently of the other nodes:

  • If u has degree < d then u picks a node v uniformly at random

and adds the edge {u, v} in E.

  • If u has degree > cd then u picks one of its neighbors v uniformly

at random and removes the edge {u, v} from E

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 13/ 14

slide-44
SLIDE 44

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Conclusions and future work

G(n, d, c, p) dynamic random graph

       n : number of nodes d : minimum required degree c 1 : “tolerance” (cd = maximum degree) p : edge failure probability At each round, each node u ∈ [n], independently of the other nodes:

  • If u has degree < d then u picks a node v uniformly at random

and adds the edge {u, v} in E.

  • If u has degree > cd then u picks one of its neighbors v uniformly

at random and removes the edge {u, v} from E

  • Each edge e ∈ E disappears with probability p

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 13/ 14

slide-45
SLIDE 45

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Conclusions and future work

Ergodic Markov Chain

◮ Mixing time? ◮ Stationary random graph properties?

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 13/ 14

slide-46
SLIDE 46

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Conclusions and future work

Ergodic Markov Chain

◮ Mixing time? ◮ Stationary random graph properties?

Proof techniques

Encodign argument doesn’t seem to help.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 13/ 14

slide-47
SLIDE 47

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Conclusions and future work

Ergodic Markov Chain

◮ Mixing time? ◮ Stationary random graph properties?

Proof techniques

Encodign argument doesn’t seem to help.

Further

Nodes joining and leaving the network.

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 13/ 14

slide-48
SLIDE 48

Algorithmic Aspects of Temporal Graphs II - Patras - July 2019

Thank you!

Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 14/ 14