Shard stall

Right now, stalled nodes still enter committee. They just do not tally votes in the Node Monitor tool. When slashing is enabled, this will be important because Nodes that don’t maintain a vote percentage of 50% during committee will be slashed. But for now, stalled/not-stalled do not affect the ability of Node to enter committee. I’ve personally had several stalled Nodes in committee without issue.

The node wouldn’t fall out of pending. The pNode I used for this post has been in Pending since early this morning. I deleted the shard chain info this afternoon and started a new sync from scratch. It’s still syncing and still in Pending.

3 Likes

Hey @duc as @fitz_fiat said, I now have 4 nodes pending that are all stalling. I’m still a bit confused as to why resetting them would fix the stalling issue if he reset them all after you guys pushed the update. Did you push another one after that? They should all be running on the newest code, and there should be no issue then.

Shard 6 909062 16 hours ago (stalling)

Shard 6 909062 11 hours ago (stalling)

Shard 6 1003289 stalling

Shard 2 433077 a day ago (stalling)

image

Well … some 20 hours later and my pNode has (again) fully synced the beacon chain and has (again) stalled on block 169583 in Shard 0.

This shard stall is not due to a mix of old shard data and the new flow code, at least in my case. Something else is preventing the sync or block insert at that height for Shard 0’s chain.

I have multiple nodes stalled on block 169583 in Shard 0. All data was recently refreshed.

Also, on the Infura dashboard, it still says zero requests but I have the key attached to multiple nodes. Any ideas?

image

Check your Node. My stall … unstalled for Shard 2 sometime in the last few hours. I did NOT delete chain info on this Node either.

I want to get see if I can get clarification, just to make sure I am understanding and I didn’t miss this comment on one of the many post about the updates for slashing and pNodes.

My current understanding is that slashing goes live in June, and if your node (p or v) doesn’t meaningfully contribute to committee it will get slashed and unstaked.

Does this mean, that pNodes will get unstaked and not have the ability to get the funded stake back?

I definitely understand the need for slashing, but I am a bit concerned that with the random selection process, there really isn’t enough time to test (and retest) if a stall/sync issue is fixed/resolved/still exist on pNodes… especially if you have one of those 30+ day dry spells waiting for selection…

This isnt a huge deal for vNodes, as you can just restake… and probably not a huge deal for pNodes if you can get the funded stake back, but I just wanted to get clarity on this… as I havent found the specific answer on this… which I could have definitely overlooked, through the multiple post I haver read about getting pNodes set up with new firmware, node monitor, etc.

3 Likes

Great question. I have been wondering this myself.

2 Likes

Thank you @doc for asking the question…I have 3 pnodes myself all with funded stake at this time and well I wonder if they were to get slashed what will happen to the funded stake on them…will it be reinstated since I took no action to unstake them, to begin with?.. :sunglasses:

1 Like

Corey – great questions. I’ve been asking some of the same things for a while now, more so in the past few weeks. This is a topic you’ve been on since last fall.

June was clarified to be a tentative date; not a hard deadline thankfully. However there has not been any further timeline update since, but I do hope the issues arising from this weekend’s changes will help push the date back until they are fully resolved.

That’s more or less the reality that, IMHO, has not truly sunk in for many pNode operators.

The stated position appears to be that every pNode operator must have enough PRV or enough funds to buy the requisite PRV to privately stake their pNode.

Of course that’s certainly not the case for any solo pNode operators. I estimate it would take 4-6 pNodes earning since the Genesis block to produce ONE stake of 1750 PRV. The move over the weekend to a Pending phase that will eventually reach 1 week seriously compromises any kind of meaningful reward potential going forward.

With the new approach, it is quite conceivable that unlucky Nodes may go 2-4 months without earning. The protocol adjustment has swung wildly out into left field, far overcompensating for slow syncs. An adjustment to 1-2 days max is all that was needed.

1 Like

@Mike_Wagner so you are telling me that those of us whom have Funded pNodes at this time that were to suddenly be defunded due to slashing then would be unable to recover that funded status for the slashed pNode even though we had no doing in unstaking or unfunding the pNode to begin with and it happened due to slashing…am I reading you correctly on this then?

Thanks for the reply, I do understand their policy change and the thought process around it… but this does feel a bit different. IMHO, it is different if I physically unstake my node, or am unable to keep my pNode is a proper environment to allow it to meaningfully contribute to network/committee… it is something completely different if my pNode gets slashed because we are working through bugs. Which I also completely understand happen and have to be worked through, but its different when on a testnet or no financial penalty is being felt while working through those bugs. Having a user now need to pony up 1750PRV (~$3,500 at time of writing), seems very different… and if a validator has to wait for a random selection process to verify their pNode is functioning properly… it seem pretty difficult to meaningfully test and validate.

Hopefully, as you suggested the timeline for June will not be hard and fast, and more consideration will be given on providing ample time to work through these issues.

1 Like

