Markets clear. That's what they do when buyers and sellers are free to adjust as they see fit.
With that thought in mind, it makes sense to move to a more market-oriented resource credit system over the old bandwidth system for managing blockchain activity.
But as far as I can tell, the RC system has a couple of issues that prevent it from acting like a true market.
- RCs are actually a derivative and not an economic good within the STEEM ecosystem. Since they are, at least presently, a function of STEEM Power holdings.
- Prices are centrally planned. Apparently, there is some sort of algorithm running in the background adjusting RC prices for posting new content to the blockchain. I'm sure someone with better (any) knowledge of the new codebase could explain how that works better than I could.
So if the problem is actually a tragedy of the commons scenario in which a hypothetical future load of millions of users stresses the ability of witnesses to produce blocks in a timely manner, then it seems to me that a straight-forward market solution could work.
This is actually what other blockchains do with gas and transaction fees. But STEEM doesn't have transaction fees. And at the same time, we want new users with very little STEEM Power to be able to use the blockchain in normal, everyday social interactions.
That's a tough nut to crack, and I don't think central planning will do it, no matter how dynamic that central planning is. It's Hayek's knowledge problem writ binary.
The Question
So how do we get people to pay for something with no money?
An Idea
One idea I've had is to pay for it out of the author's rewards share. The voluntary inflation we all participate in is the key here.
Let's say I want to post a comment in the next block. I can bid for a position with my future rewards income. The highest bidder would go first (probably at the second-highest-bidder price), the second highest bidder would go next, and so on.
Some Scenarios
There are a couple emergent behaviors we might expect from this kind of regime:
Maybe my comment isn't timely and I don't really care if it gets included in this block or one ten minutes from now. I might bid zero for when there is excess capacity on the chain.
Maybe I want to make sure my voice is heard right now so I am willing to bid 0.5 STEEM Power of future rewards to get included at the top of the block.
Maybe I end up in debt by overbidding on prior chain actions. At that point, I'd have to either stop using the chain or power up more STEEM and curate or self-vote my way out of the minimal amount of debt incurred since the automatic bookkeeping should keep this pretty close to zero. Depending on how the numbers worked out, I might be able to zero-bid my way into curation to get back to even when there is open space on the chain.
Our experience with RC debt over the past few days was pretty illuminating for me. Equally impactful, there was no way to fix it from the user's side.
How is This Better?
So, how would this be better than the old system under HF19 or the new system of HF20's RC?
The immediate criticism I can think of is that whales will be able to out-bid minnows. That's true. It's also true now under HF20. It was also true under HF19. It's going to remain true. People who are more heavily invested in the system by staking their STEEM will have a buying power advantage over those who don't.
The main advantage I see though is that this mechanism creates true price discovery in how badly people want their content to get out there while simultaneously increasing costs on low-value content creators (aka spammers). Either the spammers would have to wait until there is excess capacity in the blocks or they would end up in rewards debt and shut out of the system. Well-capitalized spammers will still be able to use the system, just like they are now though.
With this price discovery, we can adapt to those prices as demands on the blockchain change over time. With more users, the time delay for free postings will get stretched out. The normal expectation would be that some users' subjective preferences for timeliness will be worth a bid to jump to the front of the line.
I can imagine a user's evolution from joining and commenting on a meme growing his or her stake slowly, starting to produce zero-bid content, and growing over time to a more professional level that includes bidding for priority placement.
I can also imagine people commenting, "cute cat," would never have to pay a thing.
But then, nobody asked me.
My exception to that would be @davemccoy's - what we actually want is free interaction. If users have to pay to comment, you'll have a few whales who feel like talking to each other, but most comments will be limited to those the author feels will be profitable. Which means by and large no one will actually interact and build relationships.
Part of what has made Steem successful, as much as it is, is the large stakeholders' willingness to subsidize relationship-building. They've now stopped that by creating a resource market, even a half-assed one, and it will only get worse once trading RCs becomes a thing.
I agree with you 100% x as much as there exists... This is the point I've been trying to make all day. I know the whales can't see it, but charging people anything to legitimately engage will discourage that activity. Plus it is also a bad message to send. "those that have money can speak freely"... "those that don't are limited" ... I think it is absurd to think that anyone will pay for the right to speak their mind. I know I wouldn't consciously, so I suggest they bury that fee and collect it some other way.
Yes, that's a potential issue, but I think it would be an edge case in practice.
We know there ain't no such thing as a free lunch, which is what RC has been all about. So given that, where do we go from here?
In the method I am exploring above, I think the vast majority of transactions in the near term would occur at zero cost on an excess capacity basis. These transaction costs would only emerge as a necessary element when there are enough users to fill the blocks beyond what is subjectively reasonable.
Just for arbitrary numbers, let's say that's 1 million active users. At that point, the witnesses would have a choice to make between expanding block size to keep a reasonable number of spots free for the small fry or to limit new user growth. Or maybe some combination of the two.
We already pay a voluntary tax to subsidize low-SP users. That's what the witness earnings are. So that might also be an adjustment for when blocks become full.
It's not the fullness of a block that they're worried about, as I understand it, but the total size of the historic blockchain. (Which is where most of the literal resources go, why witnesses need substantial and expensive servers, nodes are even worse, and replays take forever.)
Hmm. That would imply that keeping the chain in RAM is the constriction. On a text-based chain like STEEM with a growing user base that creates a square-law geometric progression.
If that's the case then it's an absurd design.
I think I'd need to talk to aggroed to see if that is the constraint.
nice work