Safecoin resource (consumption) model


My first priority would always be in favor of a solid functioning Network. So the less than 4 copy redundancy is probably a bad idea.

That is a great compromise! I do like the free public usage and 4X for private. Farmers do bear the cost of servicing public usage but at the same time, they are indirectly helping the global community.


I’ve wondered about this division since I first heard you suggest it. Can you elaborate your thinking @dirvine. I’m not sure why “public” is chosen to have a free ride, other than it is an easy to distinguish.

I question it because it seems that a lot of public data will be public in order to create profit, and its a shame not to charge for commercial use. Tax the b*****s, is I think a very important principle when we’re talking about money making robots, er corporations, compared to an individual storing their family photos in a private location, for example. I realise this is probably infeasible from a technical point of view, but I would like to understand your rationale.

1 Like

I feel its instantly useful to us all, or should be anyway. It will archive if not. I see your point about rubbish being there, but popular data should be what we reward somehow (thinking).

1 Like

Good point @happybeing.

Public data can be monetized commercially. I’ll brainstorm it and see if I can come up with some scenarios and possible solutions.

Profit through APP Usage
A social APP interfaces public data. The owner of the APP earns Safecoin from user activity while the farmers are burdened with public GET requests. Good for the APP owner, bad for the farmers.

If we remove the APP usage reward, the incentive no longer applies. This also removes monetary incentive from the APP builders. If our community is moving toward free open source, then perhaps builders will make an APP because they want to use it. I think donation/crowd funding should replace APP usage. @frabrunelle has some good ideas on this subject. They also have the option to charge users directly.

So now we are left with the farmer burden. This part is difficult. If farmers do not earn enough Safecoin to cover their resource costs, they will abandon their vault. My initial plan was to charge per GET, regardless of public/private. Maybe the Network can charge x1 for public and x4 for private. In this way, farmers still get compensated for resources provided.

Profit though ADS
I expect public video/audio sites to be on the Network. They normally use Ads to gain revenue to help cover costs and make a profit. If other sites provide the same service without Ads, wouldn’t users leave them?

Public sites may not need Ad revenue if they operate their server as a vault. Hopefully, the Safecoin revenue will cover their resource costs and make them profitable.

Profit through Public Data Collection
This one is difficult because public data will be collected. The very first examples may be web spiders crawling public sites and blogs to index data. If they have to pay x1 for each public GET request, then farmers would still be compensated. Maybe this would be our way of taxing these data collectors.

Some may disagree, but I’m not entirely against companies trying to learn about peoples demands. I appreciate when a store provides a product I am trying to find. I would prefer they just ask me instead of doing it covertly, tracking my spending habits.

So coins paid for PUT’s are recycled (given to farmers and eventually circulated back to the network) but disk space is not (files that have been posted are never automatically deleted). Okay, got it.
I think they should be (storage should be paid per period of time and prorated, “orphaned” files which can’t find a sponsor should be auto-deleted).
This auto-deletion would work well for “public” files (if the Project insists that there should be such a category - I’m against it - see below) and that could be easily arranged. Interested parties could datamine/AI-check such files and where interested pay for them to claim ownership. If such public files are garbage (useless to anyone in the world), then they’d be left to expire.

Sorry for constantly repeating myself, but IMHO it’d be good to minimize anything that changes how the system works (EDIT: I mean how a free market would have it work).
Any individual’s ingenuity (in general) can rarely match the power of the free market. Only through free action of all participants can optimal approaches be discovered. I mentioned before that I believe even small inaccuracies will be exploited because it pays very well over EB’s of data.

Related to this particular matter:
a) Should I pay 1X for my PGP-encrypted file that is “public”? Probably not.
b) I would argue that instead of creating “push” for beneficial uses and then policing that those aren’t abused, it is more efficient to create a level playing field and make it easy to create positive feedback loops. So for example I’d rather see that everyone pays the full price and then create a tips API or bounty that makes it easy to “Adopt a copy of this file for X months for only Y Safecoins”.
c) Consider potential for abuse over a large data set. Think about getting for free 1% of 2 PB, then think about getting 25% (in this case that may be the manipulator’s “cut” of the difference between 1X and 4X). I could Zip my huge private adult video collection, chunk it into 100 MB chunks and use a small army or “Amazon Mechanical Turk” uploaders to upload it as “public data”. And if the first 100 MB or so is free, I could probably pay just few bucks a year to have my data backed up to cloud. Sadly we can’t even begin to imagine the types of scams people will come up to freeload.

