What sort of tasks can an ASIC be developed to do?

1

I know requiring a lot of memory is one thing that makes an algorithm ASIC resist. Are there any others?

Could an ASIC be developed to do Elliptic Curve Crypto? Like adding two points, or signing a piece of data? Could an ASIC be developed to solve polynomial equations?

morsecoder

Posted 2014-11-20T19:52:52.467

Reputation: 12 624

Answers

0

An ASIC can be developed to do anything. Algorithms that require memory take some of the computational advantage out of using an ASIC, but it is still possible to develop an ASIC with memory. NO algorithm is ASIC proof, including all the ones you mentioned.

In the extreme you can take any general CPU or GPU and throw out the parts that you don't need and voilla there's your ASIC.

George's answer is very relevant here as well.

Jannes

Posted 2014-11-20T19:52:52.467

Reputation: 5 823

2

Taken from ASICs and Decentralization FAQ by Andrew Poelstra:

Are ASIC’s evil?

No, dedicated hardware brings us closer to the thermodynamic limit, and is therefore eventu- ally a good thing for mining decentralization. Also, because ASIC’s produce more hashes for the same amount of energy, they produce stronger proofs-of-work with proportionally less environmental impact.

However, ASIC’s bring with them a risk of manufacturer centralization, such as what we saw with Bitcoin in the early days of ASIC mining. Market forces eventually broke this monopoly and one thing which sped up the process is that Bitcoin uses the SHA2 hasing algorithm, which was designed for easy development of dedicated hardware.

Therefore, relatively little startup capital is needed to develop Bitcoin ASIC’s. Further, regardless of one’s personal feeling toward ASIC’s, they are inevitable. Dedicated hardware will always be more efficient than general-purpose hardware (exactly because it is closer to the thermodynamic limit) and Bitcoin’s incentives are aligned for ever-increasing efficiency.

Is ASIC resistance desirable?

No. ASIC resistance typically involves increasing algorithmic complexity to discourage ASIC developers. However, ASIC’s are still inevitable; all ASIC resistance does is increase the startup capital required and therefore increase centralization of manufacturing. Further, increasing the complexity of proof generation often means also increasing the com- plexity of proof validation, often disproportionately slow. This discourages (unpaid) non- mining validators, which also increases centralization.

Is ASIC resistance possible?

ASIC resistance, in the sense of making life difficult for ASIC manufacturers (and therefore reducing the number of distinct manufacturers) is possible. But it is impossible to create an algorithm which runs at the same speed on general-purpose and dedicated hardware (since general-purpose hardware contains many extraneous features, e.g. communication buses for peripherals), and so ultimately ASIC resistance is futile.

(Schemes such as “the developers will just change the proof-of-work algorithm if ASIC’s appear” do not even make sense — in a decentralized currency the developers have no such power, while in a centralized currency proof-of-work is a completely unnecessary waste of power.)

Is memory hardness desirable?

No. Memory hardness has the effect of increasing ASIC board footprint, weakening the heat- dissipation decentralization provided by the thermodynamic limit. Further, it increases the capital costs of mining equipment relative to the energy costs, which also encourages cen- tralization (since established miners have amortized their equipment more than new miners). These effects are amplified by the fact that SRAM is both several times faster and several times more expensive than DRAM.

Also, memory hard proofs-of-work often require lots of memory on the part of the verifiers which is bad for decentralization as already discussed.

As an aside, since memory is far away and expensive to access on general purpose computers, memory hardness actually increases the benefit provided by ASIC’s! This is contrary to the goals of most memory-hard advocates, and as we have seen above, memory-hardness worsens the centralizing effects of ASIC’s while weakening the decentralizing effects.

One more thing worth mentioning is time-memory tradeoff (TMTO). This is a property of an algorithm which allows higher memory usage to be traded for a heavier computational load. An algorithm which is highly susceptible to TMTO has poorly defined memory hardness, which at the very least complicates analysis. It may also cause an algorithm to fail to be optimization free.

George Kimionis

Posted 2014-11-20T19:52:52.467

Reputation: 2 824

I'm not asking this from a standpoint of what's good or bad for a coin, I'm more just wondering about what the algorithm can be. What makes it harder? And can it do those things I mentioned in the original post?morsecoder 2014-11-20T20:35:08.740