We are proud to announce that Scala is ready for the public testnet phase of the V6 Himalaya iteration. This is the biggest update to our project since its genesis way back last year.
So let’s jump right in and talk about the new algorithm!
Searching for a new algorithm
We initially had the idea of integrating Yescrypt-RH alongside CryptonightR.
It was a solid algorithm, but it showed some compatibility issues and the synchronization speeds were not optimal.
Overall it felt more like a hack rather than a clean solution…
Then we found RandomX
We came across RandomX, the revolutionary PoW algorithm by the developers of Monero. At first glance, this was not a good choice because of its memory needs, but after playing around with it for a while, we were able to adjust them to our liking.
Tweaking and testing
After tweaking RandomX to parameters that suit our goals, we started testing it extensively. We found out that our settings would cause GPUs to outperform CPUs in an undesirable fashion. So we went back to the drawing board and tried to figure out how we could solve this problem.
RandomX + Yescrypt + KangarooTwelve = DefyX
We chained RandomX with our own variant of Yescrypt — that we called Yescrypt-RH and also a quantum resistant algorithm called KangarooTwelve (which our friends from MoX were working on) to create a new PoW algorithm that we called DefyX. And then… the results were phenomenal!
It is faster than RandomX and is extremely resistant to not just ASICs and FPGAs, but is also rated level 2 quantum resistant due to the inclusion of K12.
Technical details
RandomX utilizes a virtual machine that executes programs in a special instruction set that consists of integer math, floating point math and branches.
These programs can be translated into the CPU’s native machine code on the fly. At the end, the outputs of the executed programs are consolidated into a 256-bit result, using a cryptographic hashing function (Blake2b).
In DefyX, the Blake2b hash is further hashed using Yescrypt-RH and KangarooTwelve, which makes it much harder for GPUs to attain an unfair advantage, and which also allows the algorithm to be resistant to ASICs/FPGAs and level 2 quantum computers.
The testnet and further benchmarking
Soon after this post is made, a new testnet pool will be opened and miners for all major platforms will be distributed. A GitHub issue will also be created so we can consolidate the issues and benchmarks.
So there is lot’s of new stuff coming to Scala!
- With DefyX, we have a completely new PoW algorithm which gets us rid of ASICs and FPGAs for a long long time.
- The IPFS & ZeroNet alpha will go live.
- The emission rate is a little too high and will be slightly adjusted to not cause more inflation than needed.
- And… — drum roll please — the mobile miner open beta will finally start!
We hope that you are as excited as we are about this new phase of the project!