In 2017, the cryptocurrency rage reached to the highest point when Bitcoin surged to USD19,783, many speculators and miners started to invest an enormous amount of money into mining hardware and chips hoping to get on the craze. Cryptocurrency mining was originally designed to be doable with general-purpose computers. Yet with the increase in competition to the limited resources, miners have been seeking an effective way to improve their chances.
Application-specific integrated circuit chips, known as ASIC, has taken over the mining market since. ASIC are chips that are designed with a singular purpose. For cryptocurrency mining, these chips are built into specifically designed motherboards and power supplies to efficiently solve a specific algorithm. Each cryptocurrency has its own cryptographic hash algorithm and ASIC hardware are designed to excel at calculating that algorithm, in the case of Bitcoin, ASIC hardware is designed to calculate the SHA-256 hash algorithm.
However, in 2018, the bearish performance in the cryptocurrency market has put them in a difficult situation. Though with better performance comparing the general-purpose computer using GPU or CPU cards, there is a limited room of adjustment for the ASIC hardware. ASIC miners were seeking ways to deal with their machines and spaces they rent for running the mining machines. In contrast, GPU miners can easily adapt to new PoW algorithms and tokens due to better compatibility with different hash algorithms (in the cost of performance). Furthermore, the emerging of Cuckoo Cycle algorithm sheds light on the GPU mining to compete against the ASIC miners.
What is Cuckoo Cycle PoW algorithm?
Cuckoo cycle is one of the most promising ASIC-resistant PoW algorithm created by Dutch computer scientist, John Tromp. Cuckoo cycle was originally applied as a measure to prevent email spams.
The email sender has to perform a certain amount of work that consumes computational power to prove that he does have the need to send out the email to the recipient.
Yet, with its unique design, it sees fit for GPU mining. It focuses more on memory use, meaning the solution time is bound to memory bandwidth rather than the raw processor or GPU speed. Unlike other PoW algorithms that requires maxing out the capacity of your hardware that drains a lot of power which produces heat (which is why most mining factories are located in colder locations/or locations with cheap electricity that can turn A/C on 24/7), a memory-bound algorithm like Cuckoo cycle require far less energy than most other GPU, CPU or ASIC-bound PoW algorithms.
The most up-to-date implementations and findings can be found on his GitHub.
Difference between the Cuckoo Cycle PoW algorithm and the SHA256 used by Bitcoin?
The SHA256 used by Bitcoin is a simple and pure hash function. The computational process of the solution is easily migratable from the CPU to GPU, FPGA, and ASIC.
Cuckoo Cycle is a graph theory-based algorithm. It tries to find a fixed length L ring in the Cuckoo Cycle bipartite graph randomly generated by Siphash. As the scale of the graph increases, the L value increases and becomes more difficult to find a ring that fits the length of L. Solving the solution (i.e., the process of finding a loop) itself requires a relatively large amount of memory to store the sorting of data.
The Cuckoo Cycle algorithm is resisted to ASIC chips. The difficulty and cost to make Cuckoo Cycle compatible on ASIC are much higher than the SHA256 of Bitcoin. It is possible to reduce the anti-ASIC capability by deformation and become an ASIC-friendly algorithm, but it is also possible to further improve its ASIC resistance through deformation as well.
For example, CuckAToo algorithm simplifies and discards the binary end of nodes in the bipartite graph which greatly reduce the difficulty of the solution. However, if all the nodes in the bipartite graph are grouped where all the nodes in the group have mutually dependent relationships, it is necessary to calculate the hash of all the nodes in the group. The difficulty of the solution and the requirements for data cache are then greatly increased. This transformation of Cuckoo Cycle is called CuckARoo algorithm.
Projects using the Cuckoo Cycle algorithm
On the official Cuckoo Cycle GitHub page, a list of projects using this algorithm was announced including AE, Grin, and Cortex.
AE, also known as æternity, is a new blockchain technology, designed to deliver unmatched efficiency, transparent governance, and global scalability. Minerva Mainnet upgrade(2.0.0) was released a couple weeks ago. AE has a total of 254,396,431 AE and aims to boost 1,000 TPS.
Grin is currently live with its mainnet. Grin uses the Mimblewimble protocol to improve scalability and privacy. It empowers anyone to transact or save modern money without the fear of external control or oppression. Grin is designed for the decades to come, not just tomorrow. Grin wants to be usable by everyone, regardless of borders, culture, skills or access. Grin does not have circulating limit, which means that there is no limit on the total amount, and 60 Grins are mined per minute.
Cortex is building something unique and original. Cortex aims to create a decentralized AI autonomous system that continues to expand the performance boundaries of smart contracts, allowing smart contracts to be actually smart with AI algorithms. In Cortex’s AI on Blockchain ecosystem, AI model developers, AI DApp developers, miners, and users can be linked together through public blockchain to create more AI DApps with real-world use cases. It also help stimulating more high-quality AI models to open source through the tokenomic model and incentive mechanism, which helps to democratize AI research which often led to concentrations of power and money. This is a new AI on Blockchain ecosystem that is independently governed by AI smart contracts. Cortex follows the four-year halving mechanism of Bitcoin. The total amount of CTXC mined through PoW is 150 million, and the first four years yields 75 million, which is halved every four years. Currently, the TestNet is live and the first AI DApp are live.
Grin and Cortex's take on ASIC
Grin uses CuckARoo (anti-ASIC) and CuckAToo (ASIC-friendly) algorithms in parallel where 90% of Grin is mined by ASIC-resistant CuckARoo and 10% of Grin is mined by ASIC-friendly CuckAToo. This ratio will be adjusted every six months to the point that will fully adopt ASIC-friendly CuckAToo.
In contrast, Cortex’s goal is to try to establish an environment where any AI equipment or conventional hardware already owned by everyone to be able to mine. Based on this goal, anti-ASIC is a firm belief in Cortex. The reason for this is that Cortex hopes to allow the mining machine investors in the Cortex ecosystem to have better general-purpose computing capabilities and lay the foundation for the future large-scale AI computing demand market.
Cortex has released a full version of the TestNet which is already using a version of Cuckoo Cycle for consensus mechanism. The AI smart contract feature has also been deployed. The first fully available AI DApp has been created on the TestNet. The development progress of the MainNet is working in progress according to the roadmap, which will be launched in Q2 of 2019. The launched of Cortex MainNet will bring a new wave of not just to AI developers and DApp developers but also to GPU miners.
Cuckoo Cycle is the newly emerging Proof-of-Work algorithm adopt by many projects to establish a friendly mining environment. It generates random bipartite graphs from a provided message and tries to find whether a subgraph with required property exists or not. Different projects have their objectives using Cuckoo Cycle. The algorithm itself has a relatively high anti-ASIC capability and can be modified into other algorithms to adjust the anti-ASIC capability. For Grin, Cuckoo Cycle was used to mitigate against the Bitcoin-style “hardware arms-race” by making it ASIC resistant. For Cortex, it is to lower the mining requirements to lay the foundation for future scalability in AI computing demand market. Cukoo Cycle and GPU mining will lead us to a better mining environment where anyone can be a part of.