Posted on 2019-04-12 by opauaiyvjp
Stoffu recently proposed running AEON on SHA3/Keccak/K12, which apparently did not achieve community consensus. Since the AEON community seemed to be looking for a new hash algorithm for a while now, this appears to be a decent time to propose a fast and assymetric algorithm.
To implement a fork to a new assymetric hash algorithm, the core hashing structure has to be changed. This of course is a lot of development work, which additionally has the be tested and made available for the public in a testnet, resulting in a few days, maybe a week, of work.
While stoffu proposed the usage of K12, AEON appeared to be searching for an algorithm providing resistance against ASICs and the centralisation that comes with them. Therefore an algorithm similar to rainforest or ethash would be ideal for the AEON cryptocurrency. Problem with those is that rainforest is slow and repeats the same process plenty of times, while being computationally difficult and ethash being IO-Bound and assymetric but relying on slow and ASIC-favoring algorithms. Those two algorithms have been merged and optimized in here, to allow a low maximum gain for a potential ASIC implementations aswell as fulfilling a few other design requirements listed in here. While this would assymetry substantially increase the impact of the average miner and lowering the investment needed to participate, it would drastically increase the accessibility of AEON for potential miners. The reduced requirements for a light evaluation make it possible to synchronize even faster and more efficient with the network.
The milestones can be split into two major parts, as seen below.
☐ Light Evaluation: Enable light evaluation globally, forcing miners to run it aswell. (~1 Day)
☐ Full Evaluation: Enable full evaluation allowing miners and verifiers to run differently optimized code. (~1 Day)
☐ Enable fork: This step is necessary to ensure that the previous AEON blockchain works with the future one, instead of discarding it. (~0.5 Days)
☐ Testnet: Publish a testnet, allowing miners submit their hashrate and experiences. (~1.5 Days)
☐ Tweak settings: (Optional) If the algorithm is too slow or does not provide enough resistance against certain attacks, the parameters can be tweaked. (~3 Days)
☐ Repeat: Repeat the 4/5 block until consensus is reached.
Totalling in four days of work @ 10 hours per day. With an average of 75 AEON per hour this results in 3000 AEON funding needed, assuming that the tweaking and testing after everything is in the testnet is done by the community.
Outcomes and milestones can be seen above.
I have studied this code for two weeks now and am very confident in understanding most parts about it.