TokenGazer Crypto Review | Storj: Overall Rating: 3.5, Indicator Trend: Neutral

TokenGazer
20 min readMar 21, 2019

--

Name: Storj

Token: STORJ

Date of Establishment: May.2017

Total Supply: 424,999,998

Circulation Ratio: 29.41%

TokenGazer Indicator

Technology: 3.5

Community: 3.5

User: 3.8

Market: 3.5

1 Background

1.1 Cloud Storage Market

Data volume has been growing continuously ever since the birth of Internet. According to statistics, from 2010 to 2020, the amount of data generated around the globe grows at a compound annual rate of 42% with an anticipated 44 zettabytes of data expected to exist by 2020.

Global Data Growth, according to The International Data Center (IDC)

Structured data is highly organized data that is made up mostly of tables with rows and columns that define their meaning. Examples are Excel spreadsheets and relational databases. Unstructured data is everything else. Examples include Emails, e-books, Word documents, video and audio transcripts, etc.

In this context, where and how to store data sources becomes increasingly important. The transition from internal storage to cloud storage has prevailed over the past decade, and the cloud storage market growth is rapid and accelerating. This trend can be clearly seen from the development of China’s cloud storage market from 2012 to 2017.

China’s Cloud Storage Market Capitalization

It’s estimated that the global cloud storage (not counting hardware) market capitalization in 2017 was 14.724 billion US dollars, and China’s cloud storage market capitalization was 1.355 billion US dollars.

Currently, technology giants such as Google, Amazon, Apple, Facebook, Tencent, and Ali control a large portion of the global data and dominate the cloud storage market. The highly centralized data storage poses a huge threat to data security and privacy and leads to expensive data storage.

According to statistics, the cost of cloud storage drops by less than 10% per year (shown the figure below), however, the utilized space of most storage devices is less than 25%. If the vast unused storage space flows to the cloud storage market, the cloud storage price will be significantly reduced.

Price Changes of Major Cloud Storage Projects, according to Storj Blog

The MIT Sloan Blackchain Technologies course mentions that blockchain technology plays an important role in reducing verification costs and network costs. Therefore, we can determine whether an industry needs to use blockchain technology or not based on its “validation cost” and “network cost”. The cloud storage business is seriously monopolized by the technology giants, indicating a high cost of entering the business network. Currently decentralized cloud storage still faces some technical problems in reducing the verification cost, so the cloud storage industry is currently in the following situation.

Current Situation of Decentralized Cloud Storage in terms of Network Effect and Verification Cost

TokenGazer believes that decentralized cloud storage will definitely be an application of blockchain technology. Blockchain can reduce the network effect of monopolies and provide cloud storage companies with a safe, trustless and peer-to-peer business solution. Although decentralized cloud storage faces many technical problems in reducing verification costs, many players are competing in this field and Storj is one of them.

1.2 Project Introduction

Storj is an open source project initiated and developed by the for-profit technology company Storj Labs. It is a distributed storage platform built on Ethereum. Users can buy storage services with the STORJ token on the Storj platform, and receive STORJ rewards by providing excess storage space. Compared with centralized cloud storage services, the distributed cloud storage service provides users with a higher level of security and privacy, while guaranteeing lower prices by utilizing excess storage space.

2 Technology Assessment

2.1 Technology Framework

Technology framework of Storj will do the following things:

Store data: When data is stored on the network, a client encrypts and breaks it up into multiple pieces. The pieces are distributed to peers across the network. When this occurs, metadata is generated that contains information on where to find the data again.

Retrieve data: When data is retrieved from the network, the client will first reference the metadata to identify the locations of the previously stored pieces. Then the pieces will be retrieved and the original data will be reassembled on the client’s local machine.

Maintain data: When the degree of redundancy drops below a certain threshold, the necessary data for the missing pieces is regenerated and replaced.

Pay for usage: A unit of value should be sent in exchange for services rendered.

The framework is composed of eight independent components, which are:

Storage Nodes

The storage node’s role is to store and return data. Aside from reliably storing data, nodes should provide network bandwidth and appropriate responsiveness. Storage nodes are selected to store data based on various criteria: ping time, latency, throughput, bandwidth caps, sufficient disk space, geographic location, uptime, history of responding accurately to audits, and so forth. In return for their service, nodes are paid.

