Centrality Routing and Blockchain Technologies in Distributed Networks
Creators: name: Ghiro, Lorenzo
Publisher: name: Universit� degli studi di Trento
Year: 2021

description: This thesis contributes to the development of distributed networks proposing: ? a technique to enhance the reliability of DV routing protocols; ? a critical analysis of the integration of blockchains in distributed networks. First, a novel algorithm for the distributed computation of the Load Centrality (LC), a graph centrality metric, is proposed and then applied for steering the optimization of the route recovery process of Distance-Vector (DV) routing protocols: this way the algorithm contributes to the enhancement of the network reliability. The algorithm convergence is proved also identifying time complexity bounds that are later confirmed by computer simulations. The proposed algorithm is designed as an extension to the Bellman-Ford one and can thus be integrated with any DV routing protocol. An implementation of the algorithm in Babel, a real world DV protocol, is provided in support of this claim. Then an application of the algorithm is presented: the LC is used to find an optimal tuning for the generation frequency of the Babel control messages. This tuning technique effectively reduces the impact of losses consequent to random node failures in the emulations of several real world wireless mesh networks, without increasing the control overhead. A second version of the algorithm is designed to be incrementally deployable. This version can be deployed gradually in production networks also by uncoordinated administrators. When only a fraction of nodes is upgraded so to participate in the protocol, these upgraded nodes estimate their LC indexes approximating the theoretical ones. The approximation error is studied analytically and it is also shown that, even for low penetration ratios of upgraded nodes in the network, the algorithm accurately ranks nodes according to their theoretical centrality. The second contribution of the thesis is the critical discussion of the integration of blockchain technologies in distributed networks. An initial analysis of the literature concerning blockchain based applications reveals an ambiguity around the term "blockchain" itself. The term is used, apparently, to identify a number of similar but different technologies proposed to empower a surprisingly broad range of applications. This thesis prompts therefore the need of formulating a restrictive definition for the term blockchain, necessary for clarifying the role of the same blockchain in distributed networks. The proposed definition is grounded in the critical analysis of the blockchain from a distributed systems perspective: Blockchains are only those platforms that implement an open, verifiable and immutable Shared Ledger, independent of any trusted authority. Observing that the blockchain security grows with the amount of resources consumed to generate blocks, this thesis concludes that a secure blockchain is necessarily resource hungry, therefore, its integration in the constrained domain of distributed networks is not advised. The thesis draws recommendations for a use of the blockchain not in contrast with the definition. For example, it warns about applications that require data to be kept confidential or users to be registered, because the blockchain naturally supports the openness and transparency of data together with the anonymity of users. Finally a feasible role for the blockchain in the Internet of Things (IoT) is outlined: while most of the IoT transactions will be local and Off-Chain, a blockchain can still act as an external and decentralized platform supporting global transactions, offering an alternative to traditional banking services. The enhanced reliability of DV routing protocols encourages a wider adoption of distributed networks, moreover, the distributed algorithm for the computation of centrality enables applications previously restricted to centralized networks also in distributed ones. The discussion about the blockchain increases instead the awareness about the limits and the scope of this technology, inspiring engineers and practitioners in the development of more secure applications for distributed networks. This discussion highlights, for instance, the important role of the networking protocols and communication infrastructure on the blockchain security, pointing out that large delays in the dissemination of blocks of transactions make the blockchain more vulnerable to attacks. Furthermore, it is observed that a high ability to take control over the communications in the network favors eclipse attacks and makes more profitable the so called selfish mining strategy, which is detrimental to the decentralization and the security of blockchains. The two main contributions of this thesis blended together inspire the exploitation of centrality to optimize gossip protocols, minimizing block propagation delays and thus the exposure of the blockchain to attacks. Furthermore, the notion of centrality may be used by the community of miners to measure the nodes influence over the communication of blocks, so it might be used as a security index to warn against selfish mining and eclipse attack.