Debunking Myths About CNGPU
Diving into CNGPU and How it Works!

CryptoNight GPU is a mining algorithm that is used by blockchain projects like Conceal Network (CCX) and Ryo Currency (RYO). One of the main drivers behind the development of the CNGPU mining algorithm is to maintain the hashrate coming from a sole source, GPUs, by utilizing techniques that make it both ASIC-resistant and inefficient for CPUs as well. The original creators of the CNGPU were aiming to build a mining algorithm that was flexible. Some major goals would be:
- Level the playing field — To strike a balance between the two main GPU manufacturers (AMD and NVIDIA), giving neither an advantage nor disadvantage for mining on the hashing algorithm.
- Be the little blue pill — to help extend the life of older generation hardware by moving away from memory-based limitations. Each generation of cards has a substantial step up in the amount of VRAM associated with a card and memory-sensitive algos would make the older generation cards vastly inferior to the next-gen cards.
- Anyone Can Secure the Network — An egalitarian approach by making it easy for anyone to participate regardless of hardware is taken to ensure that hash rate could be contributed by nearly anyone as even the most inexpensive GPUs could contribute to securing the network.
- ASIC-Resistance squared — One important feature of how the hashing algorithm is designed it runs similarly to the way GPUs are used to solve machine learning problems and even in video games. This means that if ASICs were developed, they would all be priced out of the cryptocurrency market for a long time as cloud-based GPU farms (like what Google and AWS use) would scale and raise the price of the GPUs beyond what would be profitable even with the efficiency gains that an ASIC provides for crypto mining.

Background on CNGPU
The first instance of CNGPU was generated as the hashing algorithm to accompany the standards that were defined in the CryptoNote Whitepaper in 2013. CryptoNote and the CryptoNight hashing algorithm were originally applied to the ByteCoin project. Both CryptoNote and CryptoNight gained much more fame after they were adopted within Monero. At this time, CryptoNight in its original form was largely designed to be utilized by CPUs and maintain high ASIC resistance. While Monero used CryptoNight as a hashing algorithm, it had evolved a bit with CN-R coming from it, before others began to further develop other versions of CryptoNight. In its current form CryptNightGPU, the above design considerations are largely behind where the hashing algorithm has come from and where it is now.

Basics of How CNGPU Works
CNGPU has a couple of properties about it that give it the desired features about it. One such feature is that it utilizes floating point math at single precision (FP32). For those who have programming backgrounds, this may sound familiar, but mathematical calculations done on floating point numbers compared to integers is very intensive. This is part of the reason why most cryptocurrencies use long-form integers to represent the fractional amounts at some fixed decimal point (for efficiency). Single precision is important because it does utilize the core and its performance, giving it the desired results from the algo. Another benefit is that since FLops is a standard metric for CNGPU, you can use that as a relative scale for GPU performance on the hashing algorithm.

Debunking CNPGU Tall Tales
There have been criticisms of the CNGPU algorithm which aren’t rooted in facts and are merely driven by assumptions and/or lack of knowledge. One such misconception is that CNGPU would need further development to improve. This could be true of anything when you look at timescales, but in the way that CNGPU currently works, it is largely sufficient at doing the things it was designed to do: ASIC resistance, inefficient for CPUs, and work fairly across a variety of hardware. The principal goal of a hashing algorithm is to enable network security through PoW (Proof of Work) and CNGPU does just that. As major technology discoveries are made, of course, updates would be needed. At the current rate, this is not a problem in any scenario in the foreseeable future, and especially for a project like CCX, the developer of CNGPU (fireiceuk) is a consultant to the project and helps with core improvements to the project.
Another myth is that CNGPU is rough on GPUs. This can be true of any mining algorithm as long as the miner/owner of the GPU understands the safe limitations of the hardware and how to do overclocking properly. There are other hashing algorithms, that are perhaps more intensive for GPUs like the ProgPOW variations. Part of being a “good” miner is understanding the cross-section of OC’ing the software to the max while limiting heat and crashes to mine with stability.