Why This Report Matters
At it's core, the real value of the blockchain technology, and thus every currency built on it, lies in the underlying ledger. It serves as an immutable truth for all to see. In order to protect that truth, it is then decentralized and hosted by as many people as possible so that it is always available to be referenced and written to.
I'm not going to go to deep into the various ways this has been done by all the different coins, but I wanted to stress the importance of decentralization to the technology. If a blockchain is not adequately decentralized then the risk of being able to take down or impair the network grows.
Earlier this week I was wondering how distributed, and thus decentralized, the Steem network was. I did some searching and wasn't able to uncover much so I dug a little deeper and this report will outline my findings.
How does this all work again?
Before I present my results, I want to quickly cover how the Steem blockchain functions at a very simplistic level.
Basically, we have a ledger, like every other blockchain coin. You can think of that ledger like a notebook or excel spreadsheet. Every time something happens on the Steem network, it is recorded in the ledger. Every post, comment, upvote, flag, transfer, etc....
The computers that store a copy of that leger are called our Seed Nodes. They all keep an exact copy of the ledger and update it whenever new transactions are added. The Seed Nodes themselves don't actually have the ability to update the ledger though, that responsibility falls to our Witnesses.
Seed nodes can exist without witnesses, but Witnesses can't exist without seed nodes. A Witness has to be able to read and make changes to the ledger and in order to do that they have to be able to communicate with a seed node.
I make this distinction to point out that although a Witness can, and usually does, run a seed node, they don't have to. In the same way that a seed node can be run without having to be a Witness.
It's important to the health of the Steem network that we have a large number of seed nodes distributed around the globe to provide resiliency to the network and protect it from harm.
Where did the data come from?
I worked from two primary sources to form this report.
@wackou created a website that shows the status of the current nodes listed on github. You'll find the site here. This isn't a comprehensive list however and only shows nodes that have been manually added to the list. Currently there are 52 nodes listed and you'll see their status as either online or offline, who runs them and what country they're in.
I was surprised to see a large number of them offline. I assumed this couldn't possibly be the total number of seed nodes supporting our network and after digging a little deeper I eventually came across this website built by @cyrano.witness. It scans the network every 30 minutes and shows an updated list of all the current seed nodes and gives them a score based off of their uptime. The site is great but doesn't show the country for each IP so I hunted them down using an IP locator site. I only counted seeds that had a score of 100 or higher.
Here's a screenshot of what the node status site looks like
After putting it all together and crunching the numbers here's what I found.
We currently have 99 Seed Nodes spread across 11 Countries
...and here's a visual breakdown of the countries represented
Final Thoughts
We can see from the numbers that the majority of our nodes reside in Germany, France and the US. For where we're at currently, I feel Ok about the results I uncovered, but as we grow, I'd love to see the number of nodes spread out to more countries and in larger numbers.
Hopefully you found this information insightful. If you think I'm wrong in my data or have an easier way to show the node distribution, please let me know!
Hi @raised2b,
Congrats! Your post has been featured in The daily Qurator 26
I hope you like it.
Keep steeming,
Dr. TLK :D
Thank you so much for including me. I'm glad you found the article helpful! :)
You are welcome and thank you for writing a helpful article :)
Fantastic analysis, hope there's a change in the layout in the coming months. Please try doing this on at least a quarterly basis.
Thanks for the encouragement, that’s a good idea, I’ll try to make this a more regular thing.
Post it under the bisteemit tag too! There are a lot of data analysts over there who will devour such articles happily.
Thanks for researching this information and sharing in this report. So interesting to see how heavy we are in France, Germany and the US! I’ve resteemed this post and would love to see this report frequently.
Thanks, I think I’m going to make that happen.
thank you for adding the #bisteemit tag. This is a very useful analysis and to hunt down the ip addresses was awesome work. I would like to see more like this
Glad you found it useful. I was taking a look at your posts and they are awesome! Nice job pulling in locations to Power BI. I'm still in my infancy using the platform but I love what it can do.
cool post and a really good point
I personally live in Switzerland and have been thinking about setting up a seednode with witness but its the cost that is holding me back at the moment. Probably not having a big following for witness would make it so that it would be an "investment" (aka losing money) in at least the first 6 months (minimum)
I do not mind the time involved but it should be at least a breakeven thing , spending a bucketload of cash on this is not the issue
maybe if i get more steem power I can use that to finance a server
Yeah, if you don't have your own hardware laying around it's definitely a bit of investment to get a server up and going if you want to do a witness as well. My guess would be that most people are using virtual machines in Amazon or Microsoft datacenters which is why we see such a high consolidation of our nodes in the top three countries. I haven't looked into it much yet but I'd imagine the requirements to just host a seed node aren't as intense as they are for a witness.
Cost is always a factor though.
This post received a 1.6% upvote from @randowhale thanks to @raised2b! To learn more, check out @randowhale 101 - Everything You Need to Know!
@coruscate got you a $9.14 (4.0%) @minnowbooster upgoat, nice! (Image: pixabay.com)
Want a boost? Click here to read more about @minnowbooster!
The @OriginalWorks bot has determined this post by @raised2b to be original material and upvoted it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
To enter this post into the daily RESTEEM contest, upvote this comment! The user with the most upvotes on their @OriginalWorks comment will win!
For more information, Click Here!
Special thanks to @reggaemuffin for being a supporter! Vote him as a witness to help make Steemit a better place!