Steem Bandwidth - User Experience Issue

in #bandwidth7 years ago (edited)

The Cost of the Blockchain

Steem is an amazing blockchain, in that it allows near-instant (three second) confirmations and charges zero fees for transactions. Anyone can sign up for an account, and use the blockchain to post their content, vote on stuff they like, and earn rewards - all for free!

There is a cost for all of this however. Witnesses, exchanges, and developers must pay to run the computers that power the blockchain and the applications that run on top of it. As the blockchain grows in size, the cost for running these servers increases.

Witnesses are paid by the blockchain to run their servers - so they can afford the increased costs. Developers and exchanges are not paid however, so they must cover these expenses out of pocket. If the price to run a Steem blockchain node becomes too high, exchanges and third-party developers are less likely to participate.

Bandwidth Prevents Unlimited Growth

Luckily, the Steem blockchain has a way to keep these costs under control. That control mechanism is bandwidth.


[Source: Steem bluepaper]

How Bandwidth Works

Everything you do (posting, voting, commenting, etc.) will consume a small amount of bandwidth. Every user has a limited amount of bandwidth to use each week. Users with more Steem Power will have a higher bandwidth allowance.

You can check how much bandwidth you currently have based on the current limit at:
https://steemd.com/@youraccount

Normally everyone's bandwidth allowance is quite high, and users are able to use the network freely without any interruptions. Sometimes when the blockchain becomes busy however (due to heavy use), everyone's individual allowances may go down until the network becomes less busy.

Bandwidth Errors

The Steem network has gotten very busy recently with all the increased use, so some users are occasionally bumping into these limits.

The more transactions a user does, the less bandwidth they will have left (until it recharges). If they pass their limit, or the network gets busy and their limit is reduced - they may be unable to transact until the limit is raised, or their bandwidth recharges.

^ This will primarly affect users with a small amount of Steem Power.

If you get an error that you have exceeded your bandwidth allowance, it is normally best to just wait (an hour or two) and try again when it is less busy. Usually if you wait and try again later, the transaction should go through.

If you want to increase your bandwidth allowance, you also have the option to purchase more Steem Power for your account through an exchange such as BlockTrades.us.

Potential Changes Being Discussed

Increasing Everyone's Bandwidth Limits

Witnesses have the option increase their maximum block size, which will give everyone in the network more bandwidth. There are a lot of people (myself included) who have proposed doing this, but there is some concern that doing so will allow a large increase in spam, as well as raise the costs of running servers for exchanges and third-party developers.

^ Because of this, there is not yet consensus on raising the bandwidth allowances

The Steemit dev team has been working on AppBase as well as several other performance enhancements, which should help reduce the requirements for third-party developers and exchanges.

^ Once these changes are done, we will likely be in a lot better position to start raising the bandwidth allowances.

Update to the Bandwidth Algorithm

There is GitHub issue 1800 open to optimize the bandwidth algorithm. This is one update that I think will do a lot of good. If we can come up with a more optimal way to divvy up our limited resource (bandwidth) so that regular users can more freely transact - this would be the best way to improve the situation.

I also think that as part of this change, it will be important to provide a clear definition for all users about what the bandwidth limits and rules are, so users can know how many transactions (of each type - sending coins, posting, voting, etc.) are allowed based on the amount of Steem Power they hold.

Education

No matter how much tweaking we do to the system - there is going to be a limit somewhere, and some users will likely run into it at some point. Based on this, of the key things we can do is educate users about how bandwidth works, so that they are not surprised if they run into limitations.

The keys right now are to know that:

  • Every user has a limited amount of bandwidth.
  • Most of the time this should not affect users.
  • Sometimes (usually during busy times), users may run into limits if they have been transacting a lot.
  • If users wait for a little while, their bandwidth should recharge, or their limit will go back up.
  • Users also have the option to buy more SP if they want increased limits.

Discussion Welcome

There is a lot of discussion among the witnesses and Steemit dev team about how to best handle bandwidth. Input from the community and stakeholders is important. Please share your thoughts in the comments below.

Some points of discussion:

  • Do you think new users should have as much bandwidth as they want?
  • Do you think that having users pay to have additional bandwidth (by powering up more SP) after they pass a certain point is reasonable?
  • Do you think witnesses should increase their block size now, or wait for AppBase and other optimizations first?
  • At what point do you think a reasonable limit for new users to be limited?
  • What changes could be made to the bandwidth formula to better allocate bandwidth across the users?
Sort:  

I'm a new user and yes, I've encountered the bandwidth limit on a few occasions. Even so, I'm not sure that increasing bandwidth for new users (wonderful though that would be), is necessarily a good thing. Although I'm guilty of popping the occasional meme on my blog, over the last couple of weeks, since joining, I've tried to improve my creativity and curation. Like, I suspect, many people, when I first joined, I thought it would be like other social media platforms ('like', 'share', 'status update' and the usual general trivia). I was delighted to find something challenging with much more depth.

I suspect that extra bandwidth for new Steemians is likely to be wasted on the social media habits we need to,actually, be changing. Much as I would love to have more bandwidth, I'm happy to earn through working hard on creative content and curation. My feed is already clogged with like for like requests for upvotes, pictures (which are unclear if they're original work) and a confusing array of resteeming offers.

Without the ability to filter these out, it's a little time consuming looking for valuable content, which tends to get lost in all the noise. Simple posts can be fun, and I love a good meme as much as next person, but with an unlimited supply of bandwidth, I would think it would only get worse. Of course, this could all be down to the fact I'm still getting to grips with the system, in which case, please disregard. I have absolutely no technical ability, so would have no idea as to what is feasible in terms of changing things.

I hope this is ok?

In my opinion (a fresh newbie), these are great thoughts. Steemit excites me because it rewards people for quality content and quality interaction, but I agree with your words here:

"My feed is already clogged with like for like requests for upvotes, pictures (which are unclear if they're original work) and a confusing array of resteeming offers. Without the ability to filter these out, it's a little time consuming looking for valuable content, which tends to get lost in all the noise."

I hit the bandwidth wall this morning, and, looking into it further in this article, it makes sense not to give unlimited posting power to people who haven't proven they are providing good content and being genuine members of the community. I love commenting on people's posts and making new friends, but sometimes I have to work hard to find posts that inspire me. When I do find them, though, I'm often in awe. Thoughtful conversations like these add so much value to the experience.

Hello you. @katrina-ariel, I'm so glad I'm not alone, thinking this. I've made some amazing friends on here, so the scrolling has proved worth it. I too am awed by some of the incredible content on here, and also inspired. It's so exciting to be a part of this, I don't want to squander the opportunity with trivial posts. I like to see the poets, philosophers, free thinkers and innovators. I want to learn new things and share what I've learned. The money is nice, but I'd have jumped ship from Facebook just for the depth of content alone. I'm hoping that those who are expecting a 'quick buck' by spam posting poor content, either become disillusioned and leave, or, preferably, step up to the plate and unleash their creativity. Great to meet you.

somehow i have been able to avoid the like for like stuff,.. i have been absent for a few days and it doesnt seem like my steem or bandwidth ever recovers,.. were you able to figure out a solution? my bandwidth seems to be at a standstill and i am still dumbfounded as to how to create more without using bandwidth that stymies my account,.. so frustrating

Everything about this is 100% spot on. I hit a bandwidth limit myself yesterday (although it was a bug and not because I was doing too much stuff), and it really made me think, "Am I doing quality actions now or just spamming?"

Really helps you put things in perspective.

I know what you mean. I think it's probably normal to indiscriminately post in our first few days, but then we acclimatise after our initial excitement and begin to see the potential. I imagine we'll continue to evolve and grow over the coming months and I can't wait to see what you'll be posting with your 'new perspective'. I look back on my first posts and resteems, wishing I had a delete option.

the bandwidth issue occur many times but after few moments i stop commenting and then refresh the page or it will come back to normal . Else your post are always informative so always keep sharing and best of luck <3

@sibtainali

Yesterday I didn't use the Steem blockchain in anyway, but, according to steemd, my bandwith remaining was 0 bytes of 0 bytes...
I agree with the fact that new users should'nt have the same bandwith then established users... but no bandwith at all? I wasn't even able to upvote! This is quite concerning...

I think it was quite busy yesterday as quite a few people I spoke to had problems. I don't think that had anything to do with your usage, just too much traffic on the system. Although I'm not completely sure, I'm assuming that's the case.

Wow, this was very well put. And some good points about changing old social media habits.

I would like to post, comment and like whenever I feel the need to but you make an interesting point. Perhaps it's time Social Media changed into a deeper and more meaningful experience and we put the days of random posts behind us.

Just to take this a little further, with all the 'new' front-ends bolting onto the blockchain, there are no guarantees people won't just be posting MEME's or photos or whatever.

And we can't expect them to stick to the Steemit rules of long meaning posts because some might have never heard of Steemit.

Therefore, controlling this bandwidth allocation is the only way we can control the user experience for all Steemians.

And personally, I only experience bandwidth issues immediately after a payout, and even so, it only takes a few minutes to replenish my allowance.

Upvote purchasing?
What do we think of this?

It is a way to modify the algo that is currently being used, it modifies the formula, I get that.

I think Steemit as it is, does not scale. I know that is understood. I know that Communities are on the roadmap. And the sooner the better. I think many of these things are difficult to answer until we see Communities up and running because that will change so much of the experience (hopefully) from the what it is today. I see 10 posts in less than a minute; post content is becoming a real firehose and is impossible for new users to be noticed, and they will get sick of it QUICK, so whatever can be done to patch until it can be better organized to scale, is what I like to think about.

Go make a new account on Reddit and try to post 3 times in 10 minutes and see what happens.

Bandwidth limits are sane and good to have for many reasons. I think the UX could be improved by telling users what is going on and an estimated amount of time they will need to wait to post.

Currently condenser shows very technical errors in some situations. Users don't know what they mean so they feel confused about it all and quit trying.

Great post. Hopefully we see some good changes this year

Exactly. Sane measures provided user is informed what is goin on.

This is a good point, @netuoso. Giving the new users a reasonably understandable error with an estimated countdown is the least we can do. At least this lets them know what's going in, instead of maybe thinking there's something wrong going on with their account or something like that.

So good,,make your writing, dream is something that definitely get tomorrow, if we always pray and work

Ummmmm.....no.

Very good point! And easy to implement. On/off like now it's not good. At least a message when reaching 50% (or something) of Bandwidth can do the job. :)

Do you think new users should have as much bandwidth as they want?

Only if it comes with no free SP or Delegated SP.

Do you think that having users pay to have additional bandwidth after they pass a certain point is reasonable?

Not really. I think users need to know the limits up front so they post accordingly. If they need more then investing is an option.

What changes could be made to the bandwidth formula to better allocate bandwidth across the users?

I'm wondering about having an increase in bandwidth along with a 'penalty' for short posts. Such as a Title & a link. But as I write that I realize it will just chase the spammers to the comment section and not solve the problem.

I totally agree with @patrice. Investing should be something that should be stressed and make important on this platform

I think users need to know the limits up front so they post accordingly.

I agree and the community can help with this to some extent by sharing their experiences so we can all learn to get a better sense of how much usage is allowable for a given SP level of bandwidth and how much bumps up against limits.

These are very important issues to address while thinking of solutions.

steemd.com is down I guess or is working with errors as it shows 0% bandwidth and reputation score at 25 for all users.

Steemd is not updating database of steemit users there must be a glitch i was facing that too @anakur

Yep. It is still stuck.

Iv hit the bandwidth wall every day for the past week.

Yeah, I get it. I am new user with really low Steem Power and I post a ton of content. Atleast I can say that none of it whatsoever is spam.

When i first ran into this issue i was dumbfounded, but quickly did some reading and learned everything you summarized in this informative post.

Since i don't plan on buying any Steem Power, waiting is what I do.

I have noticed the bandwidth allowances drop dramatically from 12Mb right now at midnight on Tuesday EST to around 150 kb or less during the morning hours. I theorize its the incredible amount of accounts and spam bots from the Asian and Indian nations that load the system to capacity.

Then, when they are working the network is solid. There definitely seems to be a larger load on the system during the morning and mid day hours for the Eastern United States.

Oh well. Steem is for everyone!

I just started my account today. When I was about to get my official password for Steemit, the sign up page said I couldn't log in because my bandwidth was exceeded.

That was very strange to me because I hadn't even logged into Steemit for the first time yet!

After reading your post here though @biffybirdcam, things now make sense.

I probably couldn't log into the system for the first time because it was too early in the day. I most likely got that error message because the bandwidth was overworked (or pirated) by too many other accounts or spam bots.

While I understand that everyone has to work their way up the totem pole in order to get more bandwidth and to up their Steem Power, this news is still mildly discouraging to hear.

For newbies like me, the climb up the Steemit ladder will be a slow one ... but I am more than willing to be patient. I am also happy to start my 2018 journey here and can't wait to see where it will lead.

That is odd actually. Do you remember what error you got? It could have been an unrelated issue as part of the signup process.

I don't remember what the full error message said when I was trying to get in for the first time, but I'm sure the message included "bandwidth exceeded" because I ended up looking for what the term meant on Google this morning.

After reading up on the bandwidth issue, I waited for about an hour and then tried to log in. This time it worked. :)

I guess it was something fishy with my new account though. Maybe a glitch.

If I hear that it happens with more users I will open an issue. You shouldn’t be blocked from doing anything when you first open an account. That is a little ridiculous :)

My three friends all had this same issue occur. One of them decided not to Steem because of it.

They had the "bandwitdh exceeded"while simply trying to input their generated password for the first time. This WAS during the morning and mid day hours for the East Coast TimeZone of US.

Bandwidth limit is a similar mechanism like fees in the Bitcoin system.

It prevents a finite resource being exploited. (Tragedy of the Commons)

Though I question the longer-term viability of a platform where reward-pool gaming is trivial and rampant. No promotional campaign or UI fixes will mediate that.

Excellent article. I was looking for it 5 months ago, when I started and I had problems with bandwidth. You did a very good job - writing this article, it will become useful information for many users.

Отличная статья. Я искал ее 5 месяцев назад, когда только начал и у меня были проблемы с пропускной способностью. Вы сделали очень доброе дело - написав эту статью, она станет полезной информацией для многих пользователей.

@looksfarwoman has presented an excellent answer to the first question.

At what point do you think a reasonable limit for new users to be limited?

It seems to me that the current system does this quite reasonably and balanced. If the user creates high-quality content, his bandwidth increases by itself, with the growth of the SP. Thus, user proves his usefulness and receives more opportunities in the technical plan. However, should pay attention to the fact with the recent changes in exchange rates SBD and Steem the SP growth is very slow. But, the user may at any time change the SBD on Steem to fix this "problem".

One important aspect that affects the bandwidth is that new users are writing too many posts to increase the reputation. There is a contrary belief that if their reputation is more people notice them and they earn a decent amount from the posts. This is not very true, and people need to be educated about this. So could there be something done on this ?

WE have started a charity bot called @thehumanbot to educate people and challenge people to write original and less. Its being functional for couple of months and there is a long way to go. But as a witness, do you think, there could be better solutions for this ?

It is a good question. I don't have a solution, but it is something that should be discussed.

Someone called me?

In all seriousness I think many new users either skip over the faq, or see how much other people get when they're upvoted, and try to blanket the website with comments in an attempt to get upvotes. I think by design the time spent posting in every thread possible is worthwhile for some to try and snag a few pennies worth, and if punishing such posts actually costs something to do then it will rarely happen. Also I suspect that perhaps due to which languages are spoken by high powered users then there are many who are unable to communicate in their native language in any threads that would be economically worthwhile, and so the quality of their post simply cannot be that high because it is not their primary language.

Good points. I find the language barrier very challenging for me, as you said it's very important to speak perfectly well, naturally well or unfortunately the perceived quality of your post go down to the hell. :)

Thanks for keeping us informed with the current ongoing discussions of the witnesses and the Steem dev team, @timcliff. I can see why this is a much debated issue, and I get why some of you witnesses are skeptical to increasing the bandwidth, since it could easily lead to less interest by exchanges, as well as more spam.

I don't really think new users will be annoyed by bandwidth limitations if they 1) know it's there before they hit it, and 2) they are able to preform a reasonable amount of transactions before they hit the limit.

About how many transactions would a brand new users have to do before getting limited?

That last part is a really important question. Unfortunately the answer right now is we don’t know. It depends on a lot of factors, and it changes.

Defining what the limits are is a really important part of this to get right IMO.

Oh, that makes it really complicated then. Would it be possible for someone to create an app/website that could display something like "current number of available transactions"? Or is this a metric that is too complex to display in such a manner?

I believe it is too complex with the current rules unfortunately. That is one of the biggest problems.

Ah, that's unfortunate! Would this be something that could be changed/"fixed" at one point? Because I believe we would solve a very big part of this problem if we were able to tell exactly for many transactions a user has left.

Generally, you can see this if you go to https://steemd.com/@[your username]
Right now it's flaky but I have always relied on it to keep tabs on my bandwidth and VP

Ah, that's good to know. Maybe it would be possible to display this for those who run out of bandwidth in the Steemit UI, so they know what's wrong.