Over the weekend, we released an important update to Particl Core which fixes an odd bug regarding staking nodes falling out of sync.
The update successfully patches the issue and is now available for all currently live Particl Core versions. We highly recommend updating your node as soon as possible to avoid any potential staking issue.
Get Started
- Particl Core 0.19.2.22 download link: https://github.com/particl/particl-core/releases/tag/v0.19.2.22
- Particl Core 0.21.2.11 download link: https://github.com/particl/particl-core/releases/tag/v0.21.2.11
- Particl Core 22.0.3.0 download link: https://github.com/particl/particl-core/releases/tag/v22.0.3.0
To see an in-depth description of what this update fixes, refer to this link.
What Happened?
A rare bug occurred around mid-week last week in which some staking nodes, including one staking pool, were knocked off the network and thrown into a fork.
Typically, Particl Core functions so that a block index is added for an invalid block to prevent nodes from trying to redownload the same block from other peers. The failed block index is then added to m_failed_blocks
β a record of failed blocks maintained by the node β and remains in there even after the block index is removed from the blockchain to prevent DoS issues.
When the next valid block is staked, it is assigned the same block index as the removed block index still in m_failed_blocks
because the blockchain only verifies m_failed_blocks
when blocks arrive out of order, not knowing this specific block index is already in use.
Thus, after the node processes a group of blocks following an invalid block, it detects a false positive in m_failed_blocks
and refuses to follow the valid chain, instead spawning a new fork. As m_failed_blocks
only exists in memory when the node restarts, the chain can sync past that fork.
This update fixes that issue by properly removing the block index from the m_failed_blocks
.
How to Check if my Node was Impacted?
The best way to check if your node was impacted is to verify at what block it is currently staking. If your staking node's current block number matches that of Particl's explorer, then your node hasn't been impacted.
If it shows a different block number, then it is likely stuck to an odd fork and isn't staking on the right chain anymore.
How to Fix my Impacted Node(s)?
- For individual stakers: Simply update your Particl Core version, restart your node, and run the
clearbanned
command. - For staking pools: Update your Particl Core version, run a fresh syncing process in observer mode, then switch to the master branch.
Note: In some rare cases, you may need to restart your node more than once until it syncs back to the correct chain. Running clearbanned
should, however, cleanly get you back in sync without having to restart your node multiple times.
What's the Impact of this Bug?
The impact of this bug would usually be relatively small, preventing affected stakers from receiving staking rewards until they get their nodes back in sync. Unfortunately, this time the issue happened during an on-chain voting period.
As a result, we expect this voting round's participation rate to be significantly lower than what we typically see in other votes because a number of large nodes and one staking pool were knocked off the network momentarily.
Still, the current vote is already well over the required participation rate threshold, meaning that its outcome won't be negatively impacted by this bug.
As always and especially this time, we strongly recommend updating your Particl Core node(s) as soon as possible. Although this issue may be very rare, it does impact the stability of the network and gets more problematic when on-chain voting rounds are ongoing.
Particl is Participation
Get recognized as someone that cares. With your help, we become more noticed out there. It takes seconds, and you are making a statement by giving us a follow and hitting the bell icon.
YouTube Twitter Mastodon Reddit
Join the instant messaging chats. There's no need to be active, but itβs good to be in the loop.
Discord Telegram Element / Matrix
Gain deep knowledge about Particl by reading.
Last but not least, a list that shows an infinite number of links clearly categorized and on one page.