Post
Topic
Board Announcements (Altcoins)
Re: [ANN] INFINITECOIN - UPDATE TO 1.8.8 visit INFINITECOIN.COM
by
HashEngineering
on 01/10/2019, 03:51:46 UTC
The block reward code is as follows:
Code:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
    int64 nSubsidy = 524288 * COIN;

// Subsidy is cut in half every 86400 blocks, which will occur approximately every 1 month
    nSubsidy >>= (nHeight / 86400); // Infinitecoin: 86400 blocks in ~1 month
    return nSubsidy + nFees;
}

The halving is every month (based on 30 second blocks).  After 64 months, the halving number appears to return to 0 based on the undefined behavior of a 64bit number being right shifted 64 bits. 

According to the C++ language, this operation has undefined results -- this means that the result could be different on different machines/CPU's. 

If there are differences this could lead to forks or clients and apps that do not sync past 5529600. 

This will require a hard fork fix on the code above.  At a certain block height in the future, this code would be modified to force the reward to be zero.