Peer-to-peer communication and discovery

All peers on the network communicate via a standarized protocol. The framework requires that this protocol:

• provides peer reachability, even in the face of firewalls and NATs where possible. This may require techniques like STUN, UPnP, NAT-PMP, etc.

• provides authentication as in S/Kademlia, where each participant cryptographically proves the identity of the peer with whom they are speaking to avoid man-in-the-middle attacks.

• provides complete privacy. In cases such as bandwidth measurement, the client and storage node must be able to communicate without any risk of eavesdroppers. The protocol should ensure that all communications are private by default.

Redundancy

We assume that at any moment, any storage node could go offl­ine permanently. To achieve a specific level of durability (defined as the probability that data remains available in the face of failures), many products in this space use simple replication to achieve redundancy.

Storj believes this method ties durability to the network expansion factor, which is the storage overhead for reliably storing data. This significantly increases the total cost relative to the stored data. As an alternative to simple replication, Storj uses erasure codes that provide a much more efficient method to achieve redundancy. Erasure codes can achieve high durability without changes in expansion factor.

Erasure codes are an encoding scheme for manipulating data durability without tying it to bandwidth usage and enable an enormous performance improvement by avoiding to wait for “long-tail” response times. Long-tail responses are a big issue in distributed system design.

Metadata

Various outcomes during upload and download, according to Storj White Paper

Storj allows users to choose storage nodes based on geographic location, performance characteristics, available space, and other features. Therefore, instead of implicit node selection, Storj uses an explicit node selection scheme and keeps track of which storage nodes are selected by using a metadata storage system.

Storj allows users to choose storage nodes based on geographic location, performance characteristics, available space, and other features. Therefore, instead of implicit node selection, Storj uses an explicit node selection scheme and keeps track of which storage nodes are selected by using a metadata storage system.

Encryption

All data or metadata in Storj will be encrypted. Data must be encrypted as early as possible in the data storage pipeline, ideally before the data ever leaves the source computer. Encryption should use a pluggable mechanism that allows users to choose their desired encryption scheme. It should also store metadata about that encryption scheme to allow users to recover their data using the appropriate decryption mechanism in cases where their encryption choices are changed or upgraded.

Because each file should be encrypted differently with different keys and potentially different algorithms, the metadata about that encryption must be stored somewhere in a manner that is secure and reliable. This metadata, along with other metadata about the file, including its path, will be stored in the previously discussed metadata storage system, encrypted by a deterministic, hierarchical encryption scheme.

Audits and Reputation

Incentivizing storage nodes to accurately store data is of paramount importance to the viability of this whole system. It is essential to be able to validate and verify that storage nodes are accurately storing what they have been asked to store.

Storj audits are probabilistic challenges that confirm, with a high degree of certainty and a low amount of overhead, that a storage node is well-behaved. Failed audits will result in a storage node being marked as bad, which will result in redistributing data to new nodes and avoiding that node altogether in the future. A reputation system is built to record the history of audit outcomes for given node identities. Besides, storage node uptime and overall health are the primary metrics used to determine which files need repair.

Data Repair

Storj expects node churn to be the dominant cause of data loss in decentralized storage network. So there is incentivize an incentive mechanism in Storj system to encourage storage node participants to remain online for much longer than a few hours.

x-axis: node uptime (mins); y-axis: the probability of remaining online for another 60mins

According to Petar Maymounkov team’s research findings[1], the probability of a node remaining online will increase with is uptime (shown in the figure above). TokenGazer believes it is an effective method to prevent node churn.

Storj detects when a storage node stops storing data correctly or goes offl­ine and then repair the data it had to new nodes. To repair the data, we will recover the original data via an erasure code reconstruction from the remaining pieces and then regenerate the missing pieces and store them back in the network on new storage nodes.

Payment

Payment plays an important part in decentralized storage system. Storj emphasizes game theoretic models to ensure that participants in the network are properly incentivized to remain in the network and behave rationally to get paid.

Payments, value attribution, and billing in decentralized networks are a critical part of maintaining a healthy ecosystem of both supply and demand. Of course, decentralized payment systems are still in their infancy in a number of ways.

