4

At block 1788000, Monero will switch PoW from CryptoNight variant 2 to variant 4. This change has two main goals:

  • break any current CNv2 ASIC
  • make hypothetical CNv4 ASICs perform less well compared to CPUs, making designing such ASICs less appealing to a profit oriented outfit

How is that second goal technically achieved in practice ?

| improve this question | | | | |
3

At block 1788000, Monero will switch PoW from CryptoNight variant 2 to variant 4

The current naming is a little misleading as we are really on variant 3 right now, with the next being variant 4. This is because variant 2 actually spanned 2 releases in quick succession. Naming aside...

How is that second goal technically achieved in practice ?

The best answer is probably found in the README from the original proposal. Quoting two pieces:

It introduces random integer math into CryptonightV2 main loop.

...

Instruction set is chosen from instructions that are efficient on CPUs/GPUs compared to ASIC: all of them except XOR are complex operations at logic circuit level and require O(logN) gate delay. These operations have been studied extensively for decades and modern CPUs/GPUs already have the best implementations.

Ultimately, the idea here (and in other similar proposals such as RandomX/RandomJS), is that the hashing function has to execute some random instructions (a program) which essentially means an ASIC/FPGA would need to have the properties of a CPU/GPU - being good at performing general purpose tasks. This defeats the whole purpose of an ASIC (application specific), therefore the idea is an ASIC can't be as good as general purpose hardware like CPUs/GPUs.

It will almost certainly obliterate any current ASICs/FPGAs, but worth noting a comment from hyc:

CryptonightR is still only intended as a stop-gap. The instruction set it uses is small enough that a very simple CPU could be added to an ASIC to process it. There is no expectation for CN-R to have longer than 6 months effectiveness.

| improve this answer | | | | |
  • CryptonightR is still only intended as a stop-gap. The instruction set it uses is small enough that a very simple CPU could be added to an ASIC to process it. There is no expectation for CN-R to have longer than 6 months effectiveness. – hyc Feb 26 '19 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.