I'm not 100% sure, but I think it's possible that our stuck chain has something to do with the bit of code meant to mitigate 51% attacks and go back 14 days worth of blocks. I know that most of the pools are gone and I'm pretty sure that mine was handling most of the network load when everything stopped. I'm still learning C, mostly by tinkering, so there's still quite a bit in there that I don't understand, but I'm able to mostly follow what the code is doing. In main.cpp I'm suspecting there's a problem in the stuff from line 902 to 1024 somewhere, particularly the following:
// TeslaX3: This fixes an issue where a 51% attack can change difficulty at will.
// Go back the full period unless it's the first retarget after genesis. Code courtesy of Art Forz
blockstogoback = retargetInterval-1;
if ((pindexLast->nHeight+1) != retargetInterval) blockstogoback = retargetInterval;
// Go back by what we want to be 14 days worth of blocks
const CBlockIndex* pindexFirst = pindexLast;
for (int i = 0; pindexFirst && i < blockstogoback; i++)
pindexFirst = pindexFirst->pprev;
assert(pindexFirst);
// Limit adjustment step
int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
printf(" nActualTimespan = %"PRI64d" before bounds\n", nActualTimespan);
Anyone who knows more is welcome to have a look and see if my hypothesis is correct, or if I'm just an idiot
I've been in touch with Comkort about the situation, so if we come up with a fix they'll get it implemented so trading can resume. I don't want this coin to die like this, Nikola Tesla is one of my personal heroes. Long live Tesla!