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

EIP: Modify block mining to be ASIC resistant. #958

Closed
pipermerriam opened this issue Mar 29, 2018 · 262 comments
Closed

EIP: Modify block mining to be ASIC resistant. #958

pipermerriam opened this issue Mar 29, 2018 · 262 comments

Comments

@pipermerriam
Copy link
Member

pipermerriam commented Mar 29, 2018

Disclaimer: My area of expertise does not lend well to me suggesting how to make things ASIC resistant. I hope there are some informed opinions floating around out there who can help fill in the how.

According to "the internet" there is an ASIC based ethereum miner on the horizon.

this may be the original source of that news

If you believe the analysis in the comments on this reddit thread BitMain may already running these miners.

I believe it is the accepted wisdom that ASIC based mining leads to increases centralization when compared to GPU mining.

This leads us to two questions:

  1. Should we hard fork to make ASIC mining harder and to demonstrate a willingness to hard fork any future ASIC based ethereum mining.
  2. What specifically changes do we make to implement this increased ASIC resistance.

Should we fork?

I propose that people indicate support/opposition with a simple 👍 / 👎 on this main issue. I would prefer this conversation not devolve into deep discussions around this subjective topic so my request is that people refrain from commenting on that specific question here.

How do we implement improved ASIC resistance

This is the primary issue that I think needs to be addressed, after which we can have an informed discussion about whether we should actually do it.

@pipermerriam
Copy link
Member Author

As a starting point: This came up from some very brief research into current ASIC resistant mining approaches. This is not my area of expertise so I'm somewhat relying on the community to help fill in the blanks here.

X16R-Whitepaper.pdf

@pipermerriam pipermerriam changed the title EIP: Modify block mining to be asic resistant. EIP: Modify block mining to be ASIC resistant. Mar 29, 2018
@MicahZoltu
Copy link
Contributor

Is there any reason to believe this problem won't just all go away once full PoS lands? Or in the fear around that still being a ways out and centralization could occur in the meantime?

@Arachnid
Copy link
Contributor

I don't think it's practical to design a new asic-resistant algorithm until we have a better idea how the current ASICs (if they exist) function.

For instance, they could be a parallel keccak256 chip with a large and fast array of DRAM attached; in that event it might be easy for them to reconfigure the microcode, and adapt to new variations that rely primarly on keccak256 and fast memory access.

@Arachnid
Copy link
Contributor

Incidentally, I think X11/X15/X17 etc are terrible ideas - none of the individual algorithms are intrinsically ASIC-resistant, they're just trying to use up lots of silicon area. Since they're chained, an ASIC manfacturer could just produce multiple ASICs that are chained together, if they actually ran out of space on one die (which is unlikely).

In fact, I wouldn't be surprised if the slowdown from using multiple algorithms on CPUs and GPUs - from not being able to do consistent register allocation for the algorithm, for instance - is greater than the impact on an ASIC.

@cslarson
Copy link
Contributor

93% upvote rate on that Reddit post. I'm happy to vote here too but I'm not sure what additional protection it offers against manipulation.

@AtLeastSignificant
Copy link

@cslarson I'm undecided on whether a fork will be beneficial or not at this moment, but wouldn't manipulation likely come from ASIC miners who oppose a fork? That reddit post, this EIP, Vlad's tweet, etc. all seem to point mostly in the direction of support for maintaining ASIC resistance.

This stance has been taken by Ethereum since inception, I dare say it's part of the undefined "Ethereum Philosophy" we talk about so much these days. If a hard fork is needed to preserve this, then I support it.

@CryptoBlockchainTechnologies

Thank you for adding this to the agenda next week. I would also like to see a discussion on methods that could be used to detect ASIC mining. This does not have to be on the blockchain but a way to be able to detect them if possible. I have a lot of faith in this team in figuring out how ASICs can be detected.

@S1nus
Copy link

S1nus commented Mar 29, 2018

PoS

@Buttaa
Copy link

Buttaa commented Mar 29, 2018

