Author

Topic: Catcoin & minimum block times (Read 337 times)

full member
Activity: 213
Merit: 100
April 10, 2024, 01:05:52 PM
#2
Ten years later, Catcoin is still going strong, and (April 9, 2024) just had a peak of 360 gigahashes, still with a wallet not updated since 2017.

The PID adjustment protocol is working well to cope with a sudden increase in hash.

For anyone curious, there are multiple "Catcoins" out there, but all of them I have seen came out way later. This is the original or oldest remaining Catcoin, having been released only a couple of weeks after Dogecoin in 2013.

There is an unofficial informational website with an AI chatbot, that can answer most of your questions, for those curious, https://www.catcoin2013.org.

sr. member
Activity: 271
Merit: 254
July 12, 2015, 01:22:30 PM
#1
So some story time is in order here.

Back in early 2014, gpu mining on litecoin stopped being fun anymore, and there was Dogecoin. My first thought was "wow, shouldn't there be a catcoin too?"

Well by the time I figured this out, a few hundred other people also figured it out and there was https://github.com/kR105/catcoin.

But this new coin had a problem. It used a 2016 block adjustment and the insta-miners showed up and clobbered it so there are lots of 1 second blocks until the difficulty adjusted, and miners went on to other naive altcoins. So a group of people who, at this point, knew very little about crypto or coins got together and argued and came to a consensus to release a version of Catcoin with a new PID (proportional-integral-derivative) control mechanism for difficulty adjustment. Shortly thereafter we found bugs and had a forked blockchain, and in the rush to get it working again, I released this:

https://github.com/CatcoinOfficial/CatcoinRelease/commit/0d03a5b3d8bb7bc3c935e7196c5d807da997cf9c

The interesting stuff is a check to ensure there is always a minimum time gap of 30 seconds between blocks.

What I managed to not really think about until just now is that this sort of a change to the blockchain consensus rules needs... well, better consensus and discussion. The result of this rushed change is that as soon as it got deployed, if you happened to get lucky and find a block in 10 seconds, you got a nice big fat REJECTED notice. This 'feels' like getting cheated because it's like winning the lottery only to be told "no, we don't actually accept those winning numbers if you buy a ticket too soon".

The proper thing to do is update the 'mintime' fields in the stratum protocol, so the miners never generate invalid blocks, something like https://github.com/catcoiner/catcoin/commit/14862b19e243520f0b9d809647b5a1db6723a9d6

So fast forward to today, and the CatcoinOfficial group has released a new hardfork upgrade without the minimum block time. Also included is this which, when combined, seem to me to be an invitation for a motivated individual or pool to write custom miner code that controls the miner timestamp selection for the block hash, this giving that miner the ability to select what difficulty adjustment will be used for the next block.

There's really two issues here; minimum block times, and selecting a difficulty adjustment based on the miner-supplied timestamp. I would rather focus on the first issue, and if this might be a relevant improvement for other chains, and if any other blockchain has tighter constraints on timestamps than bitcoin does.
Jump to: