Computer Science > Distributed, Parallel, and Cluster Computing
[Submitted on 10 Aug 2018]
Title:A survey of data transfer and storage techniques in prevalent cryptocurrencies and suggested improvements
View PDFAbstract: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 this https URL.
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.