Skip to content

v4.23.69

Latest
Compare
Choose a tag to compare
@ReverseControl ReverseControl released this 08 Jun 22:19
· 13 commits to main since this release

This releases fixes a template block bug. There was a logic error in the left shift function of the uint1024 class that only shows up when the difficulty level is +1/+2 more than a multiple of 64. Currently the difficulty is 257. The template block function creates a place holder number of the right expected bitsize for any prime factor that solves the block so that miners are rewarded accordingly after they solve the block. Should this number not have the expected bitsize for any reason, the blockchain will reward zero coins as a defensive mechanism (See #23 ).

The bug was in the left shift operator performed on this place holder number to get the right bitsize. This bug was observed yesterday afternoon, but it began yesterday morning at block height 18144 where the first block of difficulty 257 was mined. The expected prime factor size of 129 for the place holder number was observed to have a value of 193. Here are all the values for which this bug would occur:

 Expected: 1   Actual: 65    <- Below lowest difficulty of mainnet
 Expected: 1   Actual: 65    <- Below lowest difficulty of mainnet
 Expected: 65  Actual: 129   <- Below lowest difficulty of mainnet
 Expected: 65  Actual: 129   <- Below lowest difficulty of mainnet
 Expected: 129 Actual: 193   <- Observed yesterday
 Expected: 129 Actual: 193
 Expected: 193 Actual: 257
 Expected: 193 Actual: 257
 Expected: 257 Actual: 321
 Expected: 257 Actual: 321
 Expected: 321 Actual: 385
 Expected: 321 Actual: 385
 Expected: 385 Actual: 449
 Expected: 385 Actual: 449
 Expected: 449 Actual: 513
 Expected: 449 Actual: 513
 Expected: 513 Actual: 577
 Expected: 513 Actual: 577
 Expected: 577 Actual: 641
 Expected: 577 Actual: 641
 Expected: 641 Actual: 705
 Expected: 641 Actual: 705
 Expected: 705 Actual: 769
 Expected: 705 Actual: 769
 Expected: 769 Actual: 833
 Expected: 769 Actual: 833
 Expected: 833 Actual: 897
 Expected: 833 Actual: 897
 Expected: 897 Actual: 961
 Expected: 897 Actual: 961
 Expected: 961 Actual: 965
 Expected: 961 Actual: 965

This issue has been corrected and tested for all the expected bitsizes at every level. All miners who mine blocks at difficulty level 257 before it gets to 258 will be rewarded the coins they have earned unless they waived this right. So far, the breakdown is as follows:

fact1qrq9jz638mrxlucludwa8jj4rgg0l85au6x0dd8 :  32.89946079258

Sometime next week this wallet (plus any other that show up at this difficulty level affected by this bug), which received 0 coins as rewards, will be rewarded what they should have been rewarded by the system from coins I have mined myself.

Note 1: This will only be done for blocks mined at difficulty level 257 before it gets to 258. You should nonetheless update to the latest node version.

Note 2: For miners who do not update you will continue to receive 0 rewards for difficulty level 258 but will start getting the rewards as they should be beginning on difficulty level 259.

File hashes:

f6b5592e5e98b6bab5d92c31c9f6c8a64cab56cc71455332357cf2fba8778f05  factorn-f597273f3bdc-x86_64-linux-gnu-debug.tar.gz
de8f42d2d481aa3711f4a4e23c17b2c334e4e63ccd2a6be8046d1ffedd6f5bd1  factorn-f597273f3bdc-x86_64-linux-gnu.tar.gz
0b9361d52dcf0d4be791cb8e56deb450861d954b9d4c8f8e5180a6f3e11d3188  SHA256SUMS.part