In a modern application the concept of storage on a physical hard disk is technologically outdated, as a consequence of many considerations related to price, reliability, setup easiness, security.
Using a cloud based solution we can save money, time, avoid a great amount of problems and have a storage able to adapt itself to what we need, still keeping the control on the security.
In this article we want to show the different philosofies, features, ideas behind 3 different cloud based storage technologies. The point of this article is not to tell which one is better than the others, but just to give an overview about the different problems they are trying to solve and the different solution used.
The considered technologies are:
Amazon S3, that is the most used example of flexible, cheap, reliable, easy to use cloud storage.
Pinata, an interesting file storage and sharing solution based on IPFS.
Arweave, a really innovative (despite maybe yet not mature) technology to implement the “permanent web”.
Let’s analyse each one of them:
S3 it the most famous cloud based storage solution right now. The basic idea is that instead of saving files on a private physical hard disk you save them on some Amazon’s ones. This means that AWS takes care of deploying the server, maintaining them, share them between all the customers, guaranteeing the redundancy, fail safeness, security. All this activities at a very cheap price, because of massive economies of scale.
You don’t even have to know anything about all this things, you just use them, making the developer’s life a lot easier.
In this solution you are only a customer who gets a finished and very abstract product: “some space in the cloud to save things”, Amazon takes care of everything.
In the most diffused use cases this solution is almost perfect.
Pinata is also, in some measure, a storage service, but more precisely a pinning service in the context of IPFS.
To understand Pinata let’s first describe IPFS, on which Pinata is based: it is a node based protocol, more or less like torrent. Each user of the community using IPFS is a node linked to the others, so, when you upload the file it is splitted in chunks, each one given a unique id, and your node shares them. Whenever another node gets the file it keeps also a cache copy of it, helping sharing it. Each node is keeping caches of file just for some time, not forever, but you can use a pinning service, that is a group of nodes that you can pay to keep your files in cache forever. Note that is you modify the file, it is saved again in the same way with a different id, but cannot replace the existing one. So old versions of the file are going to exist and be accessible until thery are present in at least one node. Also in IPFS everything is public. So you cannot easily delete or change a file (you can change it, but the old version is still public and accessible).
Pinata is basically a reliable Pinnig service, but it also allows you to keep your files private. It is ideal if you want to store an NFT.
The focus of pinata is more on sharing than on storing, so is in some way complementary to S3.
Also Arweave is a file storage service, a very innovative one. It works like Uber, but with hard disks instead of cars. If you have some space on hard disk and you don’t use it you can share it, and in the same way if you need space you can use other people one.
The basic idea is that the ones who share the disk are paid by the ones who need it using a cryptocurrency named AR. The expectation is that if the value of AR rises more and more people are going to share their disks, and the community can in this way grow, making the value of AR grow even more and so on, in a virtuous circle.
An interesting feature of Arweave is that you pay just once, and you can keep your files forever. This means that is not very convenient in the short term, but could be in a 10 years timespan. The ultimate goal of Arweave is in fact the “permanent web”, so a place where you put things intended to stay there for decades or centuries. Arweave is not based on a BlockChain, but on a BlockGraph, so is node is linked to 2 other nodes, making it in theory really hard to corrupt.
This solution is very distributed and futuristic, but still very immature.
Also is not clear what could happens if the AR value shrinks, there is a tangible risk of this small community to collapse.
What is the best solution now?
Obviously it depends on what you actually need. For most use cases it is a fact that most applications use S3, because it is very general purpose and meet almost all the requirements. Pinata is a very interesting technology, recently on the rise because applies perfectly to the needs of the NFT’s world, despite it is in general more expensive than S3. Arweave is at the moment innovative but immature, the community is still not big enough to have significant economies of scale.
What is going to be the best solution in like 5 years?
I think that S3 is currently a consolidated technology, probably is going to offer more or less the same features in the future.
Pinata has good opportunities to grow, because it is still on the rise, and probably is going to improve in features like authentications rules of files (last evolutions, like submarine, are pointing in this direction). Also, if Pinata will became more mainstream is going to be cheaper.
Arweave is a bet. It is the only technology aiming to create some kind of “permanent web”. Now the community is to small to be a real alternative for practical problems, but is probably going to grow in the next years.
All these solution are very reliable under different points of view.
S3 can guarantee that the data are almost always accessible, stored in redoundand places, with a very advanced security and privacy level. This means that you and only you will be able to access your data even in case of disaster, until Amazon as a company exists. There are only 2 kind of threats for your files: amazone who fails and you who delete things for error.
Pinata offer a differenc kind of reliability: it is probably less safe than S3 (just because is a smaller company), and the access control for the files is less fine graned, but in IPFS the availability of the files is more decentralized. Even if Pinata fails your files are going to stay reachable untill at least one node keeps them. Consider also that if you change the file the old versions are still available, so is a lot more difficult to corrupt the files, even voluntarily. It is ideal to save you from yourself or from censorship.
Arweave offer still another different product: it aims to keep your data incorrupted forever. Realistically your data are going to stay here uncorrupted until the Arweave community is still alive, because you actully need people who shares their HD for this system to work.