-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Comments
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. |
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? |
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. |
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. |
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. |
@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. |
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. |
PoS |
i think this is the most recent news about it: |
@Arachnid 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. |
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. |
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 |
@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. |
I will echo @MicahZoltu and ask why assign manpower/resources on such research if PoS is going to render this obsolete anyhow? |
@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? |
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. |
@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. |
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/ |
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. |
@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. |
This issue is independent of POS. |
If we want end PoW era.. give a perfect ending for it. |
It should be systematic even, to discourage the investment, and because they keep it secret. |
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). |
Casper is still Pow/PoS hybrid. Considering the bitmain's previous behavior. I reckon it is necessary to hard-fork. |
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.
Personally, yes - but then, I wouldn't have expected anyone to release an ASIC in the first place. |
@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. |
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 .... |
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. |
thanks for stabbing our back 2 years after we backed ethereum it's time to get rid of us. wohoo! 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. |
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. |
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. |
To be clear my words were "CALM DOWN or write some code". There is a difference. |
@AliAshrafD I agree, you simply don't write code without a general consensus or reason beforehand. |
[Quote] 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. 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. 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). |
For the record: |
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... |
Ignore - I was looking at a litecoin miner. They do claim to have 50,000 ETH mining rigs available for rent... |
Email just in Now you can order even 5 units of the E3!
can we agree, that Bitmain is going furious? |
Locking at @pipermerriam 's request. |
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/ |
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:
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.
The text was updated successfully, but these errors were encountered: