Analysis of Blockchain-Based Storage Systems
Total Page:16
File Type:pdf, Size:1020Kb
UNLV Theses, Dissertations, Professional Papers, and Capstones 8-1-2020 Analysis of Blockchain-Based Storage Systems Phillipe Austria Follow this and additional works at: https://digitalscholarship.unlv.edu/thesesdissertations Part of the Computer Sciences Commons Repository Citation Austria, Phillipe, "Analysis of Blockchain-Based Storage Systems" (2020). UNLV Theses, Dissertations, Professional Papers, and Capstones. 3984. http://dx.doi.org/10.34917/22085740 This Thesis is protected by copyright and/or related rights. It has been brought to you by Digital Scholarship@UNLV with permission from the rights-holder(s). You are free to use this Thesis in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s) directly, unless additional rights are indicated by a Creative Commons license in the record and/ or on the work itself. This Thesis has been accepted for inclusion in UNLV Theses, Dissertations, Professional Papers, and Capstones by an authorized administrator of Digital Scholarship@UNLV. For more information, please contact [email protected]. ANALYSIS OF BLOCKCHAIN-BASED STORAGE SYSTEMS By Phillipe S. Austria Bachelor of Science (B.Sc.), Chemical Engineering University of Washington 2010 A thesis submitted in partial fulfillment of the requirements for the Master of Science in Computer Science Department of Computer Science Howard R. Hughes College of Engineering The Graduate College University of Nevada, Las Vegas August 2020 © Phillipe S. Austria, 2020 All Rights Reserved Thesis Approval The Graduate College The University of Nevada, Las Vegas July 24, 2020 This thesis prepared by Phillipe S. Austria entitled Analysis of Blockchain-Based Storage Systems is approved in partial fulfillment of the requirements for the degree of Master of Science in Computer Science Department of Computer Science Yoohwan Kim, Ph.D. Kathryn Hausbeck Korgan, Ph.D. Examination Committee Chair Graduate College Dean Ju-Yeon Jo, Ph.D. Examination Committee Member Wolfgang Bein, Ph.D. Examination Committee Member Sean Mulvenon, Ph.D. Graduate College Faculty Representative ii Abstract Increasing storage needs has driven cloud storage to become a prevalent choice to store data for both business and personal use. Cloud service providers, such as Google, offer advantages over storing personal hard drives; however, customers lose privacy and require trust in the provider to act honestly with their data. This thesis explores an alternative to cloud storage using Blockchain technology. I focus on Sia, a blockchain-based storage platform that allows users to rent storage from other users. In this study, I evaluate the security, performance and costs between the Sia and traditional cloud storage. I assessed security based on five categories: encryption, data access, durability, redundancy and availability. The performance and costs were evaluated through various storage tests using Sia and Google Drive. The results revealed Sia to have higher availability and less data access (more privacy). Google Drive displayed faster upload times, while Sia displayed faster download times. Additionally, the final cost of using Sia was comparable to cloud providers; however, was more than double of what was expected due to data redundancy costs. Further testing is needed to fully understand the complex costs structure of a blockchain-based storage platform. iii Acknowledgements I first wish to express my sincere appreciation to my academic adviser, Dr. Yoohwan Kim of the Computer Science department at the University of Nevada, Las Vegas. He has guided and supported me from the beginning of my master's journey. He has allowed this paper to be my own work, but also steered me to choose an interesting topic and asks important research questions. Next, I would like to thank my committee members: Dr. Ju-Yeon Jo, Dr. Wolfgang Bein and Dr. Sean Mulvenon. I very much appreciate the time they have taken to assess and evaluate my thesis. Special thanks to Dr. Mulvenon, my former graduate assistantship manager, for the valuable advice and wisdom throughout my time at the Office of Research and Sponsored Projects. Last but certainly not least, I wish to acknowledge the support and great love of my family, especially my mother. They kept me motivated and this work would not have been possible without their encouragement. Phillipe S. Austria University of Nevada, Las Vegas August 2020 iv Table of Contents Abstract iii Acknowledgements iv Table of Contents v List of Tables viii List of Figures ix Chapter 1 Introduction 1 1.1 The Study . .2 1.2 Related Works and Research Gaps . .3 1.3 Motivations . .3 Chapter 2 Characteristics of File Storage Systems 5 2.1 Storage Security Definitions . .5 2.1.1 Durability . .5 2.1.2 Redundancy . .6 2.1.3 Availability . .7 2.1.4 Encryption . .8 2.2 Distributed File Systems . .9 2.3 Traditional Cloud Storage Systems . 11 2.3.1 Google File System . 12 2.3.2 Dropbox . 13 2.3.3 AWS S3 . 14 2.3.4 Summary . 16 v 2.4 Peer To Peer Distributed File Storage . 16 2.4.1 Peer To Peer Computing . 16 2.4.2 BitTorrent . 17 2.5 Blockchain-Based File Storage Systems . 20 2.5.1 Bitcoin Blockchain . 20 2.5.2 Sia . 22 2.5.3 Storj . 27 2.5.4 Filecoin . 30 Chapter 3 Performance and Costs Testing Methods 37 3.1 Hardware . 37 3.2 Programming Languages . 38 3.2.1 Node.js . 38 3.3 Testing Platforms . 38 3.3.1 Sia . 38 3.3.2 Google Drive . 40 3.4 Application Programming Interface . 41 3.4.1 Sia API . 41 3.4.2 Google Drive API . 42 3.5 Performance Tests Description . 43 3.5.1 Upload Test . 43 3.5.2 Download Test . 44 3.6 Costs Test Description . 45 3.7 Libraries . 47 3.7.1 Sia JavaScript Bindings . 47 3.7.2 Sia Metrics Library . 48 3.7.3 Sia File Loader Library . 48 3.8 Evaluation Methods . 49 3.8.1 Security . 49 3.8.2 Performance . 49 3.8.3 Costs . 49 vi Chapter 4 Security Evaluation 50 4.1 Encryption . 50 4.2 Data Access . 51 4.3 Redundancy . 51 4.4 Durability . 52 4.5 Availability . 53 Chapter 5 Performance Evaluation 54 5.1 Results . 54 5.2 Evaluation . 56 5.2.1 Available Time . 56 5.2.2 Download Time . 56 5.2.3 Upload Time . 57 Chapter 6 Costs Evaluations 58 6.1 Costs Test Results . 58 6.2 Costs Test Evaluation . 59 Chapter 7 Discussions 62 7.1 Future Works . 65 7.2 Conclusions . 65 Appendix A Acronyms 66 Bibliography 67 Curriculum Vitae 71 vii List of Tables 2.1 Cloud storage services usage and prices. 11 2.2 Service level agreement summary in traditional cloud systems. 16 2.3 Sia blockchain specifications. 23 2.4 Architecture comparison between Storj and Sia . 30 3.1 Sia API to collect metrics from the daemon. 42 3.2 Google Drive API. 42 3.3 Metrics recorded for performance tests. 43 3.4 Input for Sia renter calculator estimation. 46 3.5 Sia costs test conditions. 46 3.6 Sia metrics collect for cost evaluation. 47 4.1 Durability calculated with Eq. 2.1 . 52 4.2 Durability calculated with Eq. 2.2 . 52 4.3 Sia availability calculation. 53 6.1 Summary of balance and spending for storage test. 58 6.2 Estimate and actual SC spend during storage test. 59 6.3 Final storage rate of Sia compared with TCS rates. ..