The network assumes the Ethereum-based STORJ token as the default mechanism for payment. In the future other alternate payment types could be implemented, including Bitcoin, Ether, credit or debit card, etc. In addition, Storj intends to use the Raiden Network to improve it payment system.

2.2 Concrete Implementation

The concrete implementation of Storj decentralized storage can be regarded as the cooperation of four actors for nine basic jobs.

The four actors are client, storage node, uplink and satellite. The nine basic jobs are data upload, download, erasure, movement, copying files, receiving data lists, storage audit, data repair and payment.

The procedures of each job are described in detail in Storj White Paper and this report only illustrate the interactions and functions of the actors in Storj system with data upload as an example.

Procedure of Data Upload

When a user wants to upload a file, the user first begins transferring data to an instance of the Uplink.

The Uplink chooses an encryption key and starting nonce for the first segment and begins encrypting incoming data with authenticated encryption as it flows to the network.

The Uplink buers data until it knows whether the incoming segment is short enough to be an inline segment or a remote segment. Inline segments are small enough to be stored on the Satellite itself.

The rest of this walkthrough will assume a remote segment because remote segments involve the full technology stack.

The Uplink sends a request to the Satellite to prepare for the storage of this first segment. The request object contains API credentials and identity certificates.

Upon receiving the request, the Satellite will:

Confirm that the Uplink has appropriate authorization and funds for the request. The Uplink must have an account with this specific Satellite already.

Make a selection of nodes with adequate resources that conform to the bucket’s configured durability, performance, geographic, and reputation requirements.

Return a list of nodes, along with their contact information and unrestricted bandwidth allocations, and a chosen root piece ID.

Next, the Uplink will take this information and begin parallel connections to all of the chosen storage nodes while measuring bandwidth.

The Uplink will begin breaking the segment into stripes and then erasure encode each stripe.

The generated erasure shares will be concatenated into pieces as they transfer to each storage node in parallel.

The erasure encoding will be configured to over-encode to more pieces than needed. This will eliminate the long tail effect and lead to a significant improvement of visible performance by allowing the Uplink to cancel the slowest uploads.

The data will continue to transfer until the maximum segment size is hit or the stream ends, whichever is sooner.

All of the hashes of every piece will be written to the end of each piece stream.

After that, the storage node will store: the largest restricted bandwidth allocation; the TTL of the segment, if one exists; and the data itself. The data will be identified by the storage node-specific piece ID and the delegating Satellite ID.

If the upload is aborted for any reason, the storage node will keep the largest restricted bandwidth allocation it received from the client Uplink on behalf of the Satellite, but will throw away all other relevant request data.

Assuming success:

The Uplink encrypts the random encryption key it chose for this file, utilizing a deterministic hierarchical key.

The Uplink will upload a pointer object back to the Satellite, which contains the following information:

– which storage nodes were ultimately successful

– what encrypted path was chosen for this segment

– which erasure code algorithm was used

– the chosen piece ID

– the encrypted encryption key and other metadata

– the hash of the piece hashes

– a signature

Finally, the Uplink will then proceed with the next segment, continuing to process segments until the entire stream has completed. Each segment gets a new encryption key, but the segment’s starting nonce monotonically increases from the previous segment.

The last segment stored in the stream will contain additional metadata:

how many segments the stream contained

how large the segments are, in bytes

the starting nonce of the first segment

extended attributes and other metadata

Periodically, the storage nodes will later send the largest restricted bandwidth allocation they received as part of the upload to the appropriate Satellite for payment.

Actors’ Functions

The three different peer classes, from Sorj White Paper

Client: A user or application that will upload or download data from the network.

Storage node: This peer class participates in the node discovery system, stores data forothers, and gets paid for storage and bandwidth.

Uplink: This peer class provides a library which has all necessary functions to interact with storage nodes and Satellites directly (this library will be available in a number of different programming languages); provides a command line interface for uploading and downloading files from the network, managing permissions and sharing, and managing accounts; performs encryption, erasure encoding; provides a compatibility layer between other object storage services such as Amazon S3 and libuplink exposing an Amazon S3-compatible API.

Satellite: This peer class participates in the node discovery system, caches node address information, stores per-object metadata, maintains storage node reputation, aggregates billing data, pays storage nodes, performs audits and repair, and manages authorization and user accounts. Any user can run their own Satellite, but we expect many users to elect to avoid the operational complexity and create an account on another Satellite hosted by a trusted third party.

2.3 Technical Analysis

Decentralized storage has technical difficulty in application

Although decentralized storage has inherent advantages over centralized cloud storage solutions, it has encountered technical difficulties in implementation. There is still a long way to go in the future though Stoj has released its products.

Storj Labs makes active explorations and has accumulated rich experience

Since its relase in 2014, the Storj White Paper is now in its third edition since its release in 2014. The first edition contains a total of 18 pages, and the third edition has 90 pages. By studying and comparing the three white papers, the TokenGazer research team finds that Storj Labs has accumulated a lot of experience with the study and implementation of decentralized storage.

Erasure coding redundancy scheme reduces cost but causes usability problems

At present, most decentralized storage platforms use replication to ensure data redundancy and an improved data durability. For example, Filecoin’s system is based on replication. Storj believes that replication is fundamentally flawed for distributed storage over wide-area networks. Therefore Storj uses erasure codes to improve data durability while reducing storage costs.

TokenGazer has conducted research on the erasure-resilient system. According to the University of California research team’s study[1] on quantitative comparison of systems based on replication and systems based on erasure codes, the mean time to failure (MTTF) of an erasure encoded system can be shown to be many orders of magnitude higher than that of a replicated system with the same storage overhead and repair period. A novel result of the research team shows that erasure encoded systems can use an order of magnitude less disk seeks than replicated systems to reduce costs. Likewise, MIT’s research on the usability of replication systems and erasure encoded systems shows that the redundancy savings from using coding instead of full replication come at a price. For one thing, the use of coding introduces complexity in the system. As a general principle, we believe that complexity in system design should be avoided unless proven strictly necessary. Another point against the use of erasure codes is the download latency in a environment like the Internet. When using replication, the data object can be downloaded from the replica that is closest to the client, whereas with coding the download latency is bounded by the distance.

TokenGazer believes that for the big picture of Filecoin, it is more appropriate to use the replication-based system in design; for Storj, the low cost of the erasure encoded system will help it compete with centralized products, though the defects in erasure code may become a constraint to Storj’s development.

Storj Labs is dedicated to making Storj more decentralized

In its early versions, Storj used a single bridge to take on the work of the satellites in present solution, and was therefore accused of centralization. In the third edition of the white paper, Storj will allow any user to run their own satellites, or create accounts and enjoy services through third-party satellites (such as Storj Labs’s satellites, formerly known as bridges). The promotion and implementation of the this solution deserves attention.

Unclear satellite management scheme may cause risks

According to the white paper, Storage node operators can elect to automatically trust a Storj Labs provided collection

of recommended Satellites (If a Satellite operator wants to be included in the “Tardigrade” approved list, the Satellite operator may be required to adhere to a set of operating, payment, and pricing parameters and to sign a business arrangement with Storj Labs), however, there are no clear and powerful management schemes. Storj regards satellites’ behaviors as good one by default, in which case satellites’ bad behaviors or accidents can cause losses to users and storage nodes.

Intermediate usable products are provided in technology development process

Storj Labs attaches great importance to user experience in its technology development, providing storage nodes and users with intermediate usable products, which makes Storj competitive enough to earn a place in the market before the popular Filecoin project is launched.

Storj’s share of the cloud storage market is constrained by it technology architecture

Due to its technical features, Storj’s market is limited to the private cloud storage market sector, which is narrower than that of Filecoin that will be launched in the future.

3 Market Analysis

3.1 Cloud Storage

The TokenGazer research team compars the price of Storj’s cloud storage to the price of other major cloud storage providers (decentralized & traditional). The results are shown below:

Prices of Major Cloud Storage Providers, according to publicly available information (TokenGazer assumed a monthly storage of 1TB, a data transfer of 100G, a PUT request of 400,000 times, and a GET request of 4 million times.)

It can be seen in the table that Storj is more competitive in pricing than traditional cloud storage providers. An advantage is that on the Storj platform, you only have to pay for the resources you use, while on traditional cloud storage platforms you have to pay for all the storage space you reserved.

SiaCoin has a significantly lower price than Storj, but TokenGazer finds that users of SiaCoin are much fewer than that of Storj. According to public data, in March 2018, the storage capacity of the Storj network was 101 PB; while Siacoin’s storage capacity is 2.9 PB at present.

TokenGazer reckons that the lower price of SiaCoin storage may be caused by users’ limited demand of it on the one hand and by SC token’s low price on the other hand as SiaCoin platform only uses the SC token for value transfer, and the current SC price is decreasing with the market trend. SiaCoin’s lower price may be attractive to users, but there will be insufficient incentives for nodes that provide storage and bandwidth services.

Storj implements a two-brand strategy for a better service: Storj will separate the supply side of its business from the demand side through two brands, Storj and Tardigrade. Tokengazer believes this is beneficial for the development of Storj’s decentralized cloud storage business.

3.2 Storj Token

The STORJ token is an integral part of the Storj network, providing an efficient and effective means to facilitate the transfer of value between those who contribute excess storage capacity and bandwidth to the network and those who utilize that excess capacity for the storage and retrieval of data. STORJ is an ERC20 token based on Ethereum, the information of which is available via the Ethereum Blockchain Explorer. Storj has started to publish the STORJ token balances and flows report since December, 2018 for a more public and transparent token management. TokenGazer analyzes STORJ’s market situation based on the latest STORJ token balances and flows report was published on Jan. 6th 2019.

Background

In 2014, the Storj Project created 500M SJCX tokens to start the Storj network. 50M SJCX were sold at $0.01/token, raising $500K to fund the first version of the project. A total of 51.2M SJCX were ever in circulation, and the remainder were never used or issued.

In May 2017, Storj Labs BVI (a wholly owned subsidiary of Storj Labs Inc.) conducted an exchange offering for a 1:1 conversion of the SJCX token with a new ERC-20 token called STORJ. Additionally, Storj Labs BVI conducted a follow-on offering of STORJ tokens at a price between $0.25-$0.50/token, depending on the size of allocation. In this token sale, 72.1 M STORJ tokens were sold, raising $30 M to fund operations. 500M STORJ tokens were generated and subsequently 75 M STORJ tokens were cryptographically burned, bringing the total amount of available STORJ tokens to 425 M.

Current Situation

Currently there are about 125M STORJ in circulation. Storj’s token sale puts 72M STORJ in circulation. 43.1 M have been used for conversion, and there are approximately 6.9 M still in reserve for conversion. In addition, approximately 6.4 M have been used for paying storage node operators and other third-party service providers.

Now Storj Labs is holding 48.4M STORJ in its operational reserves plus 245M STORJ in timelocked reserves. Part of the STORJ in timelocked reserves will be unlocked in December 2019, then Storj Labs will lock them again. Storj is working on a longer-term and more detailed lock-up scheme, which has not yet been published by is worthy of investors’ attention.

Analysis

STORJ Allocation and Addresses
STORJ Token Allocation, according to STORJ Token Balances and Flows Report: Jan. 16, 2019 — Storj Labs

Storj Labs currently operates the Storj project in a centralized way. In terms of technology, Storj will use a multi-satellite solution to make the project more decentralized, but TokenGazer believes that Storj is too centralized in terms of token allocation. The reasons are as follows:

Firstly, 48.4M STORJ in its operational reserves are actually unlocked, accounting for 38.7% of the STORJ’s circulating supply. Secondly, the 245 million STORJ in long-term reserve is held by Storj Labs. Thus, there are actually 300 million STORJ controlled by Storj Labs, accounting for 70.8% of the maximum supply, which is 2.43 times the current circulating amount.

TokenGazer understands the advantages of this operation model in business development, but will still remind investors that although the project team and investors have common interests in the long run, they may have conflicts under certain circumstances (for example, if the project encounters immensely difficult problems, the project team might cash out). Investors should be wary of centralization risks.

TokenGazer will keep an eye on Storj’s new token management schemes. TokenGazer will consider the subsequent token management scheme as bullish if there is an emphasis on decentralization.

