By Shaun Neal
Yes, I said it…not ASIC resistant, ASIC proof.
Current cryptocurrency proof of work algorithms have gone to great lengths to be “ASIC resistant” using various techniques generally involving memory capacity hardness, memory bandwidth hardness or general compute complexity though sequential hash functions or virtual machines.
Here I will present an ASIC proof algorithm which uses consensus governance in a novel way to enable GPU mining while eliminating ASIC mining entirely.
The need for ASIC resistant algorithms in blockchain
It is generally agreed that ASIC resistance is a good thing for public blockchain projects primarily because ASICs are capital intensive, not hobbyist friendly and lead to centralization by a few large miners, some of whom may be backed by nation-states. ASIC pools can band together to mount a 51% attack or may control the supply of the crypto asset in ways which are counter to the long term value of the project.
Centralization of any kind is the antithesis of a distributed blockchain, and therefore bad.
*Decred, which encourages ASIC mining, is a notable exception to this because of their unique configuration. I had several conversations with the core developers and their view is that miners are a utility to the blockchain and are simply paid for their services. Because DCR uses a hybrid POW/POS security scheme they do not suffer, as much, from the decentralized nature of ASIC mining.
The need for GPU mining in blockchains
There are some algorithms which have gone one step farther and designed in GPU resistance, such that only CPUs can mine profitably. This leads to a different type of centralization, which I predict ETH 2.0 will also suffer from…cloud hosting. If AWS/Azure/Google cloud hosting CPU mining is profitable, all of the capital will naturally migrate there, which leads to centralization and loss of anonymity. If cloud hosted mining is not profitable, then it will not be profitable for capitalists who want to invest either. So the chain loses out on a whole segment of the mining community that can bring massive amounts of security and increased liquidity.
For example, the RandomX virtual machine algorithm is only viable on CPUs and as a result, GPU mining of Monero is not currently, and likely will never be, financially viable. Additionally, CPU mining is not currently (Apr 2021) financially viable and the total network hashrate is less than 2.5 GH/s.
GPU mining strikes that delicate balance between CPU only mining and ASIC mining. Individual PC users can put their consumer grade graphics card to work. Hobbyist miners can build several rigs and store them in their basement. Professional miners can lease warehouses full of rigs and earn an ROI on their investment. GPU mining is the most democratic of all POW mining processes and can never be centralized on cloud hosting due to inefficiencies of the GPU virtual bus.
“Change the algorithm solution”
The traditional solution to ASIC invasion of a currency is “change the algorithm”. Because ASICs gain their advantage by parallelizing compute in hardware, a change in the algorithm effectively bricks the ASIC device and it has only salvage value. RVN has done this several times (X16, KAWPOW, etc) as did XMR, and many others.
The problem with the “change the algorithm” solution is that it is centralized. The core developers decide that a new algorithm is needed, they coordinate with all the full nodes, miner software producers, pool operators, etc. for a release date and then flip the switch. The community is at the mercy of the core developers, whoever they may be at that time. Typically they are part of the founding group who wield massive influence over the ecosystem and make decisions in a unilateral manner, sometimes to the detriment of other factions in the crypto asset ecosystem.
Centralization of decision making is the opposite of decentralized project management, and therefore bad.
“Change the algorithm solution” (by consensus!)
The unique solution I propose is a pluggable module POW algorithm which is changed by consensus decision on a regular basis. This can be combined with hybrid POW/POS for maximum security and distributed governance.
The application of this requires a decentralized governance mechanism, preferably on-chain, which I have proposed previously. Periodically, the blockchain will automatically generate a proposal of which algorithm to use and what the parameters of that algorithm will be. New algorithms can be added at runtime via a hot pluggable API. Because the algorithms are changed totally randomly (e.g. by votes of the ecosystem), they do not even need to be memory hard. Simply moving from SHA256 to SHA3 or RIPEMD would be enough to brick existing ASICs, although in practice the change should be more significant so as to increase the R&D cost of an ASIC beyond what would be financially viable for an ROI.
As an example, the blockchain could automatically issue a vote request once per quarter asking all holders to select the next quarter’s algorithm from a list of 20 known algorithms with varying parameters. The time to vote could be 1 or 2 weeks. After the vote is passed, the system automatically switches over to the new algorithm on a pre-specified block number. All of this logic is built in to the full node and mining software, so the process is entirely decentralized and automatic. No central authority needs to coordinate anything, the community decides everything and it is 100% non-deterministic so no manufacturer can ever plan for it.
Knowing in advance that any ASIC produced will be bricked in 90 days, a manufacturer will never consider spending any effort on R&D and the algorithm is therefore ASIC proof.
I have presented a framework which proposes a decentralized, automatic, consensus governed ASIC proof POW algorithm. This framework keeps the value of GPU miners while eliminating any possibility of centralization, either through ASIC mining or a core developer entity.