Solving Onboarding Issues For Steem: What is the Network Capacity of Steem & What Options do dApp Operators Have When Growing Their Userbase?
A few people have asked me to comment on the capacity that the Steem network has for growth and how many new users it can sustain. Initially, I didn't have a good answer for that so I did some digging.
The concern was that if dApp creators sign up, say - 1 million users - in a short space of time, that maybe the blockchain would start to fail. The thinking was that there had been issues in the past due to high volume of transactions, however, I personally don't remember that happening - I only remember glitches due to changes that were needed in the middleware layer of the system.
In any case, I spoke to David Jefferys (@birdinc), the business development manager at Steemit inc. - and he reminded me of the stat that says that Steem is only operating at a tiny fraction of it's overall capacity. I had heard this before but wasn't sure how it was arrived at since as a witness I had never heard anyone discussing stress testing the network or measuring it's spare capacity.
I spoke with some witnesses and was advised to check out Blocktivity.info as it lists a table of data about blockchains that includes their current load and capacity. Sure enough, Steem is listed there at #5 in the league and the network usage is currently listed at 0.07%! Since we can see from my site Steem Ocean that around 60,000 users are active on the Steem blockchain currently (measuring upvotes), that means that we can comfortably support over 60 Million active users! Woo! That's pretty impressive and suggests huge space to grow.. But is it accurate?
I Emailed the blocktivity team, curious to know how they arrived at the figure on their site, given that the witnesses don't even have that data! I just got a reply from them:
BitShares blockchain has performed 14000 operations /sec a couple of years ago in a stress test.
Steem is greatly inspired by the technology from BitShares, it's a Graphene-based chain. As no stress test (that I know of) has been conducted on Steem and surpassing the 14000 op/sec, I use this metric. Steem being more recent surely performs at least as well as BitShares two years ago. If you know of a stress test conducted on the main chain with higher numbers, I will update my data.
14,000 7sec x 60 sec x 60 min x 24 h = 1,209,600,000 operation by 24h
Today Steem had 796,323 op which is exactly 0.07% of 1,209,600,000
So there we have it - everyone was right! There is no accurate data for Steem in the public sphere, but we do have data that should be vaguely right. Ultimately though, if I were looking to fund a multi-million dollar project on the Steem blockchain (or any blockchain), I would want to know for sure that I could onboard a lot of people without any concern for the technology's ability to support it.
Do you know of anyone that has Stress test data for Steem? Perhaps from a testnet? Realistically, the performance of Steem is not just determined by the code, it is also determined by the hardware involved and I don't have any data on how the hardware used to run Bitshares compares to that running Steem. Perhaps there is a big gap between them? Maybe you can comment here @blocktrades?
The Real Bottleneck for Onboarding on Steem?
It appears then that it is likely that the real limitation when it comes to onboarding users in large numbers - unless the accounts are purchased - may be resource credits and delegated Steem Power. If dApps are aiming to create accounts for their users via resource credits, they are going to need a heck of a lot of Steem Power to do that with the current price of creating accounts.
I discussed with @timcliff, the possibility of witnesses making adjustments to the situation here in future if needed. Our conclusion was that since the Resource credit allocation is hard coded into the system, any future need to change the rate at which accounts can be created via Resource Credits would require a patch to the Steem blockchain. I was surprised to learn that the budgets are not dynamic and do not scale in relation to the actual hardware availability on the network - this is a feature that I think we ultimately need for the RC system to be bulletproof.
Recommendations to dApp Operators for Onboarding in the Short term
If dApp operators are concerned about the network load of having a large number of users, they are able to run their own private RPC node and other hardware to ensure they can always serve their users. The other parts of the Steem network are theoretically able to take a much higher load than we currently have on the live network. If limits are exceeded, then those involved in the network will be prompted to upscale their hardware resources. If we do have a million new users, it is fair to say that the value of Steem should significantly increase and thus payouts for witnesses and everyone else should be more healthy than they are today and upscaling should not be an issue.
@oracle-d are offering a new tool to help smaller dApps onboard new users, so definitely check that out and maybe you can work with them on meeting larger needs too.
@steempassport is Coming!
The other more novel options presented for onboarding, including side-chain solutions and gamification are definitely worth exploring and I am doing that behind the scenes via my @steempassport project (plus other options that are in R&D currently). We are looking at ways to onboard large numbers of users without having to charge the users and without having to rely on somewhat scarce resource credits... More to come on that soon!
p.s. If you are interested in supporting @steempassport then please message me on Discord (ura soul#9418) - we can certainly use any delegations you may want to offer us to help us grow the project or any technical/research skills you may want to help out with. :)
Wishing you well,
Ura Soul
Vote @ura-soul for Steem Witness!
(Witnesses are the computer servers that run the Steem Blockchain.
Without witnesses there is no Steem, Steemit, DTube, Utopian or
Busy... You can really help Steem by making your 30 witness votes count!)
The whole new users only being to post 2 or 3 times a day is an issue that needs to get solved before we mention mass adoption with a straight face
That is part of what I am working on solving with the @steempassport project. The early project document outlines some of the issues involved.
Interesting... So, like other blockchains, it is scalable until adoption ces too quick to manage the onboarding? How about once here? Wouldn’t transactions have better throughout because of the Graphene technology?
I agree that this would be a problem if for a real life example, Wordpress would integrate completely into the Steem blockchain... It would be a huge missed opportunity if it becomes Ethereum in its CryptoKitty days...
Posted using Partiko iOS
All blockchains have limits based on the hardware being used to run them and other factors. It does look to me that Steem will scale effectively in the event of a large onboarding event. More accurate data would be helpful though.
It's gone up some since last I checked - was at .04%. Telling you, STEEM is the best kept secret in the cryptoverse.
Posted using Partiko Android
Hi @ura-soul!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 6.879 which ranks you at #95 across all Steem accounts.
Your rank has improved 1 places in the last three days (old rank 96).
In our last Algorithmic Curation Round, consisting of 271 contributions, your post is ranked at #13.
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server