<blockquote>
  <p>Are there any steps which I should include in my altcoin's mining algorithm to prevent ASIC mining?</p>
</blockquote>

<p>That's not really what you should be asking. You should be asking, "Can someone design an ASIC which is more effective at mining my altcoin than a general purpose CPU?" At sufficient scale, that is always possible.</p>

<p>However, you don't really care if someone can invest $1 trillion and get an ASIC that is 1% better than a CPU. If your attacker had that much money, they'd crush you no matter what. You care whether they can invest a reasonable amount of money and create something significantly more efficient. (Either in power consumption per hash, or capital cost per hash.)</p>

<p>Also, you want some other properties:</p>

<ul>
<li>It must be reasonably fast to verify. (But doing so can weaken the algorithm, see <a href="https://bitcoin.stackexchange.com/questions/36642/why-did-litecoin-choose-the-scrypt-factors-that-they-did">Why did Litecoin choose the scrypt factors that they did?</a> for an example.)</li>
<li>Switching chain tips must not cause a miner to lose a lot of progress. (Otherwise, miners have an incentive to ignore new blocks if they almost have a block of their own.)</li>
<li>Someone who modifies the block header must have to redo all of the work. (Otherwise, mining provides no protection.)</li>
<li>Mining speed must scale linearly with computing resources. In other words, you shouldn't be able to double the number of computers you have and quadruple your mining speed.</li>
</ul>

<p>I don't know of an algorithm that satisfies these five properties, but the problem hasn't been proven impossible.</p>

<blockquote>
  <p>What about EquiHash Algorithm?</p>
</blockquote>

<p>Look at these two criticisms of EquiHash:</p>

<ul>
<li><p><a href="http://www.openwall.com/articles/Zcash-Equihash-Analysis" rel="nofollow noreferrer">http://www.openwall.com/articles/Zcash-Equihash-Analysis</a></p></li>
<li><p><a href="https://petertodd.org/2016/cypherpunk-desert-bus-zcash-trusted-setup-ceremony#equihash-proof-of-work" rel="nofollow noreferrer">https://petertodd.org/2016/cypherpunk-desert-bus-zcash-trusted-setup-ceremony#equihash-proof-of-work</a></p></li>
</ul>

<p>There are probably algorithmic improvements still available in EquiHash, and there is almost certainly a hardware speedup available.</p>

<p>(There is also an <a href="https://twitter.com/ZcashMiner/status/815512912546541568" rel="nofollow noreferrer">unverified claim</a> that someone has created an FPGA Equihash miner.)</p>

<blockquote>
  <p>Do I need to implement a completely new algorithm for mining?</p>
</blockquote>

<p>You're unlikely to do much better than the attempts above.</p>

CC BY-SA 3.0
2016-11-19T02:25:52.497Z
2017-03-12T19:53:39.883Z
2017-04-13T12:47:36.707Z
Nick ODell
<p>The best way to change algorithm,if someone decides to kill your coin can dump a lot of hashrate in order to increase the diff and then abandon,that means the 51% attack is not the only problem,I suggest you to use cryptonote <a href="https://cryptonote.org/inside/" rel="nofollow noreferrer">https://cryptonote.org/inside/</a></p>

CC BY-SA 3.0
2017-02-01T16:48:07.460Z
2017-02-01T16:48:07.460Z
roxy678
<p>I want to create an altcoin that is a clone of Bitcoin. I want the mining to be ASIC resistant.<br>
Are there any steps which I should include in my altcoin's mining algorithm to prevent ASIC mining?<br>
Do I need to implement a completely new algorithm for mining?</p>

CC BY-SA 3.0
2016-11-18T08:18:04.643Z
There is no such thing as "ASIC resistant".
amaclin
CC BY-SA 3.0
2016-11-18T08:28:51.333Z
What about EquiHash Algorithm?
Fire Bird
CC BY-SA 3.0
2016-11-18T11:32:14.227Z
Principle [Elusive Joe](https://translate.google.ru/translate?sl=ru&tl=en&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Flurkmore.to%2F%25D0%259D%25D0%25B5%25D1%2583%25D0%25BB%25D0%25BE%25D0%25B2%25D0%25B8%25D0%25BC%25D1%258B%25D0%25B9_%25D0%2594%25D0%25B6%25D0%25BE&edit-text=)
amaclin
CC BY-SA 3.0
2016-11-18T12:26:58.790Z
Fair Enough....But is it possible to have any mining algorithm which is ASIC resistant? If not how should I prevent 51% attack?
Fire Bird
CC BY-SA 3.0
2016-11-18T13:11:04.047Z
In fact the only way to prevent 51% attack is... praying :)
amaclin
<mining-theory><altcoin><altcoin-development><asic-resistance>
How to prevent ASIC mining for my new altcoin?
Fire Bird
# How to prevent ASIC mining for my new altcoin?

(Asked by: username_0 on 2016-11-18)

I want to create an altcoin that is a clone of Bitcoin. I want the mining to be ASIC resistant.  
Are there any steps which I should include in my altcoin's mining algorithm to prevent ASIC mining?  
Do I need to implement a completely new algorithm for mining?

**Tags:** mining-theory, altcoin, altcoin-development, asic-resistance

> **Comments:**
> **username_1**: There is no such thing as "ASIC resistant".  
> **username_0**: What about EquiHash Algorithm?  
> **username_1**: Principle [Elusive Joe](https://translate.google.ru/translate?sl=ru&tl=en&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Flurkmore.to%2F%25D0%259D%25D0%25B5%25D1%2583%25D0%25BB%25D0%25BE%25D0%25B2%25D0%25B8%25D0%25BC%25D1%258B%25D0%25B9_%25D0%2594%25D0%25B6%25D0%25BE&edit-text=)  
> **username_0**: Fair Enough....But is it possible to have any mining algorithm which is ASIC resistant? If not how should I prevent 51% attack?  
> **username_1**: In fact the only way to prevent 51% attack is... praying :)  

---

## 2 answers

### Answer by username_2 on 2016-11-19. Score: 4

> Are there any steps which I should include in my altcoin's mining algorithm to prevent ASIC mining?

That's not really what you should be asking. You should be asking, "Can someone design an ASIC which is more effective at mining my altcoin than a general purpose CPU?" At sufficient scale, that is always possible.

However, you don't really care if someone can invest $1 trillion and get an ASIC that is 1% better than a CPU. If your attacker had that much money, they'd crush you no matter what. You care whether they can invest a reasonable amount of money and create something significantly more efficient. (Either in power consumption per hash, or capital cost per hash.)

Also, you want some other properties:

* It must be reasonably fast to verify. (But doing so can weaken the algorithm, see [Why did Litecoin choose the scrypt factors that they did?](https://bitcoin.stackexchange.com/questions/36642/why-did-litecoin-choose-the-scrypt-factors-that-they-did) for an example.)
* Switching chain tips must not cause a miner to lose a lot of progress. (Otherwise, miners have an incentive to ignore new blocks if they almost have a block of their own.)
* Someone who modifies the block header must have to redo all of the work. (Otherwise, mining provides no protection.)
* Mining speed must scale linearly with computing resources. In other words, you shouldn't be able to double the number of computers you have and quadruple your mining speed.

I don't know of an algorithm that satisfies these five properties, but the problem hasn't been proven impossible.

> What about EquiHash Algorithm?

Look at these two criticisms of EquiHash:

* <http://www.openwall.com/articles/Zcash-Equihash-Analysis>
* <https://petertodd.org/2016/cypherpunk-desert-bus-zcash-trusted-setup-ceremony#equihash-proof-of-work>

There are probably algorithmic improvements still available in EquiHash, and there is almost certainly a hardware speedup available.

(There is also an [unverified claim](https://twitter.com/ZcashMiner/status/815512912546541568) that someone has created an FPGA Equihash miner.)

> Do I need to implement a completely new algorithm for mining?

You're unlikely to do much better than the attempts above.


---

### Answer by username_3 on 2017-02-01. Score: -2

The best way to change algorithm,if someone decides to kill your coin can dump a lot of hashrate in order to increase the diff and then abandon,that means the 51% attack is not the only problem,I suggest you to use cryptonote <https://cryptonote.org/inside/>


---

