Decentralised retrievability is hard.
Decentralised retrievability is hard.
There are no easy solution to proving that data is served to clients.
To someone not familiar with this space this can seem like a strange claim because retrieving - or fetching - your data, your files, from where they are stored is such a well-understood action on the internet.
Every time you open a webpage, you a fetching hundreds of files from a provider. Image files, video files, javascript files, html files, CSS style files and more.
Every time you look at your cloud storage file system, for example Google Drive, you click on a file and you fetch it, you retrieve it, from where it is stored on the cloud.
How can it be so hard to prove that you (the client) has retrieved/fetched your file from the provider?
For the rest of this blog, I will refer to the fetcher/retriever as the client and the server as the provider.
The reason that decentralised retrievability is a hard problem to solve is because in order to guarantee that a provider has served a file to a client, you need to incentivise the provider to do so. Otherwise why would they bother. If a provider does not gain anything from serving data then it makes no sense to do so as running a server, renting bandwidth and renting egress are expensive.
An obvious solution to this incentive problem is to ask the client to pay the provider every time they retrieve a file. In this way, the provider can earn for every file they serve. There have been many attempts to build such a retrieval incentive on Filecoin and more broadly in Web3 but they all face the same problem. It is a non-starter from a UX perspective to ask people to pay per retrieval. That is just not how the internet works these days.
Pay as you go for retrievals would be such a burden on a client who simply wants to retrieve their data, not have to link up a wallet each time they do so.
The alternative is for the client to pay indirectly for the retrievability of their files. This is essentially what you get from say Google Drive. You pay a monthly subscription to use Drive and implicitly included in that subscription is the cost for retrieving your data. People seem much more comfortable with this business model of retrieval from a UX perspective.
But how does this model map to the Web3 world?
If you pay a