self stabilization and expansion of a simple dynamic
play

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


  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ˆ ote d’Azur Algorithmic Aspects of Temporal Graphs II Patras, Greece, July 9, 2019

  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

  3. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 Cryptocurrencies: The Bitcoin Revolution 1C78STt6GqKNob7wnX9kWFcTLrPe39jRRQ Bitcoin ◮ Addresses Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

  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

  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

  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

  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

  8. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 Cryptocurrencies: The Bitcoin Revolution Proof of Work Bitcoin ◮ Addresses ◮ Transactions ◮ Blocks ◮ Blockchain ◮ P2P network ◮ Mining and Consensus f (block-header) < target Self-stabilization and expansion of a simple dynamic random graph model for Bitcoin-like unstructured P2P networks 2/ 14

  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

  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

  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

  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

  13. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 A simple dynamic graph model G ( n , d , c ) dynamic random graph  : number of nodes n  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

  14. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 A simple dynamic graph model G ( n , d , c ) dynamic random graph  : number of nodes n  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

  15. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 A simple dynamic graph model G ( n , d , c ) dynamic random graph  : number of nodes n  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

  16. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 A simple dynamic graph model G ( n , d , c ) dynamic random graph  : number of nodes n  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

  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

  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

  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

  20. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 RAES Request a link, Accept if Enough Space Directed graph G = ( V , E ) ◮ d out = d (outgoing links) ◮ d in � cd (max number of incoming links) At each round, each node u ∈ [ n ], independently of the other nodes: - If u has d out < d outgoing links then u picks d − d out nodes uniformly at random v 1 , . . . , v d − d out and “requests” edges { u , v 1 } , . . . , { u , v d − d out } - 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

  21. Algorithmic Aspects of Temporal Graphs II - Patras - July 2019 RAES Request a link, Accept if Enough Space Directed graph G = ( V , E ) ◮ d out = d (outgoing links) ◮ d in � cd (max number of incoming links) At each round, each node u ∈ [ n ], independently of the other nodes: - If u has d out < d outgoing links then u picks d − d out nodes uniformly at random v 1 , . . . , v d − d out and “requests” edges { u , v 1 } , . . . , { u , v d − d out } - 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

  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

  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

Recommend


More recommend