Driving ASICs Off Monero
Howard Chu, a Monero core developer is working to develop a solution that will protect crypto from specialized mining hardware called ASICs. Chu has already successfully developed a solution that will permanently keep ASICs off the network. The solution is a proof-of-work algorithm that he calls RandomJS, which prevents the hardware from impacting “multiple things at once.”
The interesting thing is that Chu may have stumbled upon the algorithm by his hobby of Irish fiddle playing. Further, Chu added that the algorithm was created that he garners from his musical practice. According to Chu, music and code are deeply connected at a neurological level that requires both the logical and creative sides of the brain function at the same time. The result is that there is an overlap between programming and musical talent. As Chu mentioned to CoinDesk, “Music is very mathematical, the basis of music is mathematical, but at the same time, there is creativity to it.”
Chu’s algorithms utilize randomly generated code. ASICs can only be designed to work towards one algorithm generated code and thus, the algorithm would make ASICs quickly incompatible and unprofitable. Developers believe that ASIC manufacturing would just overlook developing hardware for cryptocurrency projects.
Bitmain, which is interested in ASIC-blocking code, has been driving further interest in ASIC. Chu has discussed that Bitmain’s release of Antminer X3 in March was programmed to run Monero’s underlying proof-of-network algorithm, called cryptonight.
Monero’s developers then began a “war on miners” by enacting emergency software upgrades to alter the cryptocurrency’s algorithm so that the Antminer X3 would be useless to the protocol.
Since then, Monero’s developers have committed to regular software changes to remove reemergent hardware.
However, there are risks that small software changes that the platform has committed to may be insufficient to dissuade hardware manufacturers over the long term. As a result, Chu has develop RandomJS as a more sustainable solution for cryptocurrency. Chu discussed the algorithm and stated, “RandomJS is coming at the problem from a direction that nobody else is.”
The Power of Random Math
Chu is a widely respected coder and senior architect of the OpenLDAP project, which is an open-source database layer that underlies the telecommunication industry. Further, Chu has been at Monero for 25 years.
Even though ASIC hardware manufactures look at software and develop optimized hardware to run for a particular algorithm, RandomJS has applied the opposite approach by analyzing functions of CPU hardware that underlies most consumer laptops and going outward from there.
Chu expressed the challenge as trying to balance between to functions of a proof-of-work protocol – the time it takes to compute an algorithm and the speed of which it is verified.
One example is SHA 256m which is simple to verify, according to Chu – and too easy to compute, which means that it is trivial to build hardware around it. As Chu mentioned to Coindesk,
“The cryptographic hash is really great for proving something is authentic, but it’s horrible as a unit of work because it’s too easy. It’s really simple to embed SHA 256 into a chip and clone thousands of these complete units.”
Thus, RandomJS makes the compute process more complex. It seeks to use CPU functionality in a more holistic way, by using blockchain data as the inputs to generate random code. Chu explained,
And, the algorithm itself is evaluated by the Monero core team. As Chu discusses, there are several things that delay the adoption. For example, it cannot currently function on the general purpose, or GPI, hardware that comprises the majority of Monero’s mining infrastructure. Accordingly, there is plenty of work to be done.
At this point, Chu’s algorithm is likely the most unique and artistic technique to block ASICs.