Read the Storj Whitepaper.
Storj (pronounced: storage) aims to become a cloud storage platform that can’t be censored or monitored, or have downtime. It is the first decentralized, end-to-end encrypted cloud storage that uses blockchain technology and cryptography to secure your files.
Storj is a platform, cryptocurrency, and suite of decentralized applications that allows you to store data in a secure and decentralized manner. Your files are encrypted, shredded into little pieces called 'shards', and stored in a decentralized network of computers around the globe. No one but you has a complete copy of your file, not even in an ecrypted form.
Because of this, Storj can be faster, cheaper, and more secure than traditional cloud storage platforms. Faster because multiple machines are serving you your file simultaneously, cheaper because you are renting people's spare hard-drive space instead of paying for a purpose-built data center, and more secure because your file is both encrypted and shredded. There is no need to trust a corporation, vulnerable servers, or employees with your files. Storj completely removes trust from the equation.
Storj uses blockchain features like a transaction ledger, public/private key encryption, and cryptographic hash functions for security.
Storj is working hard to solve data security issues with the help of its own web app, Storj, which lets you store your files, and client app, Storj Share, which lets you rent your hard-drive space for money.
To best protect your data, files are encrypted client-side on your computer before they are uploaded. Each file is split up into chunks which are first encrypted and then distributed for storage across the Storj network. The network is comprised of Storj Share nodes run by users around the world who rent out their unused hard drive space in return for Storjcoin X (SJCX).
The decentralized aspect of Storj means there are no central servers to be compromised, and with client-side encryption, your are in control of the keys to your files.
Storj is a cloud storage platform. The key word in that sentence is ‘platform’ because without it, Storj would just really be a decentralized cloud storage alternative. While a decentralized cloud storage alternative in itself would still be a great product, what we are creating goes beyond that.
Storj allows users to create decentralized applications. We have already begun to see basic demos using the Storj API and pulling content from the network, including an image viewer, a .txt and .pdf viewer, a music player, and even a video service. Some of these services have even been thrown into a Storj Media Center of sorts.
Our corporate entity Storj Labs aims to bring decentralized cloud storage to the average business and consumer. With constant data breaches and high costs, users are becoming more aware that the current model of cloud storage is broken. Storj Labs provides DaaS (Data-as-a-Service), as well as help building tools and APIs for customers to be able to interface with this new cloud storage model.
Storj Share is an open-source application that allows users to rent out their excess hard drive space in exchange for SJCX, a cryptocurrency similar to Bitcoin. Those running Storj Share will act as decentralized cloud storage nodes for the network.
Drive Farming is the term we use to describe the renting out extra hard drive space. This is comparable to traditional crypto-currency mining; in the same way you can use your computer's processor to mine Bitcoin, you can use the hard drive space to farm SJCX. Users allocate a portion of their available hard drive space and specify a folder on their drive to store network data.
This space stores small encrypted shards of Storj users’ files. This means that no farmer holds the entire file that a user uploaded, and because the file is encrypted, it's unlikely that the farmer could read it anyway.
If someone attempts to access and alter the files that they are storing, the shard will fail the next challenge issued by the owner of the data. This will result in the malicious node being dropped, and the network will select another location to store the shard. And of course, the network doesn’t pay cheating nodes.
The simple Storj Share GUI will allow you to specify how much storage space you want to share, add an SJCX address for payments, and specify a Storj node to use.
Then, when people upload files via Storj, if your node is online, you will start getting file chunks hosted on your drive and you will get a reward for them.
There are a few variables that could make the number of hosted chunks on your shared storage (and thus your expected rewards) higher or lower:
Size of shared storage
Upload and download bandwidth
Reliability and availability of your Storj Share node
Demand for storage
Since Storj is a decentralized network, farmers will compete to win the business of users, and users will only agree to prices they find competitive. Storj will make it a simple process for users to find farmers at competitive rates.
Your upload speed will severely limit the amount of data that can you can store and serve in a timely manner. The problem comes when you have contracts for stored data that expire, or when your storage system goes offline and you lose those contracts and the data is deleted. Your system then has to re-fill terabytes of data on a slow line. In addition, if your node can’t upload data in a timely manner on request, you may lose contracts or be dropped from the network.
Because Storj provides secure zero-knowledge encrypted storage, it's almost impossible to know what type of data is being stored. However third-party service providers, developers, and apps wishing to utilize the Storj network can restrict the types of files and uploads that maybe stored on the network through their front-end.
No. To protect against node failures and downtime the Storj network defaults to three redundant storage nodes. If you manually lowered the number of nodes storing their files to a single node, then your file would be inaccessible until it came back online.
Also, if your files are stored with multiple nodes and one goes offline, the Storj network will automatically find another node to take over the open contract so your files continue to be available.
Not at all. The Storj network breaks every file up into very small chunks that could be distributed to dozens of Storj nodes for hosting.
Just as with other peer-to-peer networks your computer only needs to retrieve that small chunk from each host which can be accomplished very quickly, no matter how low the bandwidth of an individual node.
The network will route around your node, and drop your contracts. Another node on the network would retrieve the data from the redundant nodes that the owner has contracted with, and you will lose the contract to store the affected data.
Ideally, this would require an upfront investment of a couple hundred dollars to purchase a dedicated network attached storage device such as the Synology DS213air or DS214se.
These can be plugged in and run 24/7 with up to 2x1TB - 6TB drives. Adding a small, inexpensive 400W+ Cyberpower or APC UPS Battery backup could also improve uptime during power outages.
This is a very simple and efficient setup for the average user, but please make sure to verify Storj Share compatibility with any NAS you wish to purchase on the Storj Slack.
Yes you can, any disk drive that your operating system (Windows, Mac OS, Linux) recognizes as an attached drive can be selected from within the Storj Share application.
SJCX is a token that allows you to purchase storage or earn money for renting your free Hard Drive space. SJCX is a Counterparty asset that uses the Bitcoin blockchain for its transactions.
We have a supply calculator here. This will show you exactly how many SJCX have been released at the moment you check. It is updated in real time.
There will ever only be 500 million SJCX; no more can be created. SJCX is a locked asset on the Counterparty protocol, more info can be found here.
Yes. You can read more about this here.
Many users coming from the Bitcoin space ask us why we created a new token named Storjcoin X (“SJCX”). There is a mix of technical and economic reasons why we felt a new token was needed. SJCX is built with Counterparty, which uses the Bitcoin blockchain. We have plans to implement Bitcoin in the future when Storj is more stable (ideally using sidechains).
Bitcoin is too Expensive - For standard storage providers 1 GB of storage goes $0.03 per month. So what if I want to store 1 MB and do payments every hour? Each payment would be $0.000000042. One satoshi, as of time of writing, is worth $0.0000037. This means Bitcoin would place some economic restrictions on the network.
Micropayment Lockup - We plan on using micropayment channels, which require locking up coins on the blockchain for the duration of the channel. We would much rather lock up lots of SJCX, than hundreds of thousands of dollars worth of Bitcoin while we’re still testing the protocol.
Economic Isolation - Bitcoin price fluctuates heavily for a wide variety of factors. Currency volatility can directly impact the profitability of nodes, and cause problems for the network. Having a separate token that is transacted widely within the network, but has little interaction outside the network, more directly ties currency price to network health.
We do not condone the use of illegal content on our platform, but the nature of the platform prevents us from having any control on what is stored or shared by users. We believe decentralized technologies will have a lasting, positive effect on society. However, such technologies can only flourish in the long-term if they work within and evolve with a society’s legal and ethical norms.
This can be made possible through shard graylisting. Anyone could make a graylist indicating the unique hash of a shard that is associated with certain decrypted content. Then, the farmer could decide to opt-in to such a graylist if they don't wish to be party to distribution of such content.
It's very hard to associate a shard with its decrypted content without the decryption key. Because the user is in control of the keys, content that is private will tend to stay private. When a user distributes the download information and the keys online they are giving up the privacy of their content by letting the public access it and decrypt it.
Calculating the hash of a file in no way lets you determine the content of the file. If a farmer only has a small chunk of an encrypted file, then even if he had the keys he would still need to know about and collect all the other chunks before being able to read the content of the file.
So users can store anything they want in private, and potentially distribute it to people they trust, but as soon as a shard's content is made public, it can be greylisted.
No, graylists will always be opt-in and users can choose which greylist the follow. Greylisting does not remove the file from the network. You can't greylist a file that you don't know the encryption key to.
No, graylists are an optional feature available to individual Storj Share operators to enable. Furthermore, graylists will be created by individual users, not a central body. All greylists must be public and open. If someone abuses a greylist, that list should be forked.
Some people may be wary of allowing obscene or violent content to be hosted or distributed through their nodes. Some people have to realize that there needs to be a shift in belief on all sides for us to make widespread use of decentralized tools a reality. There are institutions and organizations that have only ever known and felt comfortable with top-down, centralized methods of enforcement or management. What we're offering is a completely decentralized way for folks to be empowered and follow their own ethics and beliefs. If you disempower people entirely, they may become afraid and try to lash out with centralized hammers (e.g. outright bans, etc.).
We have to realize that not everyone in the public, etc. share our beliefs and you could imagine that the MSM could easily paint a picture that the network allows terrorist, CP people, etc. to share with impunity and ease. Those kinds of things are like a dare to regulators, and then basically you leave it to them to try and come up with ways to stop what they think is wrong. They usually don't care as much about decentralization, so their "solutions" are usually broad and heavy. It also creates an "us vs. them" mentality. By coming up with a decentralized solution that doesn't violate the values of the project, it helps people with different beliefs feel more comfortable
Because graylist subscriptions will be distributed and managed by peers, can change over time, and are only relevant when file shard contracts are declined, it is impossible to verify that a given node subscribes to any graylist. A node could hypothetically broadcast what graylists it subscribes to, but given the decentralized nature of the network, there's no guarantee that that information would be accurate.
There is no singular greylist. There will be many graylists with different content categories.
At the end of the day users will be providing a service, and they get to choose what service they provide. They could follow US law and collect their fees. But perhaps someone in a jurisdiction with more relaxed laws, such as Switzerland, will open up their gateway nodes to any content. Users will be able to control their nodes as they feel more comfortable with. If AirBNB for your hard drive is an apt analogy, someone may not want to accept a drunken junkie into their home. But they are more than welcome to. So why force them to do it?
If you think you have what it takes, you can submit your interest by filling out our form here. We are always looking for talented volunteers. We do check all submissions and will get in touch if we need your skills. The next team member could be you!
Our typical policy is that anyone who wants to freelance, or be part of the Storj dev team, must put in useful pull requests on our GitHub, before we consider working with them. There are plenty of repos and open issues to look at.
This is not a guarantee for employment, but we found that people who were excited about building the open-source tool-set perform exponentially better than the people we hired directly. If you have any questions on our repos or how things are built, we would be happy to invite you to our developer chat so you can ask the team directly.
For your code to be merged, you have to agree to our CLA
The Storj team is distributed around the world, we pride ourself for having staff from different cultural, social, and educational backgrounds with a shared passion for our goals. The tools we use to collaborate allow anyone in the world to contribute to the project.
Send us an email with your question.Get in touch