RE: HIVE isn't as decentralized as I previously thought!

avatar

You are viewing a single comment's thread:

Let's say for example there is a network outage at a Amazon Datacenter or even a CloudFare outage and the top 20 Nodes are taken offline. Well Hive still needs to run so it is going to look to pull up some people from the B league to fill in. If you wanted to buy some tokens or send them or post/comment/edit articles on HIVE, would you want Node #102 by Skatehive to immediately step up and start producing blocks? I wouldn't, because it is 17 hours behind on blocks. That is scary.

Lots of misunderstandings about how block production works here. Let's tackle them.

First, not all of the top 20 witnesses use Amazon Datacenter to host their nodes or rely on CloudFare services. Then, when you are a top witness, you often have a backup node that should be in a different physical location and ideally with a different internet provider if your witness infrastructure is properly designed. At least that's what I expect from them.

But let's imagine that, like in your scenario, the worst happens, and the entire top 20 is out of service.

First of all, the fact that the skatehive node #102 has not produced a block for 17 hours does not mean that it is 17 hours behind on the blockchain!
All nodes that are running (properly) are constantly synchronized with the blockchain. They are simply waiting to be assigned to produce a block. This happens every minute for the top 20, and for backup witnesses, the higher you are in the ranking, the more regularly your node is called upon to produce a block. There is no delay in the time it takes for a backup witness to produce a block, regardless of its rank and regardless of how long it has been since it produced its last block.

You can look at the block production process in real time on the page I created for: https://hive.arcange.eu/schedule

So back to your catastrophic situation, what would happen?
Every 63 seconds, a new round of block producers is scheduled, with the top 20 witnesses + 1 backup witness (the top 1 on the right pane list on the above-mentioned page). As all the top 20 nodes are down, only the backup witness would produce a block.

The main effect would therefore be the slowing down of the blockchain to ~1 block per minute rather than 1 block every 3 seconds.
Another effect would be transactions being dropped because there is no more room for them in the only block that is produced before they expire.

To sum up, I don't find the state of the witnesses ranking and their node state scary at all and I don't think that block production isn't decentralized.
On the other hand, I agree with you that participation in (good) governance is important and that we should all regularly review our witness votes. But I'm not going to go over again the reasons why this isn't always the case. You already did that in your post.



0
0
0.000
3 comments
avatar

1st of all, thank you for kindly pointing out how my understanding was incorrect and thank you for explaining it!

2nd of all, your site is way more detailed and easy to read then others. It is already bookmarked :)

(also my analogy with AWS and CloudFare was too extreme but just wanted to come up with a worst case scenario type situation, but totally agree not everyone would be using those services if any, give IOPS and such for AWS)

First of all, the fact that the skatehive node #102 has not produced a block for 17 hours does not mean that it is 17 hours behind on the blockchain!

This was not how I interpreted the data I was seeing but now that you point this out I can see what you are saying and that makes more sense and is more comforting then I originally thought.

So yes it's not as bad as I originally thought, however I guess my own assumptions at how big HIVE was and there by should have "thousands" of Nodes was ignorant. I do wish there was way more active Nodes then there are. Also would love to see the data on where Nodes are located even if it's just 'this many in this country, and that many in that country'. Time to google some more :)

Thank you Arcange!

0
0
0.000
avatar

Hive consensus is OK, it would be much better if it followed BFT or GRANDPA principals

0
0
0.000