i think this is the most recent news about it:

@pipermerriam
Copy link
Member Author

pipermerriam commented Mar 29, 2018

@Arachnid
We can't make it ASIC proof, but we should be capable of at least rendering anything currently in production either obsolete, or at least requiring more R&D.

Assuming there's was an alternate ASIC resistant algorithm we were happy with, do you think that the act of forking will adequately demonstrate our willingness to fork the protocol, which should deter bitmain and other manufacturers from sinking costs into producing ASIC miners for Ethereum.

@AtLeastSignificant
Copy link

I would say the Monero approach has been successful based on the press coverage / sentiment I observe, so yes - forking would demonstrate our willingness to prevent ASIC domination (same attitude as the "poison the well" statement in the whitepaper).

Even if it proves to only be a minor setback (forces 2-4 months more R&D), the process itself is valuable to other blockchains. It may be wise to just have scheduled changes to the algo and not be so reactionary.

@DanielRX
Copy link

I think merely showing that we will not support ASICs will make these producers think twice about trying to build an ASIC for ETH, they may then move all the ASICs over to ETC (not sure if that's relevant).

@pipermerriam We only need to show that the protocol and community stand to the opinion of ASICs being a no-go, even if this fixes things for less than a month, it 1) reduces the problem for that month and 2) may open users upto the idea of hardforks being a good thing when used for this case.

Off topic: As discussed in the reddit link, this may allow for a "mini-HF" that means we can add some of the EIPs ready to be forked in along with this

@DanielRX
Copy link

@Arachnid who could / will find some form of stats on GPU usages? It seems like we could see at which total difficulty point many GPUs would leave, and then have better stats on how quickly x H/s will make GPUs drop out, and then how big an effect ASICs could have.

@LefterisJP
Copy link
Contributor

I will echo @MicahZoltu and ask why assign manpower/resources on such research if PoS is going to render this obsolete anyhow?

@DanielRX
Copy link

@LefterisJP as much as I agree, the issue is one of both protocol and community

Is PoS going to be here soon enough for this to be wasteful? How much damage could ASICs do in the meantime? Is this not dropping the "ASIC resistance" from the original roadmap?

While it may be fine in protocol to wait, it reduces the communities opinion on the deliverance of the ideals they were promised.

The real question to be asked is will PoS be here fast enough to avoid needing this EIP?

@Cakez0r
Copy link

Cakez0r commented Mar 30, 2018

If there is to be a PoW change before PoS is released, why not also consider making GPU mining rigs obsolete in the same patch (E.G. CryptoNight)? Let's see if this is truly about decentralisation or whether it's just GPU miners acting against the interests of the network to protect their hardware investment.

@mjdillon
Copy link

@Cakez0r I think while making the hash GPU resistant as well as AISC resistant would be the utopian dream, practically speaking, it would leave the network with a woefully small number of miners in the short term, which could lead to a number of unintended consequences.

@quantumpotato
Copy link

PoS solves the electricity problem, but it doesn't solve the centralization of hashpower that the anti-ASIC movement, in Monero, afaik, aims for. I think this was the main push behind the Monero discussion eg. https://www.reddit.com/r/Monero/comments/86zb03/the_end_of_all_asic_miners_moneros_new/dw9ieji/

@hadees
Copy link

hadees commented Mar 30, 2018

It just makes sense to keep it ASIC resistant. That was the goal from day one. If they are on the network it creates a possible threat before PoS happens. We don't want to rush PoS so we need to fix the mining.

@MicahZoltu
Copy link
Contributor

@quantumpotato With full PoS there is no more need for "hashpower", thus no need for ASICs. If someone does build some kind of ASIC, they won't have a distinct advantage over someone running a validator on their laptop.

@naure
Copy link

naure commented Mar 30, 2018

