1. Introduction
The Internet is a massive decentralized and distributed network consisting of billions of
devices which are not controlled by a single group or entity. Much of the data currently
available through the Internet is quite centralized and is stored with a handful of tech-
nology companies that have the experience and capital to build massive data centers
capable of handling this vast amount of information. A few of the challenges faced by
data centers are: data breaches, periods of unavailability on a grand scale, storage costs,
and expanding and upgrading quickly enough to meet user demand for faster data and
larger formats.
Decentralized storage has emerged as an answer to the challenge of providing a per-
formant, secure, private, and economical cloud storage solution. Decentralized storage is
better positioned to achieve these outcomes as the architecture has a more natural align-
ment to the decentralized architecture of the Internet as a whole, as opposed to massive
centralized data centers.
News coverage of data breaches over the past few years has shown us that the fre-
quency of such breaches has been increasing by as much as a factor of 10 between 2005
and 2017. Decentralized storage’s process of protecting data makes data breaches
more dicult than current methods used by data centers while, at the same time, cost-
ing less than current storage methods.
This model can address the rapidly expanding amount of data for which current solu-
tions struggle. With an anticipated 44 zettabytes of data expected to exist by 2020 and
a market that will grow to $92 billion USD in the same time frame, we have identified
several key market segments that decentralized cloud storage has the potential to ad-
dress. As decentralized cloud storage capabilities evolve, it will be able to address a much
wider range of use cases from basic object storage to content delivery networks (CDN).
Decentralized cloud storage is rapidly advancing in maturity, but its evolution is subject
to a specific set of design constraints which define the overall requirements and imple-
mentation of the network. When designing a distributed storage system, there are many
parameters to be optimized such as speed, capacity, trustlessness, Byzantine fault toler-
ance, cost, bandwidth, and latency.
We propose a framework that scales horizontally to exabytes of data storage across
the globe. Our system, the Storj Network, is a robust object store that encrypts, shards,
and distributes data to nodes around the world for storage. Data is stored and served in a
manner purposefully designed to prevent breaches. In order to accomplish this task, we’ve
designed our system to be modular, consisting of independent components with task-
specific jobs. We’ve integrated these components to implement a decentralized object
storage system that is not only secure, performant, and reliable but also significantly more
economical than either on-premise or traditional, centralized cloud storage
e have organized the rest of this paper into six additional chapters. Chapter 2 dis-
cusses the design space in which Storj operates and the specific constraints on which our
optimization efforts are based. Chapter 3 covers our framework. Chapter 4 proposes a
simple concrete implementation of the framework, while chapter 5 explains what hap-
pens during each operation in the network. Chapter 6 covers future work. Finally, chapter
7 covers selected calculations.