Let’s talk about ASIC mining


#454

this is a very interesting thread full of information and intelligent people .

I will just share my 2 cents view as a micro miner who has a render station that mines with it in spare time .

I am not against asics in general but I see it from different perspective . to me, any one who develops an asic for a currency that was developed not to be mined by asics is unethical person or entity . no respect to the currency developers nor the community that supported it since launch . that behavior is unacceptable and it should be even criminalized .
its exactly like having a road for pedestrians only and few guys decide to drive on that road .

being able to have a car and drive on a pedestrian road doesn’t give you the right to drive there or use it there,but most certainly if law enforcement don’t act and people wont complain , I will be one of those driving on that same road over 100mph .
and the only impression any one will have over such a place that allows such behavior go unchallenged is a failed corrupted state .

I fail to see any difference between this simple example and asics mining zcash or other non asic cryptos .

I felt little offended by how some might give a hint that its inevitable and we should accept it . or even do nothing about it .

specially coming from some of the zcash foundation itself .

I have very strong respect to monero after their fork . it showed developers dedication,caring and swift responsible actions. and a community with strong will .

I can’t help it not to feel little disappointment .


#455

To add to my earlier post about how ASIC mining can be controlled and regulated:

I was reminded of this by news today:


#456

So why can’t Zooko see all of this evidence you are compiling and still be pro-ASIC? It would be virtually impossible to ban video cards. Plus the fact that miners with Nvidia cards are already “aligned” anyway?


#457

You can launch multiple instances of the Ubuntu terminal.


#458

(IMO) It’s not so much that he is pro -ASIC it is that from his words he (believes) gives off the impression that because ASIC’s are setup to mine one set algorithm, and since Zcash is the most profitable of that algorithm, anyone who buys one will be using it to mine Zcash. They purchased it for mining Zcash, and did so to support the network and cause. Where as GPU miners can switch to just about any algorithm at anytime and therefore are not truly supporting Zcash.

Something he may not have looked at is the consistent network difficulty of Zcash, and the amount of gpu’s(?) that are always pointing at it. Unless there are ASIC’s already mining Zcash, the hard liners he wants supporting the Zcash network are already here.


#459

[Here are most of my current thoughts about mining in one giant brain-dump, as prompted by dbfusion’s post.]


Dear dbfusion:

Thank you for the civil but heartfelt message.

I know that a lot of Zcashers are feeling strong feelings about this—I think some people feel betrayed, disheartened, etc. I really do not want the people of our community to feel like that.

However, I am not yet convinced that declaring that we’ll change the PoW to fight ASICs is the right thing to do. I really appreciate that the Monero devs+community have done it, because it gives us a chance to learn from their experience about how it works.

But I’m not yet convinced that it would best serve our mission of empowering everyone with economic freedom and opportunity. I’m not sure yet, but I suspect that it could lead to unintended consequences of making the network more vulnerable to attacks or failures, and I suspect that it could hinder the development and deployment of more important things such as our current priority: “Shielded Addresses For Everyone!”, and worst of all I suspect that it could lead to worse centralization of the critical question of “Who gets all the new coins?”.

That is: people on this thread (which I’ve read only a small part of) mostly seem to agree with each other that changing the PoW would preserve or increase the value of Zcash mining to micro-miners like you, but I’m not sure of that. What if changing the PoW would fail to prevent or would even accelerate the process of giant, professional mining operations scaling up, increasing the difficulty, and squeezing out micro-miners?


This guy Derek Hsue recently wrote an article about Zcash Governance. I don’t agree with everything in it but it was well-written and thought-provoking. One thing he said was that the difference between Monero’s governance and Zcash’s is that Monero’s culture is community-oriented and ideological, in contrast to Zcash’s being corporate and scientific. I don’t entirely agree. I think he wasn’t really exposed to the Zcash community much when he wrote that, and he didn’t realize how large, active, ideologically committed, and independent the Zcash community actually is.

But the bit about ideology versus science really stuck with me, because it kind of “hit home” about my own personality. I’m definitely, at heart, a scientist, engineer, and hacker, not a CEO, community leader, or politician. (I’m trying to learn the latter skills as fast as possible in the service of this mission. :-))

