New Accounts Don't Have Enough SP to Fully Interact with the Blockchain. Should witnesses update the Max Block Size? (Discussion)
This may be a boring topic for some, but it is an important discussion to have..
Account Creation Fee
With the current median account creation fee of 0.2 STEEM, it costs 6 STEEM or .2 STEEM + 29 delegated SP to create a new account. Many users who use services like AnonSteem and SteemConnect to create new accounts, pay the 6 STEEM. (This STEEM turns into SP in the new account.)
Bandwidth
The blockchain requires users have a certain amount of SP in order to perform operations such as posting, commenting, voting, and transfers. The more SP you have, the more operations you are allowed to do.
New Account Bandwidth
When new accounts are setup, it is important for them to have enough SP to do basic interactions with the blockchain. Previous analysis found the minimum amount was around 5-6 SP.
The Problem
With increased traffic recently though, it looks like 5-6 SP is no longer enough. Many users are reporting that they are unable to vote/post/comment as much as they like, because the blockchain is saying they have exceeded their allowed bandwidth. It seems users who are relatively active need closer to 10-12 in order to not have some of their operations blocked.
The Trade-Off
With the increase in user activity, there is an increase in bandwidth usage. With the increase in the price of STEEM, the cost to create accounts is going up. There is a trade-off between making the accounts cheaper, and providing them with more bandwidth.
Potential Solutions:
- Keep the current account creation fee and bandwidth limitations in place. New users will be able to perform some operations on the blockchain, but they will not be able to do as much posting, commenting, voting, etc. as 'full' users until they earn (or buy) more SP.
- Increase the account creation fee, to give the users more SP when they start. This also makes creating accounts more expensive.
- Increase the amount of bandwidth that users are allowed, by increasing the witness "Max Block Size" parameter.
Max Block Size
Currently all of the witnesses have this set to 65536. If at least half of the top witnesses were to double this, that would double the amount of bandwidth that users are allowed to use for the same amount of SP. I talked to @roadscape (one of the Steemit devs) and he said that the impact on witness/seed/API nodes should be minimal, since the current block size is small.
Discussion
I will admit, the max block size parameter is an area of the system that I am not fully familiar with. To me it seems like a good idea for everyone to increase this, but I don't want to do it without discussing it first. What are everyone's thoughts?
Reminder to vote for witnesses!
The Steem witnesses are the elected leaders of the community that power the blockchain. Everybody should learn about the Steem witnesses and vote on who they think is best. If you don't know much about witnesses or aren't sure who to vote for, you can check out this Witness Voting Guide. If you think @timcliff is doing a great job, please consider voting for him as witness! You can vote for witnesses here: https://steemit.com/~witnesses
worth noting that new registrations also dont really work on steemit.com - people wait for approval for weeks
A large percentage of people are approved within 24 hours actually. 3 business days is when most accounts are approved by.
There have still been a lot of accounts taking longer than that, but most of them are actually because they are getting flagged for various reasons (wife and husband signing up on the same computer, etc.) If there are any accounts that have taken more than 3 days, you can DM me on steemit.chat and I'll forward to Steemit to review.
There are still services like AnonSteem and SteemConnect which people can use if the Steemit.com signup doesn't work (or they don't want to wait).
I know that improving the signup process is a big priority for Steemit, so hopefully we'll see some proposals on how they plan to improve it soon.
I know this isn't a permanent solution, but if there are any newbies out there who are having trouble posting, I'll be happy to delegate 10 SP to you until you get on your feet. This offer is open to the first 5 qualified new accounts that want it.
Edit: You can contact me in Steemit Chat as neoxian.
Another reason why this community rocks. We'll help each other out as needed.
I would really love to see this problem solve as soon as possible.
Quite kind of you! I am a fairly new user, and have little SP, but have had no issues posting or commenting, so am in no need of your generosity. I hope this problem gets quickly resolved, and not being able to post or comment renders the site of little benefit, or use.
Thanks!
EDIT: I just realized that there is an amount of 'delegated' sp, that I have wondered about. I didn't know what it was until now. It seems to be being decreased as I gain sp from posting and curating, which I hope is correct.
Just wanted to correctly express the situation.
It is because you are receiving delegated power. If this power goes away and you haven't increased your SP to 10-12, you'll start having those problems.
You rock @neoxian
Your generosity is much appreciated
I just created an account and cannot post!! Thank you for your kind offer.
I would think bigger blocks introduce more issues for witnesses, and might push for higher account fee.
STEEM is already at a 30GB blockchain, and it's only been around for a year.
I run my witness on a HDD, and advise others to, because at the rate STEEM is growing, Witnesses may need a RAID of SSDs to hold the chain within a few years. Making the blocks bigger would accelerate us towards that fate.
It's understandable that new accounts can't interact very often. This could be thought of as a positive not a negative, simply because it reduces the amount of spam on the chain, as well as armies of upvote/flag bots.
I find it's rare for most people's introduceyourself to do poorly. This usually means within their first few posts, they may gain a decent amount of SP to interact (though we now have 7 day payouts which are annoying).
On the other hand, we don't want to become like Bitcoin, where people flock to other platforms because we're all too stubborn to just increase the block size.
So one thing to consider is that as far as I know, the "max block size" is not really limiting the size of blocks (currently). I believe the blocks that are being produced are significantly below that max. The parameter though is also part of the bandwidth usage calculation, which is where it is having an effect. It also mainly affects new accounts, because once you have more than ~10 SP you can interact within normal/reasonable limits.
Thank you for that information. I had no idea.
maybe we can have a longer vote, comment and post timer for new people instead of being locked out for days at a time? I this this is discouraging.
Thanks for your input @someguy123!
Yeah, I've been thinking about the size of the blockchain for a while now. I'm happy to see how quickly disk technology is getting cheaper, but it's still something we should keep in mind. Maybe the Steemit account can just delegate more Steem per account in the beginning.
I think there's such a huge influx of new users that they're trying to cut down where they can. for example, I recently got my mom to sign up and she was delegated around 150SP.
However, yesterday it was reduced down to like 4SP which quickly hit the bandwidth limits. @timcliff got them to set it back to 9, so I guess we'll see if that's enough to solve it (well, for now at least).
Wow, that's a pretty major change. Seems to me Steemit inc messed that up and should fix it, not the witnesses. 150 to 4 is drastic.
The account creation fee is currently .2 STEEM (set by the witnesses). A week or so ago, it was .5 STEEM. When it was .5 STEEM, it cost
.5 * 29.5 * 5 = 73.5
delegated SP to create an account. That was way more than what is needed for bandwidth limitations. A calculation was done based on the bandwidth limits at the time, and it was determined that an account with 5 SP could 'reasonably' interact with the blockchain. Based on that, they removed the unnecessary delegation and left users with 5 SP.Since then though, the bandwidth requirements seem to have gone up. I assume because of the increase in usage. 5 SP no longer seems enough to interact with the blockchain. It seems like 10-12 SP is the new limit.
There is a workable solution on the Steemit side of things, which is Steemit can delegate 10-12 SP instead of 5. I don't think this would be a huge deal.
The real problem though is that Steemit is not the only service creating accounts. Lots of accounts get created with non-delegated SP, and those users only start out with
.2 * 30 = 6 SP
. Anyone who has an account setup that way won't have enough SP to 'reasonably' interact with the blockchain.Isn't this the responsibility of each individual system though? They could also delegate Steem Power if they wanted to.
My hunch is most of the growth happening right now is via steemit.com and if they can fix that easily by delegating Steem Power again, it seems to me they should do this right away. To me, a drastic change like that which negatively impacted the users seems like a mistake which should be corrected.
I talked to Steemit, and they are going to change it from 5 to 10-15, so it should be OK for Steemit created accounts going forward. They are also going to see what can be done about the accounts that were updated to 5 and see if they can be increased to 10-15.
That's great news, Tim!
Curious who you talk to at Steemit and how. Do they have a main phone line you call or something? Hehehe. Thanks for making this issue a priority.
The systems are designed to allow users to create new accounts based on whatever the blockchain account creation fee is. If the account creation fee is not high enough to support 'normal' activity, then that is going to cause a problem.
If we are going down that path, then the solution to make it 'work' (without depending on a bunch of third party developers to know that they need to add extra / special logic) would be to force the right amount by raising the account creation fee.
I agree 100% that it is a problem that needs to be corrected. The main question though is what is the right approach to correct it :)
Personally, I am leaning towards increasing the max block size, but I am also treading down that path very carefully because I do not fully understand the implications.
If I understand the problem well enough, one possible solution, if it could be implemented without too much difficulty in a future fork, is to have a fractional reserve "pool" approach (which may be similar to what you're saying with a multiplier). Since not all users of a particular registrar (ie. steemit) will be online at the same time, users who have less than say 20SP can be extended up to 20SP towards bandwidth by "tapping into" the registrar's own SP reserve up to the designated limit set by each registrar.
I see what you mean, and I agree that keeps the solution simple for third-party developers. Maybe a good approach is recognizing a delegated Steem Power model is better for creating new accounts and under that model it's safer to introduce a multiplier to ensure the there's always plenty to go around (as it was before steemit made the change). If all onboarding systems took a similar approach, there would be less of a concern and it might end up being cheaper in the long run for those systems as they could just reclaim their SP for abandoned accounts.
If that makes the most sense to fix things quickly, I'd be ready to do it now (though I'm just a backup witness).
I also don't know the implications of changing the blocksize, but I do think it's something we should discuss with the experts before taking positions on.
The @steemit account is the ideal faucet to seed accounts with adequate SP to interact with the blockchain.
just curious, how much RAM and CPU power do you currently need to maintain your witness these days?
CPU power doesn't really matter.
As for RAM, minimum 8GB. Disk 30gb.
One example here
Would it be best to just explain it more clearly in the error message?
"Great to see your enthusiasm, but you've done too much too quickly for such a new account. You'll speed up as you build your steem power balance."
I like this approach. Much like Candy Crush only gives you 5 lives at a time and then you have to wait to get more. When something is scarce and desired, it becomes more valuable.
I'm also in favor of increasing the account creation cost. The Steemit account has an estimated value of $185,635,587 according to steemwhales with 3M in liquid Steem. Raising the price a bit won't hurt them too much, IMO, though I don't know anything about their operating budget. Yes some other onramps may pay a bit more, but couldn't that also be seen as a natural balance to growing too fast too quickly? We're already seeing some sporadic issues with the front end so maybe a little temporary slow down is a good thing.
I think this would feel like "leveling up" for some. On the other hand most websites do what they can to increase activity.
Very interesting idea though.
I don't know jack about the dev side of this, but I do know that it was a bit disheartening to have the desire to upvote/comment without the ability. I'm still learning things and I've found SteemIt a wonderful place to meet new people, be part of an online community that is supportive, laugh at some posts (etc).
The incapacity to interact with the community for newbies is a problem. I'm sure that some users have created and abandoned accounts because they couldn't see the use in having another website that promised to be a social media solution, but that didn't let them be social.
While sites like FB and Twitter don't pay, they do fulfill the mission of social media from the start of account creation. If SteemIt.com is serious about mainstream adoption, then this is a situation that is in dire need of a solution.
As I said from the outset, I don't know jack about the dev side. I know well the inherent laziness of people who already have too much to do on too many sites.
Glad you posted this. Can't wait to see what happens to rectify the issue.
(P.S. could someone please help me out regarding Curation Rewards? I get that not every post will earn Curation Rewards, that said, I've been active and manually upvoting posts I like since I started, yet haven't seen any Curation Rewards for the last 18 days. Thanks.)
When you claim rewards, your curation rewards are part of it now. So you are earning curation reward, Steem Power you see on your pending rewards are coming from curation as well as from post/comment rewards.
Is that why in the author rewards sections there's things listed that aren't my posts?
Great comment! Thanks for your input.
Regarding curation rewards, you only get a very small percentage from the post payout if you don't have a lot of SP. Most of the curatoin rewards go on the bigger voters who contributed more to the payout with their votes. If the amount of curation rewards earned is considered "dust" (below the lowest decimal point that the blockchain uses) then they are not counted.
Thanks for the replies. I'm still wrapping my mind around blockchain and Steem, your assistance is much appreciated!
Is that why my most recent upvotes (shown on steemd.com) say "upvote" when a few older ones say "curation reward" -- the newer ones were dust? Good to know.
So, how would a new user who isn't big on posting, but wants to curate and resteem be able to make enough SP to have any kind of impact?
If you are looking at steemd, the upvotes are from you clicking upvote and the curation rewards are payouts from past votes.
Posting and commenting are the main two ways to build SP. There is also the option to purchase more via your wallet.
Thanks for all your help @timcliff. I've chosen you as a proxy. I don't know enough about the various witnesses, nor the platform (yet), to pick 30 witnesses based on anything other than "wow, cool name."
Ok, cool. I am selective with my witness votes, so your vote is in good hands :)
If you ever want to learn more about the process and who to vote for yourself, here is a witness voting guide:
https://steemit.com/witness-category/@timcliff/witness-voting-guide
Groovy! That's a lot of reading. Gonna space it out so I don't blow my mind or my computer. lol. Just found myself with like 10 more tabs open...my poor computer can't handle it.
Which hopefully will be improved with HF19!
The whales won't be as impactful as they are now, hopefully freeing up some of those rewards.
A contract-based account that runs a script of delegating donated SteemPower to new users who post legitimate introductions (possibly induce greater rewards for tying to external accounts like Twitter or Facebook for the sake of viral marketing).
I would donate to that account.
Also-- the blocksize issue is an interesting one. Has anyone done the research to see when it would become TECHNICALLY prohibitive, versus financially prohibitive (which shouldn't be the case)? I would imagine the technical challenges would arise far sooner. But, I'm not a witness so I dunno nuffin :D
Members should inform of their Status like Limited access to those below 10 SP and where to buy links.
I believe @vandeberg hinted in GitHub that they have a more elegant solution lined up to this problem.
On a related note, we might start hitting block size limits purely because of content soon though. I remember as far back in September 2016, Curie's curation list would run into a block size limit. Well, I often see multiple posts made within seconds nowadays, and the growth is accelerating. We could have dozens of posts in a single block if Steemit were to go viral. We aren't quite there yet, but something to look out for.
True. I've heard they are working on things too, although it might be quite a bit until whatever they are doing gets coded, tested, and forked.. We may need to come up with a short/medium term solution.
It is definitely something to keep in mind. As I mentioned in my post, it's one of the areas I'm not that knowledgeable on. What are your thoughts on increasing the block size? Do you think we'll need to do it?
Definitely sounds like a reasonable short term solution to me, as others have pointed out :)
Hmm... #3 sounds like a good solution for now - but what happens if Steemit is at 10x the current signups rate?
If we ever hit "the tipping point" and have tens of thousands of new users joining each week for a while - will the increased block size hold up? Or does the same problem repeat itself?
Thank you for sharing this issue, it's an important one. I would encourage a patronage model much like AnonSteem makes possible today. It's far from a perfect solution, but: I strongly disapprove of any plan that involves requiring new users to buy in for themselves, because it veers a bit too close into pyramid scheme vibes at that point.
Plus: If users have to pay for their friends to sign up, while it would slow down adoption, it would have a huge impact on the quality of userbase. Steemit isn't easy - quality users are important.
All just thinking out loud. Thanks for sharing - adding you to my witness vote list now.
The system will have to scale up eventually. That means higher usage, bigger blocks and increased costs for people running nodes. The main question is when and how fast.
Fair point. It certainly won't be easy, but we'll find our way.
@heymattsokol i agree with you because i remember when i joined last week , though i was enjoying the activities of posting and upvoting . then came the mesaage that my voting power is low. I beleive thats was when steem fell down in the currency chat, so i have to power up my SP. Now not because am compel to but because i knew the importance in the future. But for new users to be compel to always power up, itwont make a cut here ..they will not understand but just say is a pyramid stuff. So i dont support first powering up fee for fresh users.
Hi Tim, we (Steemit Inc) have completed the task of re-delegating 10 SP to all accounts which were previously lowered to 5 SP. Everyone should now have 15 SP delegated to them (unless they've already exceeded this amount themselves). We don't want any new users to have a negative user experience on Steemit due to bandwidth limitations. Also, thank you for this important post and valuable feedback.
Thanks @justinw!