RFC 57: Safecoin Revised

Imo you have hit upon another great idea here. A ‘pay on PUT’ farming reward combined with the previously described ‘pay on GET’ reward is genius. In the first case you reward nodes for showing up and always being ready to accept new data. In the second you reward nodes for maintaining old data. The two schemes complement each other perfectly. I suspect the reward rates should be different, with the pay on GET scheme offering more for data that has been maintained longer.



But if we think about the value of safecoin, in terms of fiat redemption… safecoin has multiple purposes:

  • utility: redemption of safecoin in exchange for storing data on the network
  • utility: payment to farmers for providing storage/bandwidth
  • price discovery: consumers of storage space will have to purchase safecoins with fiat to get access to storage
  • store of value: speculators, savers.

And because people will be converting fiat into SAFE coins, the safe network will effectively be printing money. So does the algorithm the network uses to print money tend towards price stability, inflation or deflation? Let’s consider:

  • person X converts $1 to buy X safecoins, which buys them, say, 100mb of data.
  • the network receives those X safecoins, worth $1, then distributes 2X safecoins to farmers, worth $2.
  • If you always print 2 safecoins for every 1 redeemed then it’s not possible to destroy the coins fast enough, and you’ll hit the ceiling very quickly.
  • this leads to price inflation - that is, the fiat value of safecoins decreases, and savers/farmers suffer.

It seems to me the reward to farmers must decrease relative to the available number of unfarmed safecoins. And if you are teetering on the edge of having issued the maximum number of safecoins then the network needs to be paying farmers at most 1 safecoin for each 1 safecoin paid for storage, but probably best to pay less than 1 safecoin to allow for more liquidity, to achieve better price discovery.

Frankly I liked the economic algorithm facilitated by one of the earlier RFC’s where there was a big array (granted that didn’t support floating point transactions, which is bad). When a coin was paid for storage its address was freed up, and when farmers roll the dice to earn farming fees they would only get paid if their dice lands on an empty coin in the array. This algo had supply/demand factored into it, where rewards decreased drastically as available farming supply decreased.

For the initial test algo (read naive)

Again, noted… but I’m keen to discuss what a potential algorithm might look like, and don’t know why it wouldn’t be tested this way from the start.

Has anyone done any quantitative analysis on the supply/demand function of this? Do you plan on getting some monetary/economic analysts to look at this?


Explained in the rfc as “For now, we will use an algorithm which would eventually deplete all farmable coin, but which is simple to implement while we gather further data from testnets.”

Good question, no answer yet. Glad to see more people thinking about it!

I’ve done a lot of exploration but it gets very complex very quickly and I found myself building my own terminology etc and by that point it’s basically impossible to make that work public.

If you have any ideas would be great to hear.

Anyone particular you have in mind? Would be interesting to see their thoughts.


I’ve lost track of this topic due to time constraints (and mental capability constraints), but it all seems over complicated for something that should basically be an internal market to balance available resources with demand.

Is there any way to track back from all of the complexity and just have a simple market mechanism to balance supply & demand, so that put price tends up if resources become scarce & down if they become abundant, based around a target for optimal spare capacity?

Basically, why’d we have to go and make things so complicated… trying to figure out Safecoins dynamics makes me frustrated :wink:


That certainly was the initial intent and somehow I feel that most suggestions for improvements have been towards giving control to those who have more than others. This includes the bidding since those with bigger vaults have more say. Also making it more complicated and/or involving people gives greater opportunity for unforeseen attack.

The network is the one that knows its needs/requirements better than people who after all for the most part want more income for their efforts.

I do think having a formula for network health and using that as one of the factors in reward/cost rates is good, but is more complex.


An internal market is not as simple as it sounds.

I’ll add a bit more about my understanding of the difficulties of rfc-0012 / rfc-0057 style reward and storecost algorithms.

There are some pretty clear heuristics we can look at implementing which I think are not too controversial, and these make the algorithm seem pretty simple.

  • aim for x% spare space, which then implies
    • membership
      • if low on spare space, allow more vaults to join
      • if excess spare space, stop allowing more vaults to join
    • rewards
      • if low on spare space, increase the reward
      • if excess spare space, decrease the reward
    • storecost
      • if low on spare space, increase the storecost
      • if excess spare space, decrease the storecost

So far so good, everything seems simple.

The uncertainties are

  • what should x be?
  • when should we use membership vs rewards vs storecost to achieve the goal? This is the hardest uncertainty to answer in my opinion.
  • the direction for rewards and costs are clear but what should they actually be, what magnitude, and why?
  • can spare space be measured? How accurate does that measurement need to be?
  • what if spare space turns out to be less important than spare bandwidth or spare compute cycles?
  • who decides these things? How do we know the decisions are reflected in the network (in the rules and in the behaviours)? How does that decision change or be updated in the future?
  • what event should cause reward? GET or PUT or both? Responding from cache? Signing and passing on a message for routing? Reporting malicious behaviour? Taking part in consensus? How are rewards distributed between these actions?
  • how long should it take before all coins are issued? What rate of inflation or deflation should be chosen? Should coin supply be able to shrink or only grow (eg storecost > rewards)?
  • how does the algorithm affect security and incentives? Can it be abused and if so at what cost to the attacker and what cost to the network?
  • should pay-the-producer and pay-the-developer be included and how should that work?

I would love to say ‘x = 50%’, but then get stuck on what the reward and storecost should be. I honestly cannot answer that. No algorithm seems appropriate. I’m totally open to new algorithms (see next step of a safecoin algorithm and exploration of live economy) and feel it’s a solvable problem (see health metrics), but so far nothing seems sufficiently sustainable to me. Perpetual Auction Currency feels like the closest thing we have right now to a working sustainable algorithm (although this is not without controversy!).


Sorry if this is in the wrong place or cluttering up important discussion …I’m really just wondering if there would ever be a chance or how viable it is for safe coin to ever become a digital currency to buy and sell goods etc other then storage.

I get that a few on here are diehard optimists thinking it could one day replace the dollar :yum:. But in reality I just don’t see how they could really become truly a source for dual usage. Sure it can still be traded etc but with the price for storage being set in safe coins how could this possibly at the same time become priced at anything other than that.
Maybe once it settles down and the network becomes somewhat stable? But storage fees / puts etc surely act -or should?- in a non linear correlation to other services / economies.

1 Like

Considering that there is some uses of other crypto currencies for buy/selling then safecoin will join the fray and be used. “Fee Less” transactions will play a role in the use of safecoin too.

As to adoption there is a lot riding on the safenetwork being accepted and used by people. The more used the network then the more one expects safecoin will be used for transactions of goods.

As to replacing fiat then you are probably right for the foreseeable future.


Ok thanks, like I simple economics it’s actually anything but simple -for me- and I’m going to have to think this one through.

I guess what my instinct was telling me is that the value of safe coin would be pegged in some way to the perceived or even programmed value of storage fees. So if storage came down rapidly in price for whatever reason but inflation (in price of food and say dollar bill was rising massively) elsewhere was going on, it would not be easy to reconcile!?
Anyway thanks for input as I say will think through this more but still not convinced it can act as both general currency and value of storage.

1 Like

(preamble)Randomly came across a website called the eye when a friend was asking about ebooks… Anyway I have no knowledge other than looking on the front page of their site the other day.

This made me think about storage fees:
On the site going by quote
As of June 2019, the site is seeing 182 million+ requests amounting to over 1000 terabytes+ of data served each month. We currently pay around $600 /month to cover our services and are entirely community funded

Firstly I don’t know what the going rate is or even if this is factual. So in theory say storage is getting cheaper and cheaper (for sake of arguement like Moore’s law). But then at the save time there is a massive inflationary spike in everything other then tech and digital services… They would appear to simple me to be going in different directions.
Anyway sorry don’t have my thinking cap tightly in today and will leave to think deeper about and return to.

1 Like

Not really sure, no - this stuff is hard to predict. Most economic analysts look backwards at data to understand the relationships - much harder to look forward for something with completely new dynamics.

But since the Maidsafe team is based in the UK I’d try to get Alisdair McLeod involved! :laughing::ok_hand:

Hmm that’s a really good point, something I’d not considered before.

1 Like

I hope you are joking. He comes from the old school economics point of view and doesn’t believe in cryptoeconomics AFAIK.

Maybe someone more appropriated should be Saifedean Ammous; Much more in tune with the dynamic of free markets and the new kind of economics that it’s opening right now in front of our eyes.



Very interesting questions.

Regarding your stated hardest question (among many hard questions!), I wonder if it can be simplified.

Is there a reason why membership can’t be left to farmers to decide? People will naturally provide more nodes if rewards go up, and add fewer nodes if rewards go down.

If the network doesn’t need to worry about regulating membership, then there’s only store cost and rewards to consider. These should be two sides of the same coin if the market is to function efficiently.

Total outflow of rewards (however they’re split) should equal or be proportionate to total inflow of revenue from users, so that when capacity deviates from x, rewards and store cost adjust in tandem to guide the network back toward x.

I can’t imagine why it would be beneficial to incentivise users to store more by dropping store cost without also reducing the incentive of farmers to add more resources by reducing rewards, and vice versa.

Many interesting points to think about!


It may be beneficial for the network to be greedy over the long term and always desire a certain percentage of the total safecoin supply in reserve to even out transient spikes in demand or supply. So therefore :

Total Outflow Rate + Total Reserve Rate = Total Inflow Rate

The initial conditions of the network will give it ~95% of total coin supply in reserve.

There may be non-linear relationships between supply and demand. A possible scenario is one where the network observes that the rate of new farmer’s joining the network is maximized when it offers a particular GET price. Simultaneously it may observe that content is being maximally uploaded at a particular PUT price that is lower than the GET price. In the interest of maximizing short to medium term growth, it can access its reserves to balance things out. Opposite price conditions allow it to add back to its reserves for a rainy day.


Another resource for pricing / fees (but more complex to read) is the Amazon Web Services pricing for their Simple Storage Service

1 Like

Just a random thought about biases:

farmers are interested in higher payout;
users are interested in lower payout;
but developers are perhaps most interested in the health of the network.

So, would it be possible to poll Safe Network developers for info on farming costs? Or would that influence PtD as well - i.e. is PtD some fixed percent of farmer payout?

1 Like

The developer rewards negate this supposition
They will want good returns too and cheats will want maximum and probably more cheaters than legit app developers since they will sock account their cheats a lot.

1 Like

I have mentioned this before and it sounds like a problem well suited for system dynamics modelling via tools like Misky or similar, especially when more “almost real” Safecoin related data starts to come in from beta network tests.

1 Like

Should the network be trying to maximise growth, or enable optimal pricing to balance supply & demand? Why would having supply / demand out of balance improve growth prospects?

I guess subsidising farmers temporarily during an expected short term drop in demand could prevent a few farmers leaving the network, making the network more able to respond smoothly if demand picks up again.

Though it will mean the network isn’t able to find equilibrium as quickly in the event of any longer term drop in demand.

I think it’d be viable to allow pricing to shift even with short term spikes / drops in demand or supply, but just make sure the price isn’t not overly sensitive to them, which it shouldn’t be as short term spikes are not going to represent a big portion of overall network capacity (which will determine price) except for when the network is very small.

Why do you think this might be beneficial or necessary, and how would the network know if any change in supply or demand is likely to be transient rather than sustained?


Yes, the network must grow faster than it decays to survive. How do you define optimal pricing? I would consider optimal pricing to be that which ensures continuity of perpetual data and the perpetual web. Only the network will be able to determine which price that is at any moment.

It’s not necessarily a “subsidy”. The network just temporarily determined that it is worth paying more for GETs than it charges for PUTs to ensure it’s own survival and a bright future for itself.

Because I am including the network as a market player with it’s own self interest (survival, growth) and contribution to supply and demand. When I say beneficial, I am referring to network performance and sustainable growth to guarantee perpetual data in perpetuity. Transients are identified by rates of change, and higher derivatives there of, relative to past or current conditions. However, if the control algorithms are really effective, there shouldn’t be any significant transient spikes. Minimizing those is a main objective of a good control algorithm.

1 Like