
NORTHWESTERN UNIVERSITY Unchaining the Blockchain Network Layer A DISSERTATION SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS for the degree DOCTOR OF PHILOSOPHY Field of Computer Science By Uri Klarman EVANSTON, ILLINOIS March 2019 2 c Copyright by Uri Klarman 2019 All Rights Reserved 3 ABSTRACT Unchaining the Blockchain Network Layer Uri Klarman Blockchains are an exciting new type of Peer-to-Peer (P2P) distributed systems, which enable parties to transact directly, and maintain the record of said interactions in a dis- tributed manner. A unique feature of blockchains is their ability to maintain a consensus without requiring knowledge on the number of participants, nor their identities, opening the door for cross-border, self-organized, decentralized, open ecosystems. The original blockchain, Bitcoin, aims to be a Global P2P Electronic Cash System, and to replace fiat money, banks, payment-processors, and other financial middlemen. Other blockchains, e.g., Ethereum, aim to remove middlemen from other types of interactions, such as replac- ing custodians with Smart Contracts, and to securely store credentials, identities, health records, and private information. While blockchains have the potential to be transformative in many fields, their real- world usage is held back by practical limitations. First and foremost, for a blockchain to be used at a global scale, it must be capable of handling a high volume of transactions; for Bitcoin to replace Visa, MasterCard, PayPal and other payment processors, it must be 4 capable of processing roughly 5; 000 transactions per second (TPS), the average number of TPS these companies process today [26, 74]. To support online shopping, it must support peak demand, which for Alibaba stands at 325; 000 TPS [109]. In contrast to these significant requirements, Bitcoin can only process 3{4 TPS. Other significant limitations include the centralization and wastefulness of blockchain mining, the procedure which records transactions in the blockchain. Research in the blockchain field had thus far focused on new cryptographic primi- tives and alternative blockchain protocols to address these real-world challenges, while the networking aspects were largely ignored. In this thesis, I propose a definition for the blockchain Network Layer, and provide evidence that the Network Layer is the bottleneck and root-cause for some of the most pressing challenges blockchains face today. I further propose new networking primitives and novel network utilization methods, and explore how they can be used to overcome said challenges, including scalability, mining central- ization, and mining wastefulness, as well as to utilize blockchains to decentralize existing knowledge silos. First, I provide the necessary background to understand the operation of blockchains, and a definition for the blockchain Network Layer. Then, I present an analysis which outlines how the Network Layer is the bottleneck for blockchain scalabil- ity, and suggest a new networking primitive, the Blockchain Distribution Network (BDN) to overcome both blockchain scalability and mining centralization. Lastly, I present novel networking methods which enable blockchains to be utilized in new fields, focusing on the decentralization of the search engines market, and mitigate mining wastefulness. 5 Thesis Committee Aleksandar Kuzmanovic, Northwestern University, Committee Chair Fabi´anBustamante, Northwestern University, Committee Member Peter A. Dinda, Northwestern University, Committee Member Cristina Nita-Rotaru, Northeastern University, Committee Member 6 Acknowledgements First, I would like to thank my advisor, mentor, and partner, Aleksandar Kuzmanovic, for his continuous support of my research, and for his wise guidance. His focus on exciting ideas, his confidence in our ability to overcome any obstacle we encounter, and his genuine enthusiasm about our joint work, are the cornerstones for my approach towards science, research, and academia. I would further like to express my gratitude to my co-advisor, Fabi´anBustamante, for supporting my research, for sharing his insights on conducting research across multiple domains and its implications, and for his valuable feedback and advice. My sincere thanks also go to the other members of my committee, Peter Dinda and Cristina Nita-Rotaru, for their valuable insight and candid feedback. Their insights and comments during my proposal had a significant effect on the shaping of my thesis, for which I am grateful. I thank my lab-mates and fellow students at the Northwestern Networking Group: Marcel Flores, Ning Xia, Marc Warrior, Qurat-Ul-Ann Akbar, Andrew Kahn, and Alexan- der Wenzel, for their camaraderie, technical assistance, and wise advice. It had been my pleasure to work alongside each and every one of you. Additional thanks go to the entire bloXroute Labs team, and to Soumya Basu in particular, for investing countless hours in the development and deployment of bloXroute, bridging the gap between clever ideas and solid reality. 7 I would like to thank my parents, brothers, in-laws, nephews and nieces, for contin- uously supporting me in this endeavor, and throughout my life. Finally, I would like to thank my wife Yaara, without whom I would have never set out on this exciting academic journey, nor would it had been half as exciting. 8 Table of Contents ABSTRACT 3 Thesis Committee 5 Acknowledgements 6 List of Figures 12 Chapter 1. Introduction 16 1.1. The Blockchain Network Layer 17 1.2. Blockchain Networking Resources 18 1.3. Thesis Organization 18 Chapter 2. Thesis 20 Chapter 3. Blockchain Fundamentals and the Blockchain Network Layer 21 3.1. The Operation of Bitcoin 21 3.1.1. Bitcoin Users 21 3.1.2. Nodes, Miners and Validators 22 3.1.3. Block Mining 24 3.1.4. Blockchain Security 25 3.1.5. Forks 26 3.1.6. Mining Pools 28 9 3.1.7. Alternative Blockchain Designs 30 3.2. The Blockchain Stack and the Network Layer 31 3.2.1. Layer-1: Consensus Layer 31 3.2.2. Layer-2: Intermittent Consensus Layer 32 3.2.3. Layer-3: Inference Layer 33 3.2.4. Layer-0: Network Layer 34 Chapter 4. bloXroute: the First Blockchain Distribution Network (BDN) 35 4.1. Analysis of the Blockchain Scalability Problem 35 4.1.1. Scalability Constraints 36 4.1.2. Block Propagation Time Analysis 37 4.1.3. Forks, Security and Usability 39 4.1.4. Decentralization 41 4.1.5. Block Size and Inter-Block Time Interval 41 4.2. Related Work 42 4.2.1. Centralized Propagation Systems 42 4.2.2. Off-Chain Scaling Solutions 44 4.2.3. On-Chain Scaling Solutions 44 4.3. Blockchain Distribution Network (BDN): a New Networking Primitive 45 4.3.1. Trust Model 46 4.3.2. System Components 47 4.3.3. bloXroute Scalability Improvement 48 4.3.4. bloXroute's Provable Neutrality 50 4.3.5. Adversary Behaviors, System Failure, and Safety Measures 55 10 4.4. bloXroute Empirical Evaluation 62 4.4.1. Real-World Performance 62 4.4.2. High TPS Performance 66 4.5. Mining Decentralization 70 Chapter 5. Webcoin: Decentralizing Search Engines with Blockchain Networking Resources 73 5.1. From Bitcoin to Webcoin 77 5.1.1. Webcoin's Goals 77 5.1.2. Webcoin's Non-Goals 78 5.1.3. Proof-of-Work Wastefulness 79 5.2. The Webcoin Protocol 81 5.2.1. Webcoin's Proof-of-Work 81 5.2.2. Index Collectors 83 5.3. Web Indexing and Index Validation 85 5.3.1. Statistical Index Validation 86 5.3.2. Statistical Validation Accuracy 87 5.4. Webcoin's Security 88 5.4.1. Block Mining 90 5.4.2. Block Validation 94 5.4.3. Resource Aggregation and Security 95 5.4.4. Minimal Inter-Block Time 96 5.5. Webcoin Evaluation 97 5.5.1. Crawling Feasibility 97 11 5.5.2. Network Usage 100 5.5.3. Mining at Large Scales 103 5.5.4. Collectors' Properties. 105 5.6. Related Work 105 5.7. Discussion 107 Chapter 6. Conclusion 111 References 113 12 List of Figures 3.1 The blockchain stack. The Network Layer (Layer-0) supports the operation of the Consensus Layer (Layer-1), which encapsulates blockchain functionalities. The Intermittent Consensus Layer (Layer-2) extends these functionalities outside the consensus, while the Inference Layer (Layer-3) adds new functionalities outside the consensus. 31 4.1 The components of the bloXroute system: the bloXroute BDN, and the Peer Network nodes utilizing it. Each Peer Network node runs a Gateway process as an intermediary between its blockchain application and the bloXroute BDN. 47 4.2 Naive block propagation using bloXroute. (1) Blockchain node passes block to local bloXroute Gateway. (2) Gateway transmits block to bloXroute server. (3) bloXroute server streams block to all bloXroute servers as first bytes arrive. (4) bloXroute servers stream block to all Gateways as first bytes arrive. (5) Gateways validate block structure, and pass block to blockchain nodes. 51 4.3 Encrypted block propagation using bloXroute. (1) Blockchain node passes block to local bloXroute Gateway, which encrypts block. Then, propagation follows path of naive propagation (solid line). (2) Gateways 13 form a P2P network, where each notifies its peer of encrypted blocks received. p1 and p2 both notify psource of receiving encrypted block. (3) Once psource learns its peers received the encrypted block, it sends encryption key to its peers, to be propagated to all Gateways. (4) Upon receiving the encryption key, each gateway decrypts the encrypted block and pass it to the blockchain node it serves. 52 4.4 Indirect relay of encrypted block to bloXroute. (1) As in encrypted block propagation, blockchain node passes block to local bloXroute Gateway, to be encrypted. (2) Gateway transmits encrypted block to a Gateway peer, to be relayed to a bloXroute server. Encrypted block then propagates, followed by its encryption key, as in encrypted block propagation (solid line). 53 4.5 The ratios by which bloXroute compresses the blocks mined on January 1st, 2019 on the Bitcoin (BTC), Bitcoin Cash (BCH), and Ethereum (ETH).
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages127 Page
-
File Size-