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 Storj Token (STORJ).
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 STORJ, a cryptocurrency similar to Ethereum. 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 GPU to mine Ethereum, you can use the hard drive space to farm STORJ. 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 a STORJ 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 Community Chat.
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.
Storj Share payments are made once a month. So if you start farming right now, you will not receive a payment until early next month. We can't run the payment script until the month ends, then it needs to be reviewed by the community, and then rewards are finally paid out. We will make make this process faster and more transparent in the interface in the future.
In order to hold your STORJ, you need to store them in an ERC-20 compatible Ethereum wallet to which you hold the private key yourself. Several options are available:
BTC participation requirements:
ETH participation requirements:
Receiving and refund addresses cannot be exchange addresses, unless you own the private key.
Storj is a peer-to-peer network comprised of “farmers,” users who rent out their spare hard drive space and bandwidth, and "renters" who purchase space and bandwidth.
Storj is up to 10x faster and up to 50% less expensive than traditional datacenter-based cloud storage solutions. Storj is a platform, a token, and a suite of tools for developers looking to build better tools and applications.
STORJ allows you to purchase storage or earn money for renting your free Hard Drive space. STORJ uses the Ethereum blockchain for its transactions.
If you purchased STORJ tokens using BTC as your payment, you were asked to supply an Ethereum wallet address. This Ethereum wallet address is where the tokens will be delivered.
If you purchased STORJ tokens using ETH as your payment, then the tokens will be delivered to the same Ethereum wallet address that was used to make the purchase. In other words, your payment address is also your receiving address.
You will need to broadcast a transaction at the end of the time lock. That transaction will tell the time vault contract to send your tokens to your pre-registered address. We’ll send you an email with exact instructions when we get closer to the lock expiration.
We’ll post a link to Etherscan where you can view the details of the smart contract.
Unfortunately, the contracts have already been deployed, and we are unable to change the receiving address.
It can still be sent from address to address, but can’t be used to buy storage or bandwidth, and will no longer be supported by our products or services. Eventually, we hope, everyone will convert their remaining SJCX tokens to STORJ. If you have SJCX, please use the conversion application located at https://storj.io/conversion to convert your SJCX to STORJ as soon as possible.
The Storj conversion application is located at https://storj.io/conversion
We will ask for:
We will give you:
They’ll keep their SJCX, and still be able to send it from address to address. We can’t force people to convert. But it will no longer be supported by our software or network, and won’t provide all the features STORJ does.
We understand that converting could be difficult or inconvenient, so we’ll run the converter app for at least three (3) months. We’ll look at making a permanent solution after that. We can’t guarantee conversion with the permanent solution because of issues outside of our control (e.g. chain forks, maintenance, etc). Using the converter app within the timeline will always be the best option. If you have SJCX, please use the conversion application located at https://storj.io/conversion to convert your SJCX to STORJ as soon as possible.
SJCX was our first token allowing users to purchase storage or earn money for renting free Hard Drive space. SJCX is a Counterparty asset that used the Bitcoin blockchain for its transactions.
As of June 2017, we have converted to Storj Token (STORJ), which uses the Ethereum blockchain for its transactions. SJCX is a legacy asset that is no longer in use by Storj. You can read more about moving from SJCX to STORJ on our blog. If you have SJCX, please use the conversion application located at https://storj.io/conversion to convert your SJCX to STORJ as soon as possible.
There is a mix of technical and economic reasons why we decided to create SJCX. For similar reasons, we made the decision to deprecate SJCX and migrate to using a new token, STORJ, on the Ethereum blockchain. You can read more about moving from SJCX to STORJ on our blog. If you have SJCX, please use the conversion application located at https://storj.io/conversion to convert your SJCX to STORJ as soon as possible.
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