A few days ago I stumbled upon a thread about changing the mining algorithm of DeepOnion. According to the whitepaper it currently uses the X13 algorithm, which was designed to be ASIC resistant but this lasted not long. So, with this algorithm the only profitable way to mine $onions is with a dedicated mining hardware, a so called ASIC (Application-Specific Integrated Circuit).
Inspired from this thread on the DeepOnion forum I was curious about the consequences of an algorithm change. After a short google search I found on reddit a few comments that it should be possible and maybe even without a fork. This should depend on the current implementation. [1] I thought if there is a way to change the algorithm, this will be a topic on vote central.
Photo by markusspiske on pixabay (Link)
Basic knowledge
Every blockchain that implements Proof of Work needs an algorithm for their miners. The most popular one is SHA-256 which is used by bitcoin. The purpose of such algorithms is to control the release of new blocks and verify the solution sent by the miners. Therefore it makes use of hash functions which are also called one-way functions, because it's easy to verify the output but extremely hard to guess the input. You can't reverse the function, you can only bruteforce the input. [2]
Random Input -> 3e36dcdd7da2e73f5a51463985909395e904305af1f7fed6b066e64b1838dece
A small change on the input produces a completely different output.
random Input -> 10bb614a3e738f5bb96fe74ebd3df94e74af2e0f00adfda6b363aa988b3d2dec
The first one who finds the correct input generates a new block and receives the reward. The more people are mining the harder the input will be. This is required to throttle the block generation and meet the required block time.
With that basic knowledge we can now come to the actual question.
What are the consequences of changing the mining algorithm for DeepOnion?
From a technical point of view there should be no real consequences when changing the algorithm. One drop of bitterness would be the required hard fork.
Even on bitcoin an algorithm change was possible. The creators of bitcoin gold made a hard fork of bitcoin and changed the algorithm to Equihash in order to decentralize the mining again. [3]
There was also a controversial discussion about changing Bitcoin's PoW consensus mechanism. It's more than just a technical decision. Miners want to secure their investments, Enthusiasts don't want changes on one of the core components and Holders want to prevent a hard fork. [4]
Depending on the new algorithm there are also many advantages. More decentralization or the prevention of asic miners, just to name a few examples.
Which algorithm is the best for DeepOnion?
Depending on whom you ask you will get different answers.
- Holders of baikal miners will prefer to keep the current X13 algorithm. They have dedicated and exclusive hardware to mine DeepOnion. With this algorithm you can't mine profitable with any GPU
- Bitcoin miner would probably want to switch to SHA-256 to use their purchased hardware
- The CPU mining community would vote for cryptonight
- AMD holders for equihash
Personally I would prefer a energy-efficient, more decentralized and asic resistant algorithm. But this is not as easy as it sounds. X11, the predecessor of X13, was initially designed as ASCI-resistant algorithm. Shortly after the first manufacturers developed dedicated devices. [4]
There are a few other properties which can be used to characterize mining algorithms. How energy -efficient is it, how much memory is required, is it dual mine compatible, just to name a few examples.
Conclusion
In conclusion I would not change the mining algorithm of DeepOnion. In my opinion it is not a relevant factor for the success of DeepOnion and therefore the team should focus on more important tasks. It might even be possible to eliminate Proof of Work and change it to a Proof of Stake only.
Has someone a different view on this topic? I would appreciate to exchange vies on this topic as there are not much well presented information on the internet.
Sources
[1]
[2] https://medium.com/@mycoralhealth/code-your-own-blockchain-mining-algorithm-in-go-82c6a71aba1f
[3] https://bitcoingold.org/
[4] https://themerkle.com/scrypt-vs-x11-vs-sha-256/
Links
Muse article: https://deeponion.org/community/threads/a-fork-to-make-deeponion-free-again.34534/
DeepOnion article: https://deeponion.org/community/threads/article-consequences-of-a-mining-algorithm-change.34688/
Follow me on twitter for the newest updates and giveaways.
https://twitter.com/BlockEncryptor
Congratulations @blockencryptor! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You made your First Vote
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @blockencryptor! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!