4 Influence on Github

4.1 Development Community

The Influence of Storj and Similar Projects on Github, CRPs (Code Repository Points) is created by CryptoCompare. CRP=1*Star+2*Fork+3*Watch

4.2 Social Networking Sites

Data of Storj and Similar Projects on Social Networking Sites

4.3 Influence Analysis

While comparing Storj with similar projects, TokenGazer found that Storj’s influence is at a medium level, both in the development community and on social networking sites, which is lower than its competitor SiaCoin.

5 Valuation

5.1 Exchanges & Trading Pairs

STORJ Exchanges and Trading Pairs, according to CoinGeko

At present, STORJ has been listed on several exchanges, 15 of which are mainstream exchanges, indicating a high market recognition for it. At present, Binance, Upbit and Huobi Global boast the the largest trading volume of STORJ. Its 24h trading volume is about 5 million US dollars, which is at a high level among projects with similar market value. The major STORJ trading pairs include “STORJ/BTC” “STORJ/USDT” “STORJ/KRW” and “STORJ/ETH”, of which “STORJ/BTC” accounts for nearly 50% of the trading volume.

5.2 Correlation with BTC

TokenGazer has analyzed the price correlation between STORJ and BTC since the launch of STORJ. The correlation coefficient is 0.79, indicating a strong correlation between STORJ and BTC.

Currently in the cryptocurrency industry, the token price of mainstream projects is highly correlated with BTC price. A primary cause, according to TokenGazer, is that the cryptocurrency market is small and investors still lack deep understanding of the differences between projects. When the market becomes mature, the prices of tokens for different uses should have a low, even negative correlation.

STORJ-BTC 30-Day Moving Correlation

TokenGazer has analyzed the STORJ-BTC 30-day moving correlation and found that there is no regular changes in the correlation between STORJ price and BTC price, but the correlation degree has been declining in recent months. If this trend continues, it is likely that STORJ is gaining market recognition, deserving investors’ close attention.

5.3 Valuation

TokenGazer conservatively estimates that Storj’s market capitalization will grow at a lower rate than the overall cloud storage market and its growth rate will decrease in five years (perhaps due to increased adoption of competitive decentralized cloud storage projects such as Filecoin). And we conservatively estimate that the release rate of STORJ token will gradually increase with the development of the Storj platform until all of the tokens are released. We estimate that with the growth of the project, 15% of the platform’s capitalization will be rewarded to STORJ holders and investors.

According to TokenGazer’s risk estimates for the Storj project, we set the discount rate at 40% to prevent the risks. According to the PE ratio research of different industries by Aswath Damodaran, finance professor of New York University, Internet & software companies have an average PE ratio of 222. We use a more conservative PE ratio:

PE ration in bearish market: 10

Ordinary PE ratio: 25

PE ratio in bullish market: 100

Finally, TokenGazer’s valuation for STORJ based on DCF model is as follows:

STORJ Valuation based on DCF

The market is currently in a bearish period and the STORJ token price is approximately $0.2, which is below the estimate value of $0.96 provided by TokenGazer.

5.4 Quantitative Research

STORJ Estimate Value Range and Market Capitalization

According to TokenGazer’s quantitative research model, STORJ’s current estimate value range is 43.6–154M USD. STORJ’s current market value is below this range.

6 Conclusion

Based on trends and developments of the data storage market, cloud storage is promising in the future. Decentralized cloud storage has inherent advantages over centralized cloud storage. TokenGazer believes that these advantages will enable decentralized cloud storage to win a place in the storage market, but decentralized cloud storage is still faced with huge technical challenges.

After analyzing the Storj project, TokenGazer believes that its team has accumulated a lot of technical and market experience and is quite competitive. However, compared with similar projects, such as SiaCoin, its influence is still at a medium level. Meanwhile, it faces great great competition from FileCoin, which has not been launched yet.

Based on the quantitative and DCF valuation of STORJ, TokenGazer believes that STORJ is currently below the estimate value range. Storj Labs currently holds the majority of STORJ tokens, and investors need to be wary of counterparty risks.

--

--

TokenGazer

TokenGazer is a blockchain and crypto investment research organization. Visit us at: www.tokengazer.com