With out proper incentive users will have no reason to remove old useless data off the SAFE Network. This issue could be solved with recycling, similar to the recycling of raw materials user could be paid in Safecoin to remove unwanted data and free up resources for the SAFE Network. When a user puts x amount of data on the network, the network charges the user x Safecoins based on the network determined storage rate and when the user removes data off the network, the network rewards the user y Safecoins based on the network determined recycling rate.
Put x Data = 10 Safecoins
Rec x Data = 3 Safecoins
The problem is that chunks don’t have ownership. If you and me upload the same file, the chunks will be the same. It won’t be stored twice. So if you recycle your file and delete the chunks from the vaults I would lose my file too.
EDIT: That said I like the idea of being able to clean useless file. Maybe instead of adding ownership we could have a simple counter that increments every time somebody upload a chunk. Decrement it when you recycle it and remove it from the vaults when it reaches 0. A garbage collector basically.
That’s the idea behind incrementing a counter whenever a chunk is already uploaded and decrementing it whenever it gets recycled. I can’t say if it’s technically doable though.
There’s something weird about the feeling that once you upload a file on the network it stays there forever, it doesn’t make me feel in control. I like the recycling idea for that. From a farmer perspective too, I like that my vaults only contains file that people actually care for. I’m not sure what are the big cons of this and why it isn’t implemented this way already.
EDIT: I wonder what are the economic effect of this on a broad scale. Would it lower the income of farmer because now a part of the safecoins goes back into the hand of the user? But then users have more safecoins to spend on putting stuff… Maybe it’s good. I can’t tell.
Also, I’m not 100% sure but I think the user doesn’t pay for PUT if the file is already on the network, I don’t remember where I read that though. If that is correct people could farm safecoins by putting files that are already there and recycling them to get the reward.
No, because every chunk will have a network ID based on it’s contents. So when you try to PUT a chunk, the data managers with the addresses closest to the chunk’s ID will know that a chunk with that ID already exists and thus only increment the ownership counter, and won’t charge you for that chunk.
This is suspectible to attack. Someone could request a chunk decrement multiple times until it hits zero. You’d have to assign ownership of a chunk to key(s) to ensure the rightful person(s) were asking for removal. A delete key shouldn’t be used for any other purpose, and would still leak associations between chunks. David also talked about an XORing implementation, but that could also leak metadata if not careful.
An interesting idea that I also thought about this past weekend. It would be an interesting concept with de-duplicated chunks, because only a single person would need to pay to keep it active. Could be funny to watch people play “chicken” in this design.
What if the a vault was NOT downranked for removing a chunk that didn’t pay the network again, but was rewarded at a higher probability if it kept it anyway? Just throwing out ideas.
Rewarding good behaviour instead of punishing bad one. I like that. I wish we would have enough time to try out different scheme in testnet3 to figure out the best one. setup one scheme, let it run for a month, then try another one.
Because then we still would have to have ownership…
As it sits, the file exists only according to it’s hash, and there is no traceability. Once you have to pay subscriptions, it adds layers of traceability to the network. If you forget and your data is gone forever that is a pretty good reason to not use the system. If the system is smart enough to remind you it knows too much and is dangerous to privacy.
The market will be such that you pay a fair price for forever storage. Let it be what it will be.
I get it now.
On several occasions before I saw similar info but I don’t remember seeing the explanation.
Well, I don’t see a problem with the lifetime approach to pricing, except that the cost of rebuilding of AWOL replicas is paid by “the network”. It isn’t a problem per se, but to be effective, farmers have to stay online. Hopefully payouts and other things will be done in such a way to prevent too much replica loss.
Why would there need to be ownership? The DataManagers could track the last time a payment was received, and adjust. Anyone in the system could pay in fact. I don’t see how it would reveal more information than a GET or PUT. The difficulty is time in this system, theres isn’t such a concept. For example, Namecoin uses blocks as the source of time for aging out unused DNS entries.
I was under the impression that no data is permanently deleted from the network and that if you went to upload the same data after ‘deleting’ it…the actual upload would not occur, because the data is still there in the archived chunks.
So the proposal may be arguing against a fundamental tenant of the network…i.e there is no such thing as useless data, on the SAFE Network… the value of the data going forward is unknown…so we keep it all.
Having said that, I’m unsure how the value of data can be realized when the credentials to access it, have been lost or abandoned…unless were only considering public data.
I highlighted this issue in several threads on this forum:
a) ideally, all data should be paid for (e.g. on a yearly basis)
b) freeloaders’ Private data should be deleted (if it’s duplicate, then it wouldn’t be removed unless it’s the last copy).
Now, what about Public data, who’s freeloading there? The uploaders are.
If Public files aren’t paid for, they just as useless as Private files. I can post meaningless (or meaningful only to me) data. Why should farmers (or the network, since the cost would be transferred to users) pay for that?
Worse, if one encrypts Private data, then he can make it Public.
The simplest, fairest and most effective solution is to charge capacity rent. This fee could be small and it’s more needed to help the network identify useless data than to collect revenue, which is why this fee could be cheaper than PUT.
The burden of proof that data is useless should not be on users nor farmers, but creators/owners. That’s why I disagree with the rewards approach.
I can see why it may be important to retain all data, when considering the programmatic potential of the network with applications such as ‘smart contracts’ that would break if data was inadvertently or nefariously deleted.
Retaining all the data makes sense to me, in that it avoids a world of potential stuff ups triggered by humans.
The de-duplication mechanism saves us so much space that having a percentage of leechers shouldn’t be too burdensome to the whole.