I’m building a simple application, where users of my app will have to run IPFS (probably using Docker) to provide IPFS storage in exchange for the services provided by the app.
I’m trying to figure out how I can limit them from unpinning files (mainly added by others) or at least knowing if they do so. The goal is to have a “tamperproof” system where everyone must be contributing. Because otherwise some might abuse the system to temporarily pin/host files, get a job done, then unpin to save storage.
Ideally I’ll be using the Python client, but if this can be forced in any way, I’m willing to go there.
Of course it would make sense that the above is enforced from specific recipients who are also part of the network, rather than everyone in the IPFS network.
Please excuse any “stupid” ideas/questions as I’m fairly new here.
that unpossible, people can always fork your code and remove thoses checks, or burn the machine down, or unplug the harddrives and format them.
That is much more realistic, something you could do is require people to stake some tokens, then make them publish daily ZKProofs that they still hold the data, the reason to use ZKProofs is that they can be much smaller than the actual data and fit on a blockchain for example. And if someone fail to do so you fine them.
I’m just describing filecoin, what you are asking for is a really hard problem, and I think, unless you are fine working on that for years, you should just use filecoin or change your incentive model.
To use filecoin if you want to add your own incentive layer, you can either code a centralised thing that reads Filecoin’s ZKProofs from the chain,
or idealy, create an FVM smart contract that reward people hosting your files. (we have a program for early FVM builders if you are interrested)
There is no stupid question .
Thanks a lot for the info! Much appreciated.
I might do something similar to how Filecoin works at the end of the day. I’ll finish some other tasks around the project then explore deeper how Filecoin works, and how I can possibly implement something similar.
See you in >2025 then.
I’m not saying don’t try it, but just, FYI, it’s REALLY hard and takes a while.