[EN] Use of an intermediate hub in the Voice protocol
Experience in modern networks points to one of the disadvantages of the decentralised approach, namely duplication of information.
It is economically advantageous to keep two or three copies of the data. One copy for immediate use, the other a backup in case the first copy is lost or damaged. A backup is stored in another data centre, paranoid people store another copy in an additional data centre.
Historically and practically, user data is not protected in any way. One incident or the other. Providers have only shrugged their shoulders and created a press release apologising to affected users. It happens all kinds of things. Considering that quite big companies lose data, the assumption is that there was no backup at all.
What about the blockchain? Each witness keeps a copy of all the blocks in the chain. All the data that has been written there, both critical to the state of the system and optional. Assuming the idea of creating a protocol for a decentralised social network, a reasonable question arises - what to do with the data? Look at the data from Facebook, it has petabytes of data, more than ten data centres around the world. Even if we consider in theory a tiny fraction of the popularity of a decentralized social network, for example, with data that will occupy one datacenter - what should witnesses do?
Build a data centre for each witness? This is trivially inefficient and loses out in economic viability to private solutions.
There is an answer.
You don't need to store data in blocks. You can store a link to the file, a hash of the data for validation and content addressing. And what kind of decentralisation can we talk about if we expect someone to store data for us?
Social networks store user data and use it for their own benefit. The only way to change this is taking responsibility. Users themselves should take part in storing the data. Either raise a server that serves the user's interests or use a service that provides such a service.
It may be the same, using a server for yourself and renting the remaining space to someone else. Let us call this server-sharing :)
Let's call this initiative VIZ Hub. A place where a user can provide or purchase a service to store, process, and transfer data, whether it be a body of actions in the Voice protocol, or a dozen pictures from a friendly get-together. This data could be compatible with the Voice protocol, or it could be the equivalent of IPFS (for thumbnails, a hash from the concatenation of a file hash with a particular suffix could be used).
This also, in theory, solves the problem of GDPR, network scaling and support for this amount of data in the blockchain itself. The user in the control panel will be able to delete the data, restrict access to it, download it as a separate archive or move to another provider in case of expanding needs. How do I specify in the blockchain that the user has entrusted the processing of their data to a particular hub? You can simply write the address of the hub in the account metadata.
Such an extended representation of the social network would go beyond the centralisation of data, storage of data, form a market for providers and allow blockchain to be integrated as an element of user interaction.
The services will be able to provide demo access for new accounts and offer to extend the capacity of stored data with multiple levels of paid subscriptions. The VIZ blockchain in this case could represent an account namespace, be a provider of user metadata and a point of authorisation verification via cryptography. The bundle of social capital tokenisation and paid subscriptions is ideal for such a network.
So, will we see if such dreams ever become a reality?