To me, this question of changing the PoW algorithm is a science question.

There is an objectively right answer—or at least an objectively better answer—but we just don’t know what it is. Maybe—hopefully—we’ll be able to learn what it is by experiment, observation (including observation of other coins like Bitcoin, Ethereum, Monero, and Siacoin), and analysis.

But to me, it is never the right thing to enact a policy based on good intentions, sentiment, or ideology unless you can determine that the consequences would be good. I feel like what the Monero devs+community are doing is that: going with good intentions, sentiment, and ideology. I’m glad they do things their way, because then that means we can do things a different way and collectively humanity will explore more alternatives.

Now about the scientific/technical/strategic details:

A very important point that a lot of people overlook is that mining decentralization is a critical safety factor for protecting users from censorship when the transactions are in cleartext (a la Bitcoin and Ethereum) or when they are protected by fragile cryptographic mechanisms (a la Monero). But, if the transactions are protected by strong cryptography (a la Zcash), then that protects the users from being censored or surveilled by the miners, and mining decentralization is no longer necessary to prevent censorship/surveillance. It is still important for two other reasons: double-spend-attacks coordinated between the spender and the miners, and most importantly of all “Who gets all the new coins?”. But it is important to realize that we can protect users against censorship and surveillance much more effectively by deploying Shielded Addresses For Everyone than by having a decentralized set of miners. Out of the other two considerations, I don’t consider “miners-collude-in-a-double-spend-attack” to be a plausible threat at this time, but it could become so in the future, and ASIC-mining is a better defense against this attack than commodity-mining. And I consider “Who gets all the free coins?” to be a major, critical issue, and to be the reason why this thread is so big and active.

Let me just re-iterate that: there are three different potentially-important issues.

  1. Censorship and surveillance, which can be leveraged to exert control over the whole system. I think this issue is critically important. I think the best solution is strong cryptographic protections that make censorship and surveillance impossible, using math.

  2. Double-spend attacks/51% attacks in collusion with miners. I currently don’t consider this to be a significant threat for a high-value coin like Zcash, but it could become important in the future. (It has been used in practice against smaller coins in the past.) I think ASIC mining would help with this, by making it so that the miners have an unrecoverable investment. If an ASIC-miner colluded with a spender to double-spend-attack anyone, this would risk tanking the price of the coin, and their mining capital investment could lose value precipitously. This is why I say that ASIC miners have better incentive-alignment than commodity miners.

But, I don’t know if this “unrecoverable capital investment” incentive-alignment is the best possible defense against this attack. A better defense might be a simple social contract that “We all agree that if you waited for 10 block confirmations before treating the transaction is valid, and then there was a 11-block rollback that double-spent that transaction away from you, then we’ve got your back — we’re all going to stop the whole network, chainfork the blockchain and reject the new longer chain which double-spent the money away from you.”.

