Dynamic graph models inspired by the Bitcoin network-formation process
Antonio Cruciani
 Gran Sasso Science Institute (GSSI), L’Aquila, Italy
antonio.cruciani@gssi.it
Francesco Pasquale
Università di Roma ‘‘Tor Vergata’’, Rome, Italy
francesco.pasquale@uniroma2.it
Â
In this work
What we do:
Why we do it:
How we do that:
The Bitcoin P2P Network
What do we know?
Every node:
Can we use it to model the network structure?
Some related works
Difficult to apply on the real Bitcoin P2P Network
Dynamic graph that converges to a static random graph
We extend the RAES model
Bitcoin Topology Inference
Â
Â
Â
Dynamic Graph Models (Inspired by the Bitcoin Network)
E-RAES (Edge Dynamic-RAES)
Example:
n : 20
d : 4
c : 1.5
p : 0.5
At each round, each node \(u \in V\), independently of the other nodes:
RAES
E-RAES: Theoretical analysis?
Non-Reversible Ergodic Markov Chain
E-RAES Process
Simulations
E-RAES: empirical "Steady-state" convergence
\(\mathcal{P_t} = D(\mathcal{G_t})^{-1} A(\mathcal{G_t})\)
Measure of robustness: Spectral-Gap
At every round \(t\geq 0\) compute:
E-RAES: empirical "Steady-state" convergence
At the generic round \(t\geq \log n\):
If \(|\gamma_t - \gamma_i|\leq \varepsilon\) for each \(i \in [(t-\log n), t]\)
How do we choose \(\varepsilon\)?
Empirical convergence:
E-RAES: (Average) Expansion
Expansion measured before the edge disappearance phase
\(d : 4, c: 1.5\)
\(d : 6, c: 5\)
\(d : 3, c: 3\)
E-RAES: (Average) Flooding Time
Flooding step executed after the edge disappearance phase
\(d : 4, c: 1.5\)
\(d : 6, c: 5\)
\(d : 3, c: 3\)
V-RAES (Vertex Dynamic-RAES)
At each round \(t\geq 0\):
Example (ignore self-loops):
\(\lambda\) : 5
d : 4
c : 1.5
q : 0.5
V-RAES: "Steady-state" convergence
Markovian Queue
V-RAES Process
Stationary when \(|V_t|Â \approx \frac{\lambda}{q}\)
V-RAES: % of informed nodes at each round
\(d : 4, c: 1.5\)
\(d : 6, c: 5\)
\(d : 3, c: 3\)
Flooding step executed after the edge disappearance phase
Network size: \(\frac{\lambda}{q} = 2^{15}\)
V-RAES: (Average) Flooding time
Flooding step executed after the edge disappearance phase
\(d : 4, c: 1.5\)
\(d : 6, c: 5\)
\(d : 3, c: 3\)
EV-RAES (Edge-Vertex Dynamic-RAES)
At each round \(t\geq 0\):
Example (ignore self-loops):
\(\lambda\) : 5
d : 4
c : 1.5
q : 0.5
p: 0.5
EV-RAES: Sparse vs Bitcoin default values
\( d: 4, c: 1.5\)
\(q\in [0.1,0.5],p\in [0.1,0.3] \)
\( d: 8, c: 15.625\)
\(q\in [0.1,0.5],p\in [0.1,0.3] \)
Network size: \(\frac{\lambda}{q} = 2^{15}\)
\( d: 4, c: 1.5\)
\(q\in [0.1,0.5],p\in [0.1,0.3] \)
\( d: 8, c: 15.625\)
\(q\in [0.1,0.5],p\in [0.1,0.3] \)
EV-RAES: Sparse vs Bitcoin default values
Conclusions and Future works
Conclusions
Future works
Â
Â
Thank You!