Gridcoin Github: Forking due to beacon checks
tomasbrod has posted a new issue on the Gridcoin Github which is a continuation of a previously posted issue from a few days ago:
"I came to conclusion that most forks after the v9hardfork were caused by false detection of bad beacon contracts. If a beacon contract within a block is detected as bad, the block is rejected.
The validation of beacons is, I believe, correct, but it operates on inconsistent data.
When reorganizing, the "Admin Messages", where contracts are stored, are incorrectly reloaded. This causes messages included on a fork, persist in memory structures even after that block was removed during a reorganize. Connecting blocks will fail, because the wallet now thinks the contract is duplicate. The client will get stuck on the block, starting yet another chain fork." - tomasbrod on Github
My question is, are the current forking issues attributed solely to the use of the reorganize command? Should we simply refrain from using it until the next release and instead try to rebuild the complete block chain using Rebuild Block Chain in the wallet if we find ourselves on a fork?
Should we also consider the possibility of removing the reorganize command (temporarily) if this is currently the main issue behind causing new forks?
Thanks to anyone who can share some insight.
The problem was the reorganize command in itself. Reorganize is used by the client to switch to a stronger chain. The problem was that there was an old bug which did not forget contracts (beacons, polls, votes etc) when detaching blocks from the weaker chain. Previously this just left the node in a goofy state but with the stronger beacon checks in V9 this caused nodes to start forking instead.
We have tested @tomasbrod's reorganize rewrite last night and so far it's looking good.
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://github.com/gridcoin/Gridcoin-Research/issues/893
a very cool post my friends happy to know you @donkeykong9000
It is good thing yet I am beginner in this fieeld. Gridcoin is great thing and I. I m starting learning about this .