Skip to main content
Relevant hyc comment
Source Link
jtgrassie
  • 19.4k
  • 4
  • 15
  • 52

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.

Whether CryptonightR's implementation holds out in the longer term, or whether future tweaks are later needed, only time will tell. But this does seem to be a longer term fix to the problem than the previous CN "tweaks". It will almost certainly obliterate any current ASICs/FPGAs and make future ASIC/FPGA development targeting the algorithm a costly endeavor that may not yield, but worth noting a device as profitable to mine with as CPUs/GPUs.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.

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.

Whether CryptonightR's implementation holds out in the longer term, or whether future tweaks are later needed, only time will tell. But this does seem to be a longer term fix to the problem than the previous CN "tweaks". It will almost certainly obliterate any current ASICs/FPGAs and make future ASIC/FPGA development targeting the algorithm a costly endeavor that may not yield a device as profitable to mine with as CPUs/GPUs.

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.

Source Link
jtgrassie
  • 19.4k
  • 4
  • 15
  • 52

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.

Whether CryptonightR's implementation holds out in the longer term, or whether future tweaks are later needed, only time will tell. But this does seem to be a longer term fix to the problem than the previous CN "tweaks". It will almost certainly obliterate any current ASICs/FPGAs and make future ASIC/FPGA development targeting the algorithm a costly endeavor that may not yield a device as profitable to mine with as CPUs/GPUs.