Once more may I state that the price of PRV has gone up since the genesis block was created…and well since the inception and creation of the pNodes…I mean 1750 in PRV a year ago was not what it would cost at today’s prices…so yea…I can say that staking a PRV back then was a much more easier and feasible thing to do as compared to today

Hey guys, I do really understand your concern about a pNode may not participate in funded staking aid if it gets un-staked for some reasons. There are two cases of un-staking:

  1. A pNode owner un-stakes physically and then re-stakes by his/her own funds in order to earn 100% of rewards. We would not support re-staking with rented funds for this case if he/she wants to go back as noticed earlier.

  2. A pNode gets slashed. We’re working on a way to distinguish this from the (1). If a pNode falls into this case (a.k.a unstaked because of slashing), it can still re-stake with rented funds as usual.

7 Likes

@duc Thank you for the much appreciated clarification!

1 Like

Thanks @duc ! That is very good to know.

1 Like

Apology for delayed response @duc…but indeed a very very grateful and thankful and enthusiastic response on my part to your post… :sunglasses: :100: :+1:

@Mike_Wagner, I’m looking for @duc to confirm this, but I think the move for more pending slots is with the idea of releasing all the slots. Currently I see anywhere between 128-152 nodes in pending slots on each shard. That is an incredibly long time to wait at the moment since they are only swapping out 5 at a time. When they release all the slots, they will be swapping out 32 at a time. Bringing the epoch pending time down to 4-5 epochs (less than a day) depending on how many nodes in front of you dont sync properly. Am I right here @duc?

Another weird thing I just encountered was I had a pending node that went into committee. During that, it stated 2 epochs before it went back into pending (instead of back to waiting). It just finished committee and indeed went back to pending. I’ve never seen that before.

Screen Shot 2021-05-19 at 9.14.17 AM

2 Likes

It is true the pending pool will need to be much larger to support all 32 slots as fixed slots are released. However I based my statement on this private chat with support earlier this month about fixing pNodes with Vote Stats of 0%:

image

I’ve been watching the same thing since the new rules went into effect on Saturday. I think it could be a symptom of a bigger issue though.

The waiting pool is no longer being shuffled. At all. Previously – at the beginning of each epoch the nodes in the waiting pool were shuffled. Later in that same epoch, 32 randomly selected nodes from random, non-sequential positions were pulled into the 8 shard pending lists. A node’s position in the waiting list did not factor into when a node moved to a pending list. A node in position 1 was just as likely to enter a shard’s pending list as the node in the very last position or any random position between.

If you searched for your node(s) by the BLS mining key each epoch, you would see the position in the waiting list change every epoch.

However now the waiting pool appears to no longer be shuffled. A node will now stay in the same position relative to the nodes immediately before and after it in the list. And nodes are now pulled only from the top of the list, not from random, non-sequential positions.

Here are the last five nodes in the waiting pool of Epoch 3479.

image

Here are the same five nodes in the waiting pool of Epoch 3480. Same order, just moved up a few positions.

image

Here are five nodes from the middle of the waiting pool in Epoch 3479.

image

And here are the same five nodes in the waiting pool of Epoch 3480. Again – same order, just moved up 50 positions.

image

Not shuffled. Moved up 50 index positions. And not shuffled.

Finally here are the five nodes at the top of the waiting list for Epoch 3479.

image

And here are the same nodes, after nodes are assigned to the 8 shard pending lists in Epoch 3480.

image
image
image
image
image

Each of those 5 nodes has moved to a shard pending list in Epoch 3480. Clearly no longer “SELECTED AT RANDOM” as the list header states.

One of my nodes has had the misfortune to be in the very last index position when the new rules went into effect. It has remained at the back of the list since this weekend. Based on the above observations, it could only enter the waiting pool committee once 99.5% of all nodes are already in the waiting pool.

As for your observation – it does appear nodes exiting committee are returned to the top of the list of nodes in the waiting pool where they immediately move back into the pending pool. Nodes being added to each shard’s pending list seem to be a mixture of nodes just released from committee AND nodes from the waiting list.


And to further complicate things, I think the new unstaking flow is broken. Before the weekend update, it was easy to see the new unstaking flow in action for new Unstaking Requests. Unstaking Requests were fulfilled about 2-3 hours after being submitted. Here 9 nodes submit Unstaking Requests which are fulfilled about 2.5 hours later.

image

However now we can see that Unstaking Requests are not being fulfilled in such a timely or orderly manner.

image

The 7 requests appear to be eventually fulfilled, albeit at random intervals not commiserate with submission requests. This also assumes that all these Unstaked transactions correlate to the shown Unstaking Requests and not any of the ~45 v.1 Unstaking Requests still waiting for committee selection to unstake.

image


It does appear something well beyond “longer time in the pending pool” has significantly altered the way candidate Nodes flow in the waiting pool, pending pool and even affects new v.2 Unstaking Requests.

6 Likes