This issue is independent of POS.
It lives on completely different scales of time, complexity, and uncertainty. POS may be delayed, not work well enough, or simply not be adopted. Meanwhile ASICs can spread like wildfire (and it's suspected to have started), after which you can never get rid of it. In fact, that would hinder the smooth transition to any other consensus protocol. It should be fixed before that.

@cforce07
Copy link

  1. Ethash as ASIC resistance algorithm.
  • I believe ethereum team should keep it's promised to us as public on it's ASIC resistance algorithm until the end of PoW era. This is image that ethereum should lead other relative smaller crypto to go to. Few more month to go does not mean we should not take care on this ASIC resistance branding. We as no 2 crypto in the world, should keep it's promise to public until the end of contract.
  1. Current pace of network hashrate/difficulties
  • there is no way the entire world production can meet current calculation of network increase by these few months ( see chart December to march )
    We already let bitmain mine at least few months. Are we going to wait bitmain earn the most and give those used machine to public ?
    We should challenge bitmain centralization mindset by "soft threaten" we will fork if they come out with those products.
    Remember..bitmain never loss.. they already ROI with those machine.. the one suffer is public(ethereum supporter who want buy those machine)
    Ethereum foundation should step up on this.

If we want end PoW era.. give a perfect ending for it.

@naure
Copy link

naure commented Mar 30, 2018

soft threaten

It should be systematic even, to discourage the investment, and because they keep it secret.

@MicahZoltu
Copy link
Contributor

[the spread of ASICs] would hinder the smooth transition to any other consensus protocol

Commenting on this just to prevent the spread of incorrect/misleading information, but this comment really has nothing to do with ASICs:

Miners are not part of the governance system. They are a service provider that can be fired as soon as they are not needed anymore (e.g., PoS). If every miner decides they don't like full PoS (which presumably they will) then they can simply all be fired (which they will). There is no need to get buy-in from miners for anything, you need buy-in from economic participants such as people selling goods/services in exchange ETH. For partial PoS (Casper v1) any miner that doesn't get on board will simply be fired (ignored by Casper enabled clients).

@archills
Copy link

Casper is still Pow/PoS hybrid. Considering the bitmain's previous behavior. I reckon it is necessary to hard-fork.

@Arachnid
Copy link
Contributor

@pipermerriam We can't make it ASIC proof, but we should be capable of at least rendering anything currently in production either obsolete, or at least requiring more R&D.

The problem is, unless we know how the ASIC works, we're basically taking stabs in the dark at an alternate algorithm. We can't know for certain what type of change would be necessary to obsolete any existing design.

Assuming there's was an alternate ASIC resistant algorithm we were happy with, do you think that the act of forking will adequately demonstrate our willingness to fork the protocol, which should deter bitmain and other manufacturers from sinking costs into producing ASIC miners for Ethereum.

Personally, yes - but then, I wouldn't have expected anyone to release an ASIC in the first place.

@naure
Copy link

naure commented Mar 30, 2018

@MicahZoltu This is true in the long term. "smooth transition" is the keyword. It is easier to upgrade the existing infrastructure to an hybrid system, with GPUs quietly reconverting to other activities VS two groups with opposite incentives trying to promote their chain and discourage the other.

@oskarwu
Copy link

oskarwu commented Mar 30, 2018

It's very difficult to design a completely ASIC proof hash algo .... Current Ethash is memory bound design , but only memory bound does not mean the memory controller part can not be ASIC-like .... The only way to create a ASIC proof POW block chain is try to make ASIC die size as large as possible to make each of the ASIC as more expensive as possible ... So take one simple idea for example : Let's say each hash function can be highly optimized by circuit design and shrink to a small die size area , but if we create like 1024 hash function in the hash function table but only use like 16 and randomize them in chain for each hash ... That means only 16/1024 of the die size area is utilized for hash function .... That will decrease the ASIC efficiency and when the cost of such ASIC is higher than GPU , there is no incentive to design ASIC to compete with GPU ....

@MicahZoltu
Copy link
Contributor

REMINDER: Ethereum's PoW algorithm was designed to be ASIC RESISTANT, not ASIC PROOF. Ethereum's PoW algorithm is ASIC resistant and has achieved that goal quite well considering it has been years without any known ASICs and the first ASIC to be announced isn't that impressive compared to a GPU. Arguing that Ethereum must change its PoW algorithm because it was "promised in the paper" is not a reasonable argument.

REMINDER: Making miners happy is not a primary goal of Ethereum. Its primary goals are censorship resistance and trustless interactions. ASICs are fine as long as no single actor (by behavior) dominates PoW mining. We only need to make it until PoS, so whatever strategy we embark on only needs to keep mining out of the hands of a single dominant miner until PoS. Note that even with ASICs, due to the resistant nature of EthHash it would still take a lot of capital invested in Ethereum mining to control 50% of hashing power and anything custom-built for EthHash will become worthless once full PoS launches. This is a huge financial risk for anyone looking to take over 50% of Ethereum hashing at this point using ASICs.

@krtschmr
Copy link

krtschmr commented Apr 4, 2018

@MicahZoltu

Making miners happy is not a primary goal of Ethereum. Its primary goals are censorship resistance and trustless interactions.

thanks for stabbing our back 2 years after we backed ethereum it's time to get rid of us. wohoo!
maybe we are all greedy and obviously ASICs are taking our profits. some of us have even more then 1M$ invested into GPU mining farms. of course for own benefit, but on the other side we are all big believers in this technology.
Miners are the ones that brings ETH towards PoS. Without us there is literally nothing going on. Better make us happy than angry.

If we are forced to leave to to whatever reason (ETH drops 50$ or Network goes 800 TH/s or whatever) then Ethereum is nothing else then a chinese controlled smart contract chain.

@int03h
Copy link

int03h commented Apr 4, 2018

Again - it's like everyone has turrettes. Shouting fork fork fork doesn't produce even one line of code.

What is it that everyone would like to fork?

Switching the algorithm is INSANELY idiotic. Tweaking it even a little could break the whole network and potentially destroy video cards, and not even affect the "ASICS".

The devs are not clairvoyant. Coding something just for the sake of appeasing the masses is a waste of their time and ultimately delays PoS.

Doing nothing requires no code, therefore it is a solution to problem that can't be proven to exist.

Increasing the rules around the DAG file size would punish many and might just make the ASICs "break" but it would probably obsolete 1/4 of the network. Again. is a solution. A supremely stupid one, but a solution nonetheless.

And .. if Bitmain has made something new, then we should all embrace it, believe me AMD and NVIDIA are not going to let some random Chinese crytocoin hardware manufacturer that doesn't own a single Fab out manuever them.

The BTC devs all had their fingers on the scale when it came to mining. They saw the innevitable coming very early on when the first Avalon was put on Gavin's desk at the foundation and they purposefully ignored it. What BTC is now is the result.

Dagger Hashimoto has weathered the storm for many years. Land is in sight with PoS. Burning our boats and jumping ship is kinda pointless now.

This isn't Reddit or Bitcointalk or Twitter, either calm down or write some code and commit it.

@AliAshrafD
Copy link

AliAshrafD commented Apr 4, 2018

Being a programmer long enough to have some voice, I don't like the 'write code or be silent' slogan some folks are repeating over and over. Code comes after the direction has been set, well, in most cases.
As of this thread's request for vote, I say 'nah' for the time being but I think we should wait for the shits to be available and find out in what extends they are truly ASICs and how many manufacturers can compete and keep the game fair enough.
For instance, I have this impression: Bitmain has designed an Application Specific System (instead of Integrated Circuit) and it can be easily decoded and replicated by other companies (including small ones). If it turns to be true, obviously there will be no long term threat to the network to be fixed by a hard fork, otherwise, urgent response should be taken into consideration.

@int03h
Copy link

int03h commented Apr 4, 2018

To be clear my words were "CALM DOWN or write some code". There is a difference.

@masonticehurst
Copy link

@AliAshrafD I agree, you simply don't write code without a general consensus or reason beforehand.

@QuintLeo
Copy link

QuintLeo commented Apr 4, 2018

[Quote]
Yes it's official that Bitmain has ASIC now called Antminer E3 with a mere 180MH/s @ 800W. But IMO these are just rebadged version 1.0 of their ASICS that they wanted to get rid of and profit from. Else why on earth they would sell them for mere $800 where a 180MH/s mining rig costs ~$2500 at minimum to build.
[\quote]
Because they have a very short time available to make their price back before they become nearly worthless when ETH goes proof-of-stake.
Also, before AMD cards got into extreme short supply it was entirely possible to build a 6-card RX 470/480 mining rig for more like $1400 that would match the stated performance of the E3 - and at the end of your run with a GPU-based rig you still have all the parts that are usable for SOMETHING ELSE and have a significant resale value.

The recent increase in total network hashrate is EASILY accounted for by GPU sales - it's noteable that when the hashrate leveled off about 2 weeks back, AMD gpus started getting available AND THE PRICE STARTED DROPPING ON THEM pretty quickly.
It only takes about 1.5 million gpus per quarter for 1Q and 2Q 2017, perhaps 2 million for 3Q, and a bit over 3 million for 4Q 2017 and 1Q 2018 each.
For perspective, AMD and Nvidia combined sold OVER 50 MILLION DISCRETE GPUS in 2017 - and both have been CLAIMING that "miners are the cause of the recent shortage", which on the part of Nvidia is a blatant lie (it's doubtful they sold more than 3 Million or so to miners out of their OVER 30 MILLION TOTAL SALES).
AMD has stated that "total GPU sales to miners was less than 10% in 2017" but that GPU total includes on-motherboard chipsets, and probably also includes sales of their various APU and CONSOLE APU sales as well.
There is no need for ASIC to have been a significant factor to account for the increase in total network hashrate for the last year (appx) since altcoin prices jumped, and the probability is that Bitmain only has a few "engineering sample" rigs in existence at this time and is just STARTING to ramp up production on them given the MID JULY timeframe before the E3 starts getting delivered.

For some additional perspective - to just MATCH the existing Ethereum network hashrate (leaving out the ethash other coins like ETC) would take over 1.5 MILLION E3 units to be built.
Bitmain might have sold that many of their "beats anything else in the industry" S9 miners by now (there's enough room in Bitcoin and SHA256 alts to account for a bit over 2 million S9 units, but you also have to account for sales of the Avalon 721 and 741, internal use at BW.COM of their SHA256 miners, sales of the Ebang units, whatever Bitfury has sold that has gone into mining usage, and "design and use the chips ourselves" on the part of at least one "huge US based mining farm" I'm aware of and possibly others as well that I'm NOT aware of).
Keep in mind though that Bitmain has needed almost 2 YEARS to sell that many units, and my actual guess is that they have sold just a little over ONE million units in the last nearly-two-years timeframe.
The E3 is NOT going to kill Ethash mining, it's going to take months just to put a noticeable DENT in it - very similar to the situation in Scrypt mining where the older A2/Titan/Alcheminer generation is STILL PROFITABLE TODAY to mine with if you have low-enough electric cost despite being 2-3 YEARS old ASIC technology while the "current generation" ASIC (A4/L3/L21/L3+/A4+/A6) are more than 5 TIMES as efficient.
The difference is that the E3 is NOT more efficient than current GPU rigs - it's actually a little LESS efficient than a well-optimized 1070 based 6 card rig (186-189 Mhash common at 700-750 watts draw at the wall) and only a tossup with a well-optimized RX 470/480/570/580 based 6 card rig (164-180 Mhash depending on the specific cards and presuming BIOS modded for improved memory timings AKA strapping, 700-850 watts at the wall ballpark again depending on the specific cards).
The ONLY thing the E3 has going for it is twofold - low cost (but with NO residual value) and it's more compact than riser-based rigs (though not a LOT more than some of the 4U "mining cases" can manage, based on the pictures of it to date.

There is NO threat of other companies "easily decoding and replicating" the Bitmain chips - it would be faster and easier to design from scratch. Keep in mind we're talking feature sizes that you need something on the order of a Scanning Tunneling Microscope to even look at - and the field of view on those things is TINY....

BTW - the "usual" size for a Bitmain batch on ANY of their miners has been about 3000 units - there is no way they can get enough chips to manage HALF A MILLION E3 units in a very few months, there isn't enough foundry space left over after Samsung, Nvidia. AMD, Apple, and IBM get through their shares.

Keep in mind that EACH miner Bitmain builds normally has over 100 mining chips in it - it's not like a GPU where the chip is quite a bit bigger but there is normally only one GPU chip per card.

(I don't count memory chips as those have DEDICATED production lines for making them).

@AliAshrafD
Copy link

For the record:
I'm not speaking of decoding Bitmain's chip (there is no such thing at all) nor I'm afraid of it, instead I'm counting on other companies to check and find out and replicate the tricks Bitmain has employed in E3 (as a whole rig) to keep the costs and the price low. If they fail and let us down, ASIC or any other proprietary technology, it should be slammed back by an immediate hard fork, obvious!

@pilsy
Copy link

pilsy commented Apr 4, 2018

It's worth it to note that they very well may not be the only one with a working product, https://etherscan.io/address/0x52e44f279f4203dcf680395379e5f9990a69f13c is the address of bw.com ~ who in less than 5 day's has amassed over 2.5% of the global hash power...

@AirSquirrels
Copy link
Contributor

AirSquirrels commented Apr 4, 2018

Ignore - I was looking at a litecoin miner.

They do claim to have 50,000 ETH mining rigs available for rent...

@krtschmr
Copy link

krtschmr commented Apr 4, 2018

Email just in

Now you can order even 5 units of the E3!


Dear subscriber,
We have received a very promising response to the Antminer E3 batch. Thank you for that.
Many of our buyers have been unhappy about the limit of one miner per user that we had set to prevent hoarding and to allow more individuals to purchase this limited stock of the Antminer E3. To allow all individuals to buy more units and, at the same time, prevent hoarding, we have now increased the limit to five miners per user.
We have also removed the geographical restrictions to allow our international buyers located in Hong Kong, Macau and Taiwan to buy the Antminer E3. Buyers in Mainland China can still not buy this batch.
Click below to learn more or to order now:
https://goo.gl/QFF2wt
Regards,
The Bitmain team

can we agree, that Bitmain is going furious?

@ethereum ethereum deleted a comment from fynnsh Apr 4, 2018
@ethereum ethereum deleted a comment from aslanteh Apr 4, 2018
@ethereum ethereum deleted a comment from int03h Apr 4, 2018
@ethereum ethereum deleted a comment from kimicg Apr 4, 2018
@ethereum ethereum deleted a comment from dexcrypto Apr 4, 2018
@ethereum ethereum deleted a comment from woodaxed Apr 4, 2018
@ethereum ethereum deleted a comment Apr 4, 2018
@ethereum ethereum deleted a comment from michaelseto Apr 4, 2018
@ethereum ethereum deleted a comment from lkm543 Apr 4, 2018
@ethereum ethereum deleted a comment from krtschmr Apr 4, 2018
@ethereum ethereum deleted a comment from dadyal Apr 4, 2018
@ethereum ethereum deleted a comment from int03h Apr 4, 2018
@ethereum ethereum deleted a comment from ofpcarnage Apr 4, 2018
@ethereum ethereum deleted a comment from int03h Apr 4, 2018
@ethereum ethereum deleted a comment from ofpcarnage Apr 4, 2018
@ethereum ethereum locked as off-topic and limited conversation to collaborators Apr 4, 2018
@Arachnid
Copy link
Contributor

Arachnid commented Apr 4, 2018

Locking at @pipermerriam 's request.

@MicahZoltu
Copy link
Contributor

Closing this issue for housekeeping purposes. People are welcome to continue discussing in this thread, but for additional visibility an EIP should be created or the conversation should be migrated to https://ethereum-magicians.org/

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests