Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find a suitable ASIC resistant hashing algo #18

Closed
alexdovzhanyn opened this issue Feb 11, 2018 · 6 comments
Closed

Find a suitable ASIC resistant hashing algo #18

alexdovzhanyn opened this issue Feb 11, 2018 · 6 comments
Assignees
Labels
Enhancement New feature or request Help Wanted Extra attention is needed Research This issue needs to be researched

Comments

@alexdovzhanyn
Copy link
Owner

Currently we're using SHA256 for the block hashes. While this is fine and secure, in the interest of leveling the playing field for miners, lets find a good ASIC-resistant hashing algorithm to use instead.

@alexdovzhanyn alexdovzhanyn added this to the v0.1.0 - Basic Functional Blockchain milestone Feb 11, 2018
@alexdovzhanyn alexdovzhanyn added Enhancement New feature or request Help Wanted Extra attention is needed Research This issue needs to be researched labels Feb 11, 2018
@Nijinsha
Copy link
Collaborator

Some of the altcoins achieve this by using algorithms that use a lot of memory. Most of the ASIC machines will not have high memory thus making the hashing algorithm ASIC resistant.

@alexdovzhanyn
Copy link
Owner Author

Would you like to self-assign this and try to find a few algorithms we might be able to use (keeping in mind that we'd prefer to use an elixir/erlang library)?

@Nijinsha Nijinsha self-assigned this Feb 11, 2018
@Nijinsha
Copy link
Collaborator

Just a thought : Instead of using one algorithm, can't we change the algorithm for each block based on some criteria. No ASIC machine can be configured to work for multiple algorithm(But a CPU can, that is what makes it general purpose). So people with ASIC can mine a selected number of blocks but never makes mining centralized to only ASIC machines.

@alexdovzhanyn
Copy link
Owner Author

I think thats an interesting idea, but in practice it would br difficult to enforce, since consensus depends partially on nodes being able to identify which algorithm is used, and it would also make block time wildly unpredictable, since each algorithm has different speeds and efficiencies (plus each gpu has a different performance based on the algorithm thats used) so there wouldn't be much incentive for a miner if they can't predict roughly how likely they are to find the next hash

@Nijinsha
Copy link
Collaborator

Nijinsha commented Feb 12, 2018

https://steemit.com/cryptocurrency/@buggedout/asic-resistance-is-a-myth-dash-is-conquered
This article does a great analysis on ASIC resistant algorithms.
The article says that ASIC resistant hash algorithm is a myth because, if a coin raises to a value which makes it profitable for mining , ASIC manufactures will develop a ASIC just for the algorithm. This was the trend for every coin that came to the market. DASH, Litecoin all started with a ASIC resistant algorithm but eventually ASICs were designed for mining them. Only ethHASH(algorithm used by Ethereum ) does not have a mining ASIC designed for it just because moving to POS was in its road map and if people buy an ASIC it becomes obsolete when they move to POS.

@Nijinsha
Copy link
Collaborator

Attaching a c library containing SHA3 and a lot of other algorithms.
https://github.com/rhash/RHash

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Help Wanted Extra attention is needed Research This issue needs to be researched
Projects
None yet
Development

No branches or pull requests

2 participants