A survey of data transfer and storage techniques in prevalent cryptocurrencies and suggested improvements

Sunny Katkuri
DOI: https://doi.org/10.48550/arXiv.1808.03380
2018-08-10
Abstract:This thesis focuses on aspects related to the functioning of the gossip networks underlying three relatively popular cryptocurrencies: Ethereum, Nano and IOTA. We look at topics such as automatic discovery of peers when a new node joins the network, bandwidth usage of a node, message passing protocols and storage schemas and optimizations for the shared ledger. We believe this is a topic that is often overlooked in works about blockchains and cryptocurrencies. Vulnerabilities and inefficiencies attain a higher significance than ones in a regular open source project because of the rather direct financial implications of these projects. Barring Bitcoin, a network that has been around for nearly 10 years, no other project has substantial documentation for its operational details other than scattered and sparse pages in the source code repositories. Almost all of the content described here has been extracted by studying the source code of the reference implementations of these projects. We evaluate the use of Invertible Bloom Lookup Tables and the Graphene protocol to decrease block propagation times and bandwidth usage of certain messages. We perform realistic simulations that show significant improvements. We provide a complete implementation of Graphene in Geth, Ethereum's main node software and test this implementation against the main Ethereum blockchain. We also crawled the chosen cryptocurrency networks for publicly visible nodes and provide an Autonomous System-level breakdown of these nodes with the end goal of estimating the ease of performing attacks such as BGP hijacks and their impact. Code written for implementing Graphene in Geth, performing various simulations and for other miscellaneous tasks has been uploaded to Github at <a class="link-external link-https" href="https://github.com/sunfinite/masters-thesis" rel="external noopener nofollow">this https URL</a>.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?