|
April 10, 2018, 02:33:31 AM |
|
Hi, thanks for your reply. Unfortunately I'm no researcher and no crypto developer either.
I've just written these ad-hoc thoughts about the idea. The main concern is - as one might have guessed - energy saving versus centralization.
The serial iterations task
A typical home computer's clock speed is 5GHz and the highest possible speed is maybe around 10GHz. The algorithm may be implemented more efficiently in an ASIC, in the case of CryptoNight this - if the algorithm gets updates against Bitmains efforts to compete - may be a 2 times speed increase, which is actually taken from their figure about graphics cards. In respect to the number of execution units there, the speed increase per execution unit may be less. I just need some rough numbers to not think nonsense.
So one could say there may be a speed gap of 4x between the "egalitarian" average user and the "centralized" investor. That means, the task of serial hash iterations could be completed e.g. in 15 seconds instead of 60 seconds. So, sadly, the ratio of serial task versus parallel task (and thus the amount energy tried to save) is important. The more it relies on the serial task and keeps the parallel thing turned off, the more it could be centralized with using a high clock speed.
I try some math. Assuming the coin trys to get a block time of e.g. 2 minutes serial and 1 minute parallel: If you finish the serial task in 1 minute instead of 2 minutes, there will be 2 minutes instead of 1 minute for the parallel task, or you have simply doubled your effective hash rate. So, for all serial/parallel ratios: hash_rate_multiplication = (parallel_work_duration + serial_work_duration - serial_work_duration / serial_mult) / parallel_work_duration
So if I'd came to the conclusion due to other reasons (51%-attack etc) that the hash_rate should not be effortless doubled (max_okay_hash_rate_multiplication = 2) by one miner, and the assumed advantage of the faster processor for the serial task is a multiplier (serial_mult) of 4, then:
serial/parallel_ratio = (max_okay_hash_rate_multiplication-1) / (1 - 1 / serial_mult) serial/parallel_ratio = (2-1) / 0.75 serial/parallel_ratio = ~1,3
So 1.3 minutes serial, 1 minute parallel would be a good ratio if the other values are were true.
In case there are not enough ideal (fastest speed) processors: Since there is only one valid result that belongs to a block hash, the result could be shared. But since that relies on trust, every miner better had an ideal processor themselves.
When there is sharing of results, it's not immediately clear to me whether holding back a newly found block for a certain time by a rogue miner would be in his favor. While it could delay transmission of the result to other miners, it may also increase the risk that he doesn't get the block reward.
Conclusion: Is energy saving by hash rate limitation possible? I'd say yes, but it comes at a cost. Either the serial task is designed so that there can be easily built such an optimal processor for every miner, or there is a good sharing technique, or you cannot save much energy without getting more centralization.
|