Initial price for upload

My feeling is the reason for having a storecost and reward is not clear enough and this is leading to further confusion about other things like initial price for upload and how fast to mint new coins. Once we clarify the reason for storecost and rewards existing in the first place then the rest becomes much simpler.

It seems the current belief is storecost is payment for service and reward is a subsidy on top of that to further motivate farmers (to maximize growth). This approach seems to imply certain properties like: all rewards eventually end up being distributed to users, payments are only distributed to farmers and never return to the network, reward should be issued at some particular rate, payment will go direct to farmers rather than shared etc.

I’m not really in favor of that idea of the economy (I can get behind it but to me it seems illogical).

A brief historical aside: Bitcoin does not use fee as payment for service. And it would be absurd to do that. A tx in block 605 would overall be stored for slightly longer than a tx in block 606, so should the earlier tx pay slightly more? No. This is not just saying ‘bitcoin does not work as fee for service’, it’s saying ‘bitcoin should not work as fee for service’. There is no way to know the future amount of service required to secure that tx so there’s no way to pay now for that future work (a debatable point for sure; to argue against myself we saw in another thread a 10x decrease in storage cost every 10 years means permanent storage always approaches 5x the initial annual cost… so sometimes we actually can estimate the ‘cost forever’ based on the ‘cost now’).

Transaction fees in bitcoin are only used to prioritize which transactions to commit to the network. This prioritization mechanism only gets used when the rate limit is active (ie more than 1 MB of txs per 10 minutes is happening). If there’s no stress and no need for a rate limit then all transactions are accepted.

We can debate why bitcoin may or may not be a good model for our situation, but I think it’s a good example for why tx fees even exist in the first place. Fees are a way to decide how to use limited network resources. Storecost is a prioritization mechanism. I’ve said in the past that storecost is a rate limit, but perhaps it’s more accurate to say storecost is a prioritization mechanism (that operates when a rate limit is active). So storecost should be extremely cheap if the network is not stressed (no need to rate limit or prioritize, let’s maximize growth and accept everything). But when the network becomes stressed then there should be some restrictions until the stress is relieved, and the restriction means there needs to be a way to decide what is accepted to the network and what isn’t. That’s why we have a storecost. It’s not a payment for service.

With that bit of ideology on the table, we can ask ‘why have rewards’? Can we have a successful network without rewards? (Likewise we should ask can we have a successful network without storecost but I think the previous paragraph demonstrates the need for storecost). It feels like we can’t go without rewards because if we have a storecost then we need a way to pay that storecost. The reward is what allows people to pay the storecost.

To me it makes sense that we want as many people to have access to rewards as possible so they can also pay the storecost (and other reasons but I’m just looking at the core of the logical reasons here). Not everyone is in a position to be rewarded early on (didn’t know about it, didn’t have resources available, didn’t understand it, ignored it, hated it, whatever reason). This means that rewards must be spread out over time if reward is going to be useful as a way for many people to pay their storecost. How much time should it be spread over? Hard to say! To argue against myself again, we should also consider there are other ways to get tokens than the reward mechanism (eg exchanges, gifting) so maybe focusing too much on the single core logical reason is not especially helpful?

But the point I’m trying to make is that reward is not an additional subsidy for providing a service. Reward is the way that data flow is opened up and improved. If storecost is a kind of ‘quality assurance process’ then reward acts as a kind of ‘conveyor belt flowing into that QA process’. We can probably simplify and say: rewards enable network growth. The network grows when useful new data arrives (reward facilitates the storecost for new data) and when new farmers arrive (reward motivates participation and permanence). I’ve said in the past that rewards are to ensure permanence, I still think that’s the main purpose of rewards, and treating rewards with that purpose implies something about how fast to issue them (permanence and growth are very closely related imo).

These are what I feel to be concrete aspects that can be taken further into a working mechanism. Measure stress. Respond to increased stress with storecost. Measure participation. Respond to negative changes in participation with rewards.

I feel an economy based on a paradigm of payment for service is too risky, too much safety margin required, too fragile, too rigid.

The priority for network activity might be 1. join/relocation GETs 2. client GETs 3. client PUTs. This is because node membership is critical to network stability and security so must happen first, client GET is the most popular and cheapest and newbie and public-facing and end-goal function of the network (data is only permanent if you can fetch it so fetching is the key function for determining permanence), client PUT is a one-time event so is not as time-critical as the other two and depletes spare resources so is the cause of stress. Storecost as payment for service means farmers would say PUT is the most important operation, which to me seems very backward to the majority of participants on the network.

I haven’t responded directly to any prior posts because I feel the conversation has been based on suboptimal economic assumptions. Just wanted to throw my perhaps minority perhaps unpopular perhaps unwelcome ideas in here because it feels in the spirit of a brainstorm :slight_smile:


To be more concrete on what I feel about the rate of new coins arriving, it depends on measuring and responding to participation rates.

To me the best way to do that is using a deterministic cache to measure the degree of redundancy (allowing any amount of redundancy, minimum 8 copies, but no upper limit on cached copies). Set a strict minimum redundancy (eg 8 copies), then target some higher redundancy than that (eg 15 copies) as the point where reward expenditure pays out from network wallets at the same rate that storecost expenditure comes into network wallets. Variation from this break-even point workload leads to higher or lower reward rates.

12 Likes