Considering how (relatively) little universally useful public data there is, it should be really useful to have that paid for in full using a fundraising drive by Maidsafe foundation or users. What those guys from are doing - books, paintings, etc. - 50 TB could be enough for all pre-internet stuff that’s been digitalized so far.

And last but not least, by giving space away or at an artificially suppressed price you indirectly penalize farmers who have no say in it. Why should some freeloader from the EU (no disrespect, it’s just an example) get a discount for storing “his public data” (a contradiction in itself) on a disk drive that belongs to a farmer from Burundi (even though the cost of sponsoring that may be spread over the entire community, the guy from Burundi will still have to pay)? If the guy from the EU has some valuable data that the public can benefit from, why can’t he find someone to pay for it? Can’t there be “The EU Citizens’ Foundation for Public Data Access” or something like that where he can go to obtain funding for his data?

I could go on, but I hope this is already enough. (If you want another interesting angle on this, here it is: IMO nothing can be “public data” (assuming it’s not encrypted which is what freeloadoers will do) unless it’s in Public Domain / BSD type of license. How do you ensure that? Who will do that job when he paid not more, but less than the normal MaidSafe price? How can falsely labeled Public Domain data be deleted? And it would be very disturbing to be forced to host someone’s “public” data which isn’t licensed under BSD or BSD-like license so that people who use it must append various licenses based on restrictions in “public” data (and who could even tell if those licenses are correct - maybe a ton of them would just be fake attribution licenses for works of others meant to generate clicks and (attribution) links to various crappy sites).

@dyamanaka: check this out as ideas and inspiration:
The CLOUDS Lab: Flagship Projects - Gridbus and Cloudbus (and this blog post for a disk-specific example)
GitHub - uwol/computational-economy: An agent-based computational economy with macroeconomic equilibria from microeconomic behaviors

This reply will probably go Off-topic. Again, this is just brainstorming.

Freemium Storage Model
When a user wants to increase their NSL (Network Storage Limit) they pay Safecoin to the Network, where it is recycled. Let’s say, you create an account with NSL 100Gb (free) by default. If you want to store 150Gb of data, you will need to pay Safecoin to increase your NSL to 150Gb. Now you can PUT 150Gb of data onto the Network. Hopefully, this explains why someone would pay for premium storage.

Some people will make multiple accounts to take advantage of the free storage. We had big discussions on this here Network Storage Limit VS Network Reserve and here Proof of unique human.

Consumption Model
This alternative model does not charge for PUT. Instead, the NSL is determined by (available_space + free amount). If you want to increase your NSL, you’ll have to dedicate more hard drive space. Technically, it’s an unenforceable limit, if data is not deleted. This might be the reason why we opted to use Safecoin payment for PUT instead.

My goal is to deter users from storing more data than they are supporting. If we consider the loss of Safecoin earning potential, and de-duplication… a DOS attack (over capacity) becomes less likely. It is not a perfect solution though. We talk about it here DOS Attack caused by Data Overload.

I am interested to hear your ideas on a consumption model.

1 Like

I briefly glanced over the 2nd link which mentioned “voice recognition”. IMHO that’s not going to work because “freehoaders” (freeloaders + hoarders) can easily create sites where users do this type of microtask and get paid few thousand Satoshis per account. Similar task-farming is done today with ad clicking and would be done within few weeks a new exploitable resource appears on the Web.
If this is meant to be used every single time (when the account is accessed), it would be very annoying, but also create privacy risks for those who don’t want to let the system be able to ID them by their voice (and record it).

I agree people would want to pay for free storage but I wouldn’t give them discounts for “public” data for reasons explained above.

I like when a payment is done as soon as the service has been delivered, so right after PUT has been successfully executed.
Otherwise (with this second approach, for example), if there’s no way to delete data and we don’t charge for PUT, how do we deal with a guy who uploads a crapload of stuff and disconnects right away? He’d have to pay or escrow tokens or the network would have to be able to delete data.

In the Fremium model maybe GET’s should be rewarded as well (so that Les Miserables who get chunks of popular files get rewarded for their disproportionately large contribution to the network and caching nodes could get some Safecoins as well).
I remember in System Docs it is said that the system will prevent abuse by bots that issue GET’s, so if that’s going to work as expected I’d like to see GET’s count as one’s contribution to the network (it can start as a very small value).

For some of these ideas and values (e.g. to pay caching nodes for network throughput) could be gradually introduced (e.g. in Q2/15 start paying a little for bandwidth, in Q3/15 a bit more). As metrics will be taken it will be possible to analyze that data to see how well the network performs with different values and rewards.

In the future I would prefer a model (I’m not sure how I’d call it) where we could measure useful resources and float them on a market, and then correct prices, ratios and service models would emerge on their own. Of course that’s not an easy thing to do, but I’d like to see it come true within 2 years from now. That kind of system would be self-regulating by the virtue of human or AI decisions to buy scarce and sell plentiful system resources.

1 Like

A lot of public data will/should be linked data.

Here is the link to the Hans Rosling talk that Tim references.

@happybeing, all public (government-produced) data was already paid for (largely from corporate tax and income tax from greedy people who work at those corporations).
As GET’s are paid for, how is that still not enough? No one seems to ask whether it’s right that some Farmer Fred profits from GET’s for public data, but it’s a problem that for-profit users pay for the same GET’'s.
I don’t see why would for-profit corporations have to be singled out. The more they use the network the better because they will pay the bulk of the cost.

Did anyone look at licensing and redistribution rules for “public” (I consider that to be “government produced public domain”) data?

@janitor Your response makes no sense to me.

How are for profit companies being charged for storing public data, if it is free to store public data?

EDIT: I’m also unclear if we understand the same thing by “public data”. What I understand is: public data is data that is publicly accessible, private data is not publicly accessible. Is that what you understand, or are you talking about something else?

Thanks @chadrick well worth watching. That’s a whole ‘nother can o’ worms man. Not sure how it works with our privacy aims! He ends by suggesting the breaking down of “walls” between social networks. I see that in theory that could be something that empowers us to direct - e.g. to say send this photo from flickr to friends on fb or something (within the flickr “app”), but it seems like a new order of privacy issues too. I get putting public service data, science research results etc out in an accessible form (when I was working in software XML was going to do this but the standards weren’t adopted outside a few APIs). I know he’s active on surveillance and privacy etc, but I didn’t get the whole picture here. I felt physically uncomforable! Like - don’t trust this asshole - which I know he isn’t :-). Glad to have watched it though.

Yes, data would have to be deleted for this model to work. DELETE is possible but I think we are leaning away from it because it’s a headache for the Network. @dirvine often talks about ignoring the delete function. If you think of it as a one way road, the Network functions pretty fast as long as we don’t back track. Deleting data would require the Maid Managers to trace back where data was PUT and have it removed. If the vault went offline, then what? Headache…

Cases for deletion

  1. If a user uploads public data up and decides they made a mistake. Shouldn’t they be able to delete it?
  2. Eventually users will die or abandon their account. Data that is no longer accessed is considered trash, which the Network will archive overtime.
  3. What if a user wants to clean out their storage space to make room for something else? They should be able to delete their old data.

Hopefully, in v2.0 deletion will not be a headache. At that point, my model would become viable. We are making compromises in favor of a better user experience (faster Network), that’s the trade off.

Charging for PUT vs GET

IMO, charging for GET more accurately equates resources consumed by the user to resources produced by the farmer. Right now the Network subsidizes the farmer so it is not an issue. But it may become an issue as we approach cap.

The theory is people will always need more storage, and will buy more storage with Safecoin. Since that safecoin is being recycled, we should not reach cap or it should take a really long time. Eventually the free amount we started with will be too little to be of any worth. But this is just a theory.

GET are rewarded in the Freemium model. Maybe we got lines crossed somewhere.

Freemium Model This is the model we have planned.
PUT = Safecoin charged by the Network from the User
GET = Safecoin paid by the Network to the Farmer.

Consumption Model This is the model we are brainstorming.
GET request = Safecoin charged by the Network from the User
GET reply = Safecoin paid by the Network to the Farmer.

Does that clear it up more?

Well, I defined what I meant by public data.
Now I see you meant “publicly accessible MaidSafe files/objects”.
So it’s a case of misunderstanding, but I stated my case clearly to make sure we’re on the same page so that we can avoid it :smile:

About publicly accessible data on MaidSafe, you’re right, if it’s possible to store some (up to certain limit) for free, then no one will pay. (That’s why I argued against it above). However GET’s would still cost.
Again, read my explanation why I’m against freeloaders and on top of already mentioned or, if you don’t want to read that, I can make you another quick example why: a filthy capitalist will pay an Amazon Mechanic Turk to post data for them. So even if there was a limit, corporate users can easily pre-chunk “their” public data to these Mechanical Turks to PUT them on the network for free and then corporations can have them re-assembled after GET in format that’s usable to corporations. They wouldn’t even need to encrypt that data to freeload on that goodness.

But once again, if non-obfuscated or non-encrypted publicly available data was posted, if the Project wanted, it’d have to be licensed liberally (I said Public Domain and BSD license make sense to me).
And don’t forget that somebody would have to be owner of that data.
a) If greedy corporations take public (government-produced, free for all) data and post it online in non-obfuscated form, how is that bad? You can use it and you didn’t have to spend a second of your time, effort and bandwidth to put it on the network!
b) If greedy corporations take their own data and share it with the public under a license that’s not restrictive, what’s wrong with that?

You seem to confuse capitalism with the current system, but I won’t go there because I said I’m done with political topics. I’m just saying that I would prefer to charge everyone (which solves the greedy corporation problem and greedy individual problem in one go) and I’m asking you to show how paying corporations do not contribute to the network.

@janitor say you don’t want politics or philosophy but go into exactly those issues. You argue against free riders and then put forward a justification for people to profit from free storage. I questioned the reasons for that. I often get confused reading your posts, perhaps because you are using different understandings of things like “public data”. I think @fergish’ glossary will help - please add. :slight_smile: May I suggest:

public data - data stored on SAFE in a public share, that is accessible by anyone
private data - data stored on SAFE and accessible to the owner and specific nominated individuals or groups

Thanks @dyamanaka :-). Now, something I’m headscratching. Your comment about delete leads me to think I’ve misunderstood something rather important. If we’re not going to have delete, is the PUT charge based on uploads, including re-saving rather than just the amount the user wants stored.

For example, I save a 10MB spreadsheet. As a SAFE user (or a Dropbox user) I’m charged for 10MB.

I edit the spreadsheet and re-save it ten times during a session. On Dropbox I’ve not been charged any more. What happens on SAFE? Am I going to be charged for 10MB or 100MB + (for ten additional saves of 10MB)?

Or maybe the file is cached locally and only saved at the end of the session, in which case maybe the alternative is being charged for 20MB? But if that’s true, and my machine crashes during the session, have I lost my changes?

1 Like

I repeatedly argued that everyone pays the same price and I only considered those option in order to give feedback to those who wanted to discuss them. But okay, let’s leave it at that until we have some solid proof from real life. I’ve no doubts most of my assumptions will be proven on testnet3 or during beta testing. :slight_smile:

If I understand your question correctly (I will start my sentences using this template :-)) I opened that topic here, not many takers so far:

At first glance, it appears that way. The Network does not “discount the user” if the PUT chunk has already been PUT, if you get my meaning.

I raise this issue when asking about users being charged for a blockchain file that has been de-duplicated. The answer was yes, they still have to pay.

This means every PUT is charged, regardless if the file already exists. If exceptions were made, I am not aware of them. Maybe I am wrong and there is an exception for the data owner.

I think this the case. Any edits to a file from your local machine should not take effect until it is PUT on the Network. If your computer crashes before you hit “update/upload” you will have lost your changes. I don’t see how you can edit file chunks while they exists on another persons computer on the Network. Dropbox is different because you are given edit rights on their server to directly modify your files.

Basically, we’re doing a new upload every time and pay the full price for that file even if we previously uploaded it.

If the owner can delete their data, the NSL balance would be credited.

  1. If you have NSL 100Gb and uploaded 100Gb worth of data.
  2. Your NSL balance is now 100/100
  3. Any PUT above 100Gb would incur a charge.
  4. Delete 10Gb of data and your NSL balance is now 90/100.
  5. Now you’re free to upload 10Gb of data at no cost.

This only works if data can be deleted by the owner.

1 Like

Ugh, this is an awful mess and not communicated well. I wonder how many people here realise this - I’ve been involved since January and didn’t get this until now. It now makes sense that data is never deleted and all versions of a file are preserved!

This is the first thing I learned where instead of wow, that’s amazing, my feeling is what, that’s crap! :slight_smile:

We have to be careful how this is communicated because there are significant consequences, as well as big scope for misunderstanding which never goes down well.

Unless PUTS are really really cheap, normal office usage is going to have to be done on local machines and synched to the network periodically, so neat in-app solutions and a local file synch app are going to be sought after early wins. This kindof changes SAFE from being a super-computer in your pocket to a massive cheap backup system. Ugh! This is horrible.

1 Like

Yes like free :smiley:

1 Like