Bitcoin didn’t invent the idea of decentralization. It probably appeared with peer to peer file sharing applications.

Information had always been valuable through history and could usually be converted to money in some way or another.

However there was still a transition that must be done to convert information into money. Bitcoin bridged that gap for the 1st time creating an environment in which information is money. The knowledge of a specific string of text represents actual value that can be exchanged immediately.

In order to achieve that you need what I will call an absolute consensus.

This means that since the information unlike a physical good like gold or diamonds can be duplicated you must be sure that when the value/information is transferred there is going to be only a single owner (so no double spend). So in order to do that you need an absolute consensus across all the network so that everyone knows what the value of that information is exactly (valuable before its transferred, worthless after its transfer)

Maintaining this full state across all nodes is very expensive and significantly limits the applications of block chain technology. How can we then achieve full decentralization in the sense that we can decentralize everything, not just information that has value like in bitcoin but information that doesn’t have value (or at least doesn’t have fungible value, like maybe the photos of your dog). 1st of all that information is not directly money but also it takes much more space. A single video will take the equivalent space of potentially millions of transactions.

For this information you probably do not need an absolute consensus but you might be fine with what I will call a local consensus. You don’t need every single node to have the photo of your dog, you need at least one. This distinction is crucial. In some case you need the full network to be aware of a certain bit of information in other cases you just need at least one node.

The information is lost only when the last copy is deleted. As long as you have a copy the information still exist. It’s a little bit like what seeds banks do, they store different seeds so in case of some disasters there still are some original seeds that can be planted and create more seeds. You lose the plant when you have lost the last seed.

This kind of information doesn’t need to be decentralized, it just needs to be distributed. The difference is that with distribution you need at least one node to have it, of course it’s better if you have a few more but you don’t need everyone to have the information. This means that there is no need to store that information on the block chain. The information could be stored on normal centralized hosting servers. So what’s the difference with the way things are today?

1st of all let’s establish the idea that in decentralized applications ownership is basically the knowledge of the private key. You may store encrypted information in a distributed environment and that information belongs to you because you control the private key. According to the importance of the information you will need to decide how many copies you want. Of course the more copies the more the cost. You will need the block chain to store certain information like for example the payments you are going to make to store that information but also to know where the information is.

The current paradigm is that actions are initiated by users. You sign up to some cloud storage server and you upload your files. This however could be turned around. I have a file I want to store on some server. I don’t want to bother with signing up, paying, etc. I can post a message on the block chain which includes a signed message with what I want (store a specific file). At this point a large amount of cloud providers could read that message and reply to me in an automated way that they are willing store the file for a specific payment. I can make the payment on the block chain and then give specific orders about what should be done with that file by signing private messages. I also have the private key to read that file (most likely a different key than the keys that are used to sign the message and pay). So now I can basically control who can see the file (by sharing the private key of the file) and if the file exists or not by signing messages.

The idea is that block chain doesn’t need to be seen in a maximalist way. For some layers which include for example the settlement of payments and some core level communication you need a specific consensus across all the network. However for other layers like data storage you can use the existing framework of centralized storage but with a few tweaks, no need to create accounts, fill forms, pay by credit card, etc. you simply make a request on the block chain that you want to store certain data and let those distributed providers initiate the operation and later on get paid directly on the block chain. The data remains encrypted at all times and can be controlled across the block chain with the keys.

At this point you can argue that you truly own your data, not because it’s on your computer but because it’s distributed on at least one node and only you can control what will happen with this data since you are the only one to have the key.