Grin’s unique dual PoW system allows for a smooth transition from GPU mining to ASIC mining, with guaranteed rewards for the secondary PoW where GPUs need not compete with GPUs. The main ingredient for its ASIC resistance is frequent pre-planned PoW changes.

Just like Cuckaroo was only active for the first 6 months, and Cuckarood for the second 6 months, so Cuckaroom will no longer be active when Grin executes its 3rd pre-planned Hard Fork in mid July.

We here unveil its successor, and final member of the Cuckaroo Family, “Cuckarooz”, named after the final letter of the alphabet.

In an earlier post I mentioned the 3 aspects of Cuckaroo that could be tweaked:

- the underlying hash function, currently siphash-2-4
- the computation of endpoints of a whole block of edges
- the type of cycle

Where Cuckarood made tweaks in 1) and 3), and Cuckaroom made tweaks in 2) and 3), Cuckarooz will merely tweak 3).

The new type of cycle should not be much of a surprise either. We’ve had undirected edges in bipartite graphs (Cuckaroo), directed edges in bipartite graphs (Cuckarood), directed edges in monopartite graphs (Cuckaroom), so what could possibly come next?

The only combination left is undirected edges in monopartite graphs, so that’s what it’s got to be. Cuckarooz graphs have 2^30 nodes and 2^29 undirected edges, resulting in an expected number of 42-cycles of 1/84, half of Cuckaroom’s current value of 1/42. This continues the fine tradition of changing the solution rate by a factor of two on every tweak:-)

So we can again expect a large drop in C29 solution rate come hardfork time, from both halved solution rate, and the unavoidable unprepared miners. As always, difficulty should adjust within a matter of hours.

In the coming month, I will implement Cuckarooz in the Cuckoo and grin-miner repos.

Happy Cuckoo Cycling!