Some really broad thoughts and ideas about price to store.
No payment
Why not remove the price to store data? Upload is free. It sounds crazy but I think it’s not as crazy as it first sounds.
Pros:
- Account creation chicken / egg problem solved.
- Same consumer experience as existing web, ie free to participate (free as in beer).
- No consumer angst for engagement costing money.
- Safecoin algorithm is extremely simplified.
- Safecoin scarcity is easier to understand.
Cons:
- Spam needs managing
- maybe by rate limiting or some other non-economic force which is possibly harder to enforce or reason about.
- maybe by fees (discussed below).
- maybe by some other mechanism… ideas?
- Participant behaviour cannot be manage by making more coins available via recycling.
- Safecoin is never recycled so must increase in value to keep paying for farmer resources as it becomes harder to farm.
User chooses
How about having an option for a storage price chosen by the user (like bitcoin fees are chosen by the user) and lower fees means more chance of being rate limited?
I really dislike this option since it puts cognitive load onto the user, risk onto the user, more power to the farmers, more power to rich users. But I put it here because maybe it has some value in a similar but improved form.
I don’t know if rate limiting can be meaningful against an extremely clever client, so it probably ends up punishing the wrong people.
Floating price
This is the current mechanism proposed in rfc-0012.
StoreCost (SC) = farm_rate (FR) * number_of_clients (NC) / GROUP_SIZE (8)
Price changes according to the farm rate and the number of clients. The general idea is price gets cheaper: “a safecoin will purchase an amount of storage equivalent to the amount of data stored (and active) and the current number of vaults and users on the network”. The bigger the network grows the more storage each safecoin can purchase.
Some example prices for the rfc-0012 proposal:
Early in the network:
NC = 10K (currently 9099 users on this forum).
FR = 0.2 (8 sacrificial chunks for every 10 primary chunks)
SC = 250
ie 1 safecoin buys 250 PUTS or 1 GB storage costs about 4 safecoin
Late in the network:
NC = 700M (10% of the world uses safe network. 7B * 0.1 = 700M)
FR = 0.6 (4 sacrificial chunks for every 10 primary chunks)
SC = 52.5M
ie 1 safecoin buys 52.5M PUTS or 1 TB storage costs about 0.02 safecoin
Gaming the farm rate:
NC = 10K
FR is 1 (0 sacrificial chunks for every 10 primary chunks)
SC is 1250
ie 1 safecoin buys 1250 PUTS or 1 GB storage costs about 0.8 safecoin
I think these examples look pretty reasonable!
One nice aspect is a lower farm rate means less rewards, but it also means users are spending more safecoin per GB. This is a cool bit of natural interplay for farmers. It has a natural balancing mechanism as described below:
A farmer is making a decision to maximise their chance of reward. The chance is a combination of farm rate (FR) and the portion of coins remaining (CR). Ideally the farmer wants both to be high, but a higher farm rate is usually accompanied by less coins remaining so they have some conflict with each other. Farmers will usually have to prioritise one or the other, not both.
The options to improve the chance of reward are
- increase the rate of reward by increasing the farm rate.
- increase the coins remaining by making storage more expensive by reducing the farm rate.
What should a farmer do?! Both actions are beneficial. They must work out whether they get more gain by reducing or by increasing the farm rate, then manipulate the farm rate in that optimum direction. How do they manipulate the farm rate? By choosing to store or drop more sacrificial chunks.
This graphic captures it visually. Any move left or right will naturally have some corresponding move down or up (and vice versa). Should a farmer aim to move right (and live with the corresponding move up), or should they aim to move down (and live with the corresponding move left)?
It would be logical (in this overly simple example) to follow the diagonal. Any move away from the diagonal to the right comes with a corresponding move up to an overall lesser value and any move down from the diagonal comes with a corresponding move to the left to an overall lesser value. There is presumably an inbuilt mechanism to force an overall push toward the top left as the network grows to overcome the farmer desire to move to the bottom right.
RFC-0012 is a really simple mechanism to implement but is (at least to me) INCREDIBLY complex to reason about. This post took a long time for me to come to terms with, and maybe there’s still mistakes in it?! Would love to hear of more ideas for how to break the mechanism rfc-0012.
This has a pretty clear answer now - sometimes the benefit of higher storage prices is better than the benefit of higher reward rate.
My main concern is that early creation of new safecoin could be quite rapid since there would be a higher chance to get rewarded (there are many coins remaining) than chance to increase the total coins remaining (there are already so many remaining). This has flow on effects for the motivation to store sacrificial chunks and thus to accurately measure spare space and network stress.
I realise this conflicts with my previous look at the sigmoid and KD curves, but such is the learning process! I’m overall positive about RFC-0012 again, although with the caveat toward maybe more investigation on the rate of coins being issued especially early in the life of the network.
My current questions are
Does this eventually balance out (and what is the equilibrium state)?
Does it end up forming cyclical behaviours?
Would the hypothetical cycles be more prone to stabilising or expanding?
How does the farming balance impact farmers?
How rational will farmers be?
What can farmers and consumers do to mess with the natural balance intended by farm rate?
How much can farmers know about the current state and how much force they exert toward the equilibrium state?