I’m not sure that would work (but I’ve studied the various arguments that people make that this would be impossible or wrong and found them unconvincing). Also there might be other technological defenses against double-spend attacks that we could add in the future.

  1. “Who gets all the new coins?” I consider this to be very important currently. Zcash is the fourth most important cryptocurrency in the entire world in terms of how much money the new issuance is worth! (Go to https://onchainfx.com/v/UsZtA6 and sort by “New Issuance”.)

This means two things: 1. the incentive for a company like Bitmain to gain a substantial portion of this is high (about twice as high as the incentive to gain an equivalent portion of Monero mining, for example, but only about one sixth as much as the incentive to gain an equivalent portion of Ethereum mining). 2. the value we could generate by distributing these newly generated coins far and wide to a variety of people in small amounts is great!

I’m not at all satisfied by the prospect that specialized, scalable, vertically-integrated miners are going to gain a greater and greater proportion of this vast amount of money (even though I have always predicted that it was inevitable. I told Gavin Andresen and Greg Maxwell about 5 years ago that it was inevitable and they didn’t agree, and I was right. The fact that ZcashCo’s early announcements made people think that I was committed to preventing it indefinitely was a sad mistake on my part, because I never thought that it was possible or even necessarily desirable to prevent indefinitely). So I would very much like to figure out how to stave off that kind of centralization of the distribution of the mining rewards for as long as possible. I just don’t know if there is an effective, worthwhile way to do that.

One last note (and thank you if you read all the way down to here :slight_smile:), I was recently reminded of the Myriad-Mining approach of having multiple PoW algorithms with separate and independent difficulty factors. (Thanks to the Singapore University of Social Sciences for inviting me to teach a course there in which this came up, and then thanks to new ZcashCo employee Charlie O’Keefe for bringing it up and pointing out some of its virtues.)

That approach might sort of offer, not the best of both worlds, but “half of the best of one world, plus half of the best of the other world”. This is great because a 51%-attacker has to get 10 blocks in a row, so if every block has a 50% chance of going to a PoW-alg-1 miner or to a PoW-alg-2 miner, then this is a substantial impediment to 51% attack. As far as the “who gets the coins?” issue, it would mean the miners of PoW-alg-1 collectively split half the coins, and the miners of PoW-alg-2 collectively split the other half. (Or actually they would each get 40%, currently, since 20% is going to the Founder’s Reward.)

In the past — including during the initial design of Zcash version 1 — I rejected the Myriad-Mining hack as being too complicated and not valuable enough, but after these recent developments and conversations, I’m thinking that the complication-vs-value ratio has changed. In particular, I realized that if you were going to change the PoW alg, and you wanted to do a gradual cut-over from PoW-alg-1 to PoW-alg-2 (instead of a “flag day” where at a certain blockheight PoW-alg-1 becomes in valid and PoW-alg-2 becomes required), then what you would have to do is to implement the Myriad-Mining approach and then add a forcing function that ramps up the difficulty on PoW-alg-1 over time. So, if you’re already going to swallow all of that complication, then maybe you could just stop before you implement the “ramp up the difficulty to force PoW-alg-1 out” part, and then you have Myriad-Mining.


Bottom-line: we probably don’t agree on all of the facts, even, much less on what are the best strategies, but we mostly agree on values. I won’t think any less of you if you switch to mining Monero, or Ethereum, or whatever (even though I value and appreciate you mining Zcash, and I want more of the Zcash Mining Reward to go to micro-miners like you). We’ll work this out together.


#460

This is simply a LONG calculated way of you telling us, “Go muck yourself.”


#461

“MUCK”
[mək]
NOUN
dirt, rubbish, or waste matter.
“I’ll just clean the muck off the windshield”
synonyms: dirt · grime · filth · mud · slime · sludge · scum · mire · mess · rubbish · [more]
VERB
informal
(muck up)
mishandle (a job or situation); spoil (something).
“she had mucked up her first few weeks at college”
synonyms: make a mess of · mess up · botch · bungle · spoil · ruin · wreck · [more]
BRITISH
(muck out)
remove (manure and other dirt) from a horse’s stable or other animal’s dwelling.
rare
spread manure on (land).


#462

Not totally. Maybe half the hash rate would be contributed by GPU mining if he does a Myriad Mining setup. Although right now Myriad has 4 algo’s for ASIC’s and 1 for CPU’s and None for GPU’s. If he does change it to something like that then I am also fine with not doing a PoW change for quite some time. :thinking:


#463

Would/could this go on with that friendly fork idea?


#464

It certainly could, but I don’t expect it to this time. You could imagine two variants of Zcash with different mining algorithms — two different PoWs — and a chainfork. Maybe the Zcash Foundation would hire developers to maintain one and the Zcash Company maintain the other. Or maybe the Zcash Company would maintain both! But I don’t think that’s the way this will go.


#465

Dear Zooko:

I highly appreciate your post. it was informative,revealing, answering questions many of us have been pondering about in the last couple of weeks. I personally felt that there is a split in opinion not only between the community and the founders, but also among the founders themselves. these kind of posts are encouraged to bring the community closer together.

The fact, that you are weighting what kind of response to take, is a positive sign for me. It shows me that you see (at least in your heart), what the most of us see - introducing asics to a currency that was developed to be asic resistance is against its declared core value we all subscribed to. Asics are slap on the face of the foundation and every one in the community (lets also not forget how Bitmain blocked monero devs from their twitter account)- otherwise you would’ve not be even considering any of options, to begin with, and this is a good starting point that encourages me.

You mentioned few possible options to address the challenge. I am in no position to judge most of them, or to declare which is better. I just want to comment on one option you implied - to wait and see what others do and what will be the consequences, then follow the best practice. This is how I interpreted it (“I am not yet convinced that declaring that we’ll change the PoW to fight ASICs is the right thing to do. I really appreciate that the Monero devs+community have done it, because it gives us a chance to learn from their experience about how it works.” )

My take on this option is as follows: a team which I consider having some of the brightest minds of our time, who managed to create a zero knowledge confirmation, I and many others still can’t wrap our heads around, who created a currency one of a kind and influencing the transformation of the world, should not have that option on the table. Leaders lead, they don’t get led. In other words, is the one who leads, same as the one who doesn’t lead unless he is led? I understand, we might be putting to much pressure on you guys, but I believe you have what it takes.

There was also an attempt to justify the least logical option (in my view) that contradicts both logic and heart, by presenting it as if this is about ideology versus science “it is never the right thing to enact a policy based on good intentions, sentiment, or ideology unless you can determine that the consequences”.

I am sure most of us are not asking to take scientific decision or policies based on heart. what I and assume many others ask for, is to decide to act. “No Action” can not be a science based choice but above proposed other options are. I am confident that zcash foundation team, probably with some inputs from the zcash community, can easily outsmart a manufacturer(s)by taking action.

but if you continue to insist that taking an action is an emotional decision dictated by heart that contradicts the logic, i would remind you about the values that are not logical at all, in fact they go against any logic (and may not benefit humans both in short or long run), yet many of us continue to adhere to them. I will try to explain my point by presenting another dilemma (sorry its just my habit of trying to simplify problems).

Can any one else in this planet prove logically and scientifically that stealing is bad for one who steals?
.
.
.
to save you and any one else the agony, i will present the the answer which is “no”. its is impossible to prove logically and scientifically that stealing is bad for a thief. yet surprisingly most of us don’t steel.

we all know its wrong and bad yet we can’t prove it. What i am trying to say is that you may not always be able to scientifically prove that taking action is logical and good thing to do. Sometimes we have to trust our hearts (which in fact are our values).


#466

I want to push back on this point. I do not think it is accurate to say that Zcash was “developed to be ASIC-resistant”. Zcash was developed to bring financial privacy and fungibility via zero-knowledge proofs (which was our core compentency, not designing ASIC-resistant PoWs) to as many people as possible. ASIC-resistance has never been a “declared core value” AFAICT; it was one aspect of our goal to encourage decentralisation. If the community feels differently about what the core values should be then that’s a discussion that needs to happen (e.g. at Zcon0).

Now, I currently believe that ASIC-resistance is still a necessary component to encourage decentralisation; I am a strong advocate for adjusting the Equihash parameters to require more memory (and I conceptually like the idea of moving to a Myriad-Mining-style system). But I am also open to other developments that further that same core goal of decentralisation, and if ASICs turned out to be a positive enhancement of that goal (based on future research, development, or industry changes across the wider cybercoin ecosystem), then they should be considered, as much as we are considering changes to other PoW systems, or PoS if that becomes viable.

[EDIT: Hopefully-obvious disclaimer that I am speaking for myself, not for ZcashCo.]


#467

Zooko’s post was very long, so I’ll just focus on the main point I find problematic. The post doesn’t seem to acknowledge that Zooko is in a privileged position as the head of the company, and that his opinion is therefore not going to be taken in the same way as that of any other developer. If the governance of Zcash is going to become less centralized with the company (as is our stated goal), then having a company head stridently disagree with community consensus is a problem, and it does not surprise me that it is leading to suspicion and conspiracy theories about backroom deals.

The arguments that have been put forward in favour of ASIC resistance are not about sentiment or ideology. They are very practical issues about the vulnerability of an ASIC-dominated network to various kinds of coercion (including from third parties who are more able to lean on ASIC manufacturers than they would be on GPU manufacturers, precisely because ASICs are specialized to cryptocurrency mining).


#468

I might agree with your push , but I also want to push back this point .

from the zcash website FAQ
why use equilhash . second main reason for choosing this algorithm states clearly the following " Equihash is a memory-oriented Proof-of-Work, which means how much mining you can do is mostly determined by how much RAM you have. We think it is unlikely that anyone will be able to build cost-effective custom hardware (ASICs) for mining in the foreseeable future."

article dated only 2 years ago .

that puts asic resistance in an influential part of making core currency decisions .


#469

^ this ^

I see a headline like this:

"ZCash caves in on ASIC mining and the ZCash community is furious!"

Try to dig out from that. You’ll need a very adroit PR/communications pro to do it.


#470

Don’t forget that we also said in a couple of blog posts and FAQs that we’re not sure if ASIC-resistance will work in the long-term.


#471

I’m honestly not toooo motivated by PR/messaging concerns. First of all, I think we should do what’s right. (It’s sometimes hard to tell what that is.) Second of all, I think we should do what matches the values and opinions of a lot of members of the community. (People often have mutually incompatible opinions, so you can’t please everyone at once.) Third of all, I think we should do what results in (accurate and) positive coverage to expose other audiences to Zcash’s ideas and draw them in. But I prioritise these things in this order — I don’t mind opposing the community consensus if I think I’m right and they’re wrong, and I don’t mind incurring negative publicity if I think the decision serves higher values.


#472

I can appreciate that and thank you for your frank reply :slight_smile: I have my own business, and important decisions are agonizing at times. In this case, let’s think that even though in some ways you are correct, but moving forward causes such as stigma that it works to the long term disadvantage of your overarching mission. That’s a question only you - and your staff - can assess, of course, and only the future will reveal if what is done now is the best choice.

Moreover, if it is reasonable to argue in the future that you should have known better now if negative consequences come to pass, then don’t be surprised if you’re not reminded you chose poorly.

What I’d like to know is what is the expected benefit if ASIC mining happens?

Has that been answered somewhere?

How does that help ZCash?

And if it truly does, why was there such a point at the beginning of this project to stress that ASIC resistance was a goal?

And if that could have been known when that commitment was made, why was it made anyhow?

Or, alternatively, if it was possible that it should have been known at the time but overlooked, why is the assessment faulty?

Or maybe I have too many questions?


#473

No, those are good questions. He mentioned somewhere that he chose ASIC resistance to build a community of users. He kind of used ASIC resistance to draw people in now he is leaving them behind and wants to make miners only mine Zcash. However, almost everyone in this thread is mining Zcash pretty much exclusively and with Nvidia cards there are not many other options in the first place. It is consistently near the top in whattomine every day. I check it 3-4 times a day sometimes to see what is happening so I have a good idea where coins rank. I have never seen Zcash in the 2nd tier of profitability in the list. The other coins bounce around a lot more in the rankings. If I wanted to mine ethereum or monero I would make half the money in the process.

It is possible though maybe Zooko is thinking there might be some heat on this project from law enforcement or something of that nature and he doesn’t want people to quit mining Zcash if that happens. That would be a realistic fear, but otherwise ZcashCo just need to keep doing what they are doing and the miners will be there. If ZcashCo were to do a PoW change that benefited the community they would be appreciative and keep mining Zcash even if it isn’t the most profitable coin to mine in the short term. So ZcashCo can have a postive community where its’ members appreciate the team and will stick with it out of gratitude or if Zcash goes totally ASIC they can have a community that won’t allow them to change parameters for whatever reason may come up.

I think ASIC’s are more valuable when a coin is very mature and doesn’t need many changes, but early on in its’ life cycle there are too many variables and you want miners that can grow with the coin’s development(GPU’s) and not hold it back(ASIC’s). If Zcash goes multi-algo then that can be a somewhat fair compromise depending if the split is equitable.