With current versions of IPFS, files are (to my knowledge) persisted in two different states: Pinned and unpinned. Pinned files are permanently stored in your local IPFS cache, whereas unpinned files are only kept for a limited amount of time then deleted from your local IPFS cache. I would love to see this system expanded to offer more flexibility and customization, namely the ability to choose the pin period based on how much you frequent or enjoy a given site. Here’s how I imagine the system working:
When visiting IPFS websites in your browser, the interface (IPFS Companion, etc) gives you the possibility to rate the site on your local IPFS instance, by using new console commands that would be implemented for this purpose (eg: “ipfs rate”). It can be one value ranging between 0 and 1, where 0 means “no interest in storing” while 1 means “full interest in storing”. The option can be changed at any time, and for newly visited sites the value resorts to a sensible default (eg: 0.5). Here are some examples of customization:
- If the site is one you dislike or distrust but still choose to visit for any reason, you can rate it 0. In this case IPFS will never cache the files or seed them (known as leeching in torrent terms), they are deleted once the page has finished loading.
- If the site is one you aren’t particularly interested in, you can rate it 0.25. In this case, based on the duration settings, IPFS will only persist files from this site for a day.
- If the site is one you’re indifferent about, you can rate it 0.5. In this case, based on the duration settings, IPFS will only persist files from this site for a week.
- If the site is one you are particularly interested in, you can rate it 0.75. In this case, based on the duration settings, IPFS will only persist files from this site for a month.
- If the site is one you really enjoy and wish to support, you can rate it 1. In this case IPFS will permanently cache all files coming from this site and never delete them automatically.
What is your opinion of a preferential pinning system, in which the user can specify sites they favor or disfavor in order to pin them for longer or shorter periods of time? Is such a feature planned? Would you use it? Do you believe it would be useful for the IPFS ecosystem as a whole? Personally I think it would give users more control over their drive space and bandwidth, allowing everyone to allocate their computer’s resources to sites they wish to support the most.