Gridcoin Leisure Update 3.7.10.0 Released
This release fixes a newly discovered cause of forking that was not revealed in testing. Although it is a leisure, please update to this version if you want to get in sync!
Download the update from GitHub here.
The Windows MSI can be downloaded here.
Note that the in-wallet upgrader is still not working at this time. Please do not upgrade from inside the wallet!
Here are the release notes:
Fixed
Fix sync issues due to beacon age checks, #1003 (@denravonska).
Thanks to @ravonn for the quick fix.
I will add some detail to barton26's comments. A number of testers including myself did numerous, and I mean numerous sync from zeroes and sync from snapshots in the course of the run up to the 3.7.8.0 and 3.7.9.0 releases to shake the bugs out. This particular error got by us because it is a very subtle timing problem relating to the validation of beacons.
Beacons are only valid for 6 months from when advertised in a beacon transaction. They can be (and are usually auto) renewed at 5 months.
When a node is in sync and stakes a block and it is communicated to the other nodes the receiving nodes evaluate the block to see if it can be accepted. The nodes use local node time to do this, and in this situation the block height time is essentially equivalent to local client time, with some very minor slop.
That is not the case during a sync. During a sync, when the client evaluates accepting a block that was, say, two months back, the current time of the client is two months in the future compared to the time of the block. This is where the problem was. A test for beacon expiration during sync was using the current client (local) time, instead of the time of the block staking. If the beacon expired between the block time and the current time, the test using (incorrectly) local time then caused the beacon to be treated as expired... leading to an incorrect calculation of research reward and a rejection of the block... leading to the problem we were having. As time diverged more and more from the release of 3.7.8.0, more and more beacons were starting to fall into this time difference... causing new sync errors to crop up.
This is now repaired and we have tested sync from zero and sync from various snapshots on mainnet and everything appears good.
You just planted 0.44 tree(s)!
Thanks to @barton26
We have planted already 5660.66 trees
out of 1,000,000
Let's save and restore Abongphen Highland Forest
in Cameroonian village Kedjom-Keku!
Plant trees with @treeplanter and get paid for it!
My Steem Power = 20706.15
Thanks a lot!
@martin.mikes coordinator of @kedjom-keku
Thank you for that writeup @jamescowens, in my rush to get this posted as quickly as possible I went with the condensed version (heh).
I would also like to thank all of the testers who worked with the dev team during these last few weeks as we tried to find the "needle in the haystack" at the root of this forking problem. Without your help this release would not have been possible.
Thank you for your hard work.
This post was upvoted by Steemgridcoin with the aim of promoting discussions surrounding Gridcoin and scientific endeavors.
This service is free. If you want to help the initiative, feel free to upvote this comment.
Have a nice day.
Disclaimer: This account is not associated in any shape or form with the official gridcoin devs team.