Title: A_ProgPoW_Compromise_Pre_Proposal
Category: Magicians

Author: bendi
Date: 2020-02-27T19:20:14.230Z

This post summarizes an as-of-yet unwritten EIP for a compromise on ProgPoW. It has been created solely by myself, Ben DiFrancesco, without the input or suggestion of any other persons or entities. The intent of this post is to share the idea, collect said input, and gauge community interest. Should such interest materialize, a formal EIP would be created.
A Note On Compromises
By definition, a compromise entails an agreement where neither side is fully satisfied with the result. That means— if you have a strong opinion on ProgPoW— you won’t be happy with this proposal. That doesn’t mean it’s not a workable path forward for the community, so please don’t dismiss it outright.
Motivations
As succintly and fairly as possible, I aim to present the motivations of each group below.
Pro-ProgPoW (PPP)

Ethereum should strive for ASIC resistance because it’s part of the social contract as defined in the Yellow Paper.
Specialized hardware is inherently centralizing. It places the network at risk of being 51% attacked by secret ASIC’s, and/or disrupted intentionally while attempting to transition to PoS in ETH 2.0 by miners with mis-aligned incentives.

Pro-Status-Quo (PSQ)
All consensus breaking upgrades are inherently risky, none more so than a change to the PoW mining algorithm. Thusly, the burden of justification lies with those proposing a change, and the threshold of such justification is very high. Based on the current state of the network, and on the unsettled state of the research related to ASICs and security, the Pro-ProgPoW arguments fall well short of the necessary threshold.
Goals
This proposal aims to balance the security concerns of the PPP group with the risk aversion of the PSQ group. The security concerns of the PPP group are (to date) theoretical, but if we wait until attacks are observed to take action, it may be too late to avoid serious harm to the network. Conversely, if the PPP group’s concerns never actually materialize, then we risk serious harm to the network by implementing an unwarranted change.
The proposal does not aim to resolve the PPP group’s belief that ASIC resistance is an immutable part of Ethereum’s social contract (labeled #1 in the PPP Motivation section). Ultimately, this contention is a value judgement, one that each individual must evaluate for themselves.
The Proposal

ProgPoW should be fully implemented and tested across all major clients.
ProgPoW should not be included as part of any planned or future upgrade hardfork.
All clients should include a command line switch which enables ProgPoW at a block height specified by the node’s operator.
A ProgPoW enabled hardfork of the Ropsten testnet should be created and maintained using this switch. (Up for debate: should this fork be a new, parallel testnet, or should it simply replace Ropsten).
A strong Schelling point should be encouraged in the Ethereum community: if clear evidence of an ASIC-lead attack on the network is ever demonstrated, Ethereum stakeholders will coordinate to activate an emergency ProgPoW hardfork, at an agreed upon block height, using the switch.

The Reasoning
Both the PPP group and the PSQ group share a desire for Ethereum to remain secure and decentralized, and to successfully transition to Ethereum 2.0. By fully implementing, testing, and maintaining compatibility with ProgPoW— and standing ready to activate it in the case of an emergency— we can coalesce on a solution that focuses on these common goals.
The existence of a fully implemented, tested, and easily enabled ProgPoW would serve as a sword of Damocles hanging over the heads of any would-be malicious miners. If they’re altruistic, it does them no harm. If they’re inclined to attack or to thwart Ethereum 2.0, it changes the incentive structure of any such attempt. Put simply, it acts as a deterrent

Author: fubuloubu
Date: 2020-02-27T19:49:11.303Z

Thank you for starting this conversation! I think this is the best common-sense approach we have to resolving this issue amicably. Compromise is a very legitimate way to do this within the current system.

A few notes:

This entire proposal may not make sense to have be an EIP. I think what should be done (coordinated further by this discussion) is 1) Move EIP-1057 to Accepted 2) Write a Meta-EIP coordinating the Ropsten fork. These make sense given the current EIP process, and aligns things up nicely for the political process to occur most efficiently.
The political components of this discussion (this post, the letter called EIP-2538, other writings and posts spanning the entirety of this discussion) should be collected together in a reference-able format, perhaps a blog post on the Ethereum website.
The agreement should be achieved on an ACD call by having people from both sides of the discussion come together and formally agree on this being the path forward, mentioning the work they’ve done in aligning the community down this path.

Author: greerso
Date: 2020-02-27T19:59:25.042Z

What are is/are the perceived risk/s that could cause serious harm to the network?



 bendi:

All consensus breaking upgrades are inherently risky, none more so than a change to the PoW mining algorithm





 bendi:

if the PPP group’s concerns never actually materialize, then we risk serious harm to the network by implementing an unwarranted change.


What would the Schelling point look like?



 bendi:

A strong Schelling point should be encouraged in the Ethereum community: if clear evidence of an ASIC-lead attack on the network is ever demonstrated, Ethereum stakeholders will coordinate to activate an emergency ProgPoW hardfork, at an agreed upon block height, using the switch.


We know efficient miners exist but are not widely available and E3’s will no longer be able to mine ethash mid April.  If you allow specialization now, you will have a rush of new investment into hardware, no idea what an attack would actually look like or where it was coming from.  Once the GPU’s are pushed out, you cant just fork to ProgPoW and expect to be back at a safe ~180TH/s, Ethereum would be vulnerable either way.
If you want to embrace ASIC’s, choose Keccak256 which is much easier to design an ASIC for, will be more competition so manufacturers will have to sell to public and it would issue a blow to rival chain ETC.
The ETC proposal.  Change the ETC Proof of Work Algorithm to Keccak256 | Ethereum Classic Improvement Proposals

Author: cadilha
Date: 2020-02-27T21:22:15.530Z

bendi:

A strong Schelling point should be encouraged in the Ethereum community: if clear evidence of an ASIC-lead attack on the network is ever demonstrated, Ethereum stakeholders will coordinate to activate an emergency ProgPoW hardfork, at an agreed upon block height, using the switch.


It’s a fair attempt to reach a compromise but it’s contrary to governance minimization and defers the coordination burden to a later date.
Without an unequivocal prior definition of “clear evidence of an ASIC-lead attack on the network” then Ethereum will contentiously split.
It simply delays it from the next hardfork.

Author: mstobie-seequent
Date: 2020-02-27T21:59:12.606Z

It’s not just equivalent to a delay because it will probably never happen.
A 51% attack is easy to spot, there’s never more than a few blocks rewritten otherwise.

Author: bendi
Date: 2020-02-27T22:00:09.066Z

greerso:

What are is/are the perceived risk/s that could cause serious harm to the network?


I think it should be obvious why a change to a new hashing algorithm is a risky one.



 greerso:

What would the Schelling point look like?


I think what you’re asking is, what is the definition of “clear evidence of an ASIC-lead attack.” This is a fair question that warrants discussion.



 greerso:

If you want to embrace ASIC’s, choose Keccak256 which is much easier to design an ASIC for, will be more competition so manufacturers will have to sell to public and it would issue a blow to rival chain ETC.


I don’t believe PSQ folks want to “embrace ASICs”, I think they want to avoid a risky change without clear evidence of it being required. For various reasons, I don’t think ETH should be making any decisions based on what ETC is doing.

Author: bendi
Date: 2020-02-27T22:01:51.723Z

cadilha:

It’s a fair attempt to reach a compromise but it’s contrary to governance minimization and defers the coordination burden to a later date.
Without an unequivocal prior definition of “clear evidence of an ASIC-lead attack on the network” then Ethereum will contentiously split.
It simply delays it from the next hardfork.


A future split is possible, but I hardly see how it’s guaranteed. Ethereum is not Bitcoin— network upgrades are part of the social contract. If we’re hurtling toward a contentious split, then a compromise which gives us a good chance of avoiding one is worthwhile.

Author: ajsutton
Date: 2020-02-27T22:14:53.017Z

bendi:

I think it should be obvious why a change to a new hashing algorithm is a risky one.


This is not at all obvious. I can see why people might think the hashing algorithm is such a high risk part, but it’s actually relatively simple to test and have confidence in the implementation.  Changes to the EVM and other highly interrelated components are much more likely to cause chain splits due to bugs and are much harder to test comprehensively, yet people don’t raise the same concerns for them.

Author: fubuloubu
Date: 2020-02-27T22:19:58.751Z

ajsutton:

yet people don’t raise the same concerns for them


In fact, the vast majority of EIPs that should have received the levels of attention this one has don’t get that attention, simply due to the fact that they’re unpolitical.

Author: greerso
Date: 2020-02-28T02:00:39.915Z

We’ve run it on a testnet, been audited, running on another testnet.

Author: bendi
Date: 2020-02-28T02:05:07.484Z

ajsutton:

This is not at all obvious. I can see why people might think the hashing algorithm is such a high risk part, but it’s actually relatively simple to test and have confidence in the implementation. Changes to the EVM and other highly interrelated components are much more likely to cause chain splits due to bugs and are much harder to test comprehensively, yet people don’t raise the same concerns for them.


Fair, and granted. Let’s not spend time arguing over whether people should consider it risky, let’s just acknowledge the reality a large percentage of the community seems to and is unlikely to change their opinion. Given this, what do you think of this proposal as a way forward that  (hopefully) avoids a contentious fork?

Author: greerso
Date: 2020-02-28T02:10:34.830Z

If not risky why compromise on an option that is very risky?

Author: bendi
Date: 2020-02-28T02:14:00.220Z

Which part of my proposal is risky? And is it riskier than the on-the-ground reality of a potential contentious split of the network, and the damage that would cause, if ProgPoW is crammed down on a segment of the community which vehemently opposes it?

Author: greerso
Date: 2020-02-28T02:21:32.805Z

It’s risky in that there will not be enough miners on standby to defend against the undetectable attack you won’t be forking from because of imperfect governance.
Some community is against because it’s risky, but it isn’t, now they’re still against it enough to participate in a contentious split for why?  We’re headed back into meta contention.

Author: bendi
Date: 2020-02-28T02:25:14.528Z

greerso:

It’s risky in that there will not be enough miners on standby to defend against the undetectable attack you won’t be forking from because of imperfect governance.


What is this undetectable attack you’re alluding to?



 greerso:

Some community is against because it’s risky, but it isn’t, now they’re still against it enough to participate in a contentious split for why? We’re headed back into meta contention.


Some people believe it’s risky. You don’t agree with them, which is fine, but you’re also unlikely to convince them otherwise. Compromise is about moving forward despite disagreeing in a way that’s productive, if not ideal, for both parties.

Author: greerso
Date: 2020-02-28T02:36:09.864Z

bendi:

What is this undetectable attack you’re alluding to?


The issue will be centralization by miners newly invested into PoW ethash with a multi-million dollar per day pot of rewards. ‘Attack’ doesn’t have to mean double spend against exchange and reorganize.  How can we not recognize that as risky yet think an audited small ethash fix is risky?
I can’t tell you what the attack will be, only that the incentive and opportunity will be there without ProgPoW, less so with.

Author: bendi
Date: 2020-02-28T02:41:53.724Z

greerso:

‘Attack’ doesn’t have to mean double spend against exchange and reorganize. How can we not recognize that as risky yet think an audited small ethash fix is risky?


Surely an attack must at least be detectable in some way. If you don’t even know it’s happening, does it qualify as an attack?



 greerso:

I can’t tell you what the attack will be, only that the incentive and opportunity will be there without ProgPoW, less so with.


The proposal specifically aims to address the incentive to attack. If they do, then their ASICs will be hardforked into uselessness by a community that is prepared to do so. It’s a deterrent.

Author: greerso
Date: 2020-02-28T02:59:53.845Z

The ‘attack’ doesn’t even have to involve hashing. I would bet on constant sewing doubt and meddling in the multi-year transition to PoS.  Maybe not in their own name, we have no idea who has the Canaan V10’s, V2200’s or the magic ethash fpgas.
I don’t think speculating on what an attack could look like without even knowing what the target (transition to PoS) looks like is practical.
The threat of fork is no threat at all if you no longer have the miners to protect from rented hash. It’s an empty threat.
Can we get to the bottom of why the people so opposed are so opposed and continue to try to find compromise with that information?
If they are invested in A10’s, Bitmain or Canaan, be honest about it, let’s get them shipping ProgPoW ASICs with the 20% efficiency gain, we have an enormous number of miners that would buy them.  If they have E3’s they’re done anyway, maybe we propose reducing the DAG size and speaking to @OhGodAGirl about the possibility of an E3 firmware update to mine ProgPoW. Bitmain says they’re GPU inside on their statement about the DAG issue.
https://twitter.com/OhGodAGirl/status/1233431665281773570

Author: bitsbetrippin
Date: 2020-02-28T03:35:56.950Z

I am looking to host a livestream tomorrow to talk through the various conversations I have had with community members, developers and interactions publicly and privately on the topic. This is the most level set solution to date, given the public discourse and I have a few ideas on the trigger or better put, the Schilling Point.
I will highlight this proposal in that stream along with Hudsons post if its ready by then. Some of these conversations, we are simply talking past each other and concerned overall for network health in different perspectives.

Author: greerso
Date: 2020-02-28T23:59:25.813Z

This is a link to one of the many discussions on this very idea.
https://gitter.im/ethereum-cat-herders/ProgPoW-review?at=5d836ff95ab93616941cc4b5

Author: bitsbetrippin
Date: 2020-02-29T02:35:42.336Z

I’m reading through this, but there is not point to debate with someone that is selflessly arrogant. That kinda statement tells me all I need to know with the weight of their influence and position within this ecosystem.

Author: VanwaTech
Date: 2020-03-01T06:01:49.543Z

LOL! PRO STATUS QUO
That’s best clown statement I’ve ever heard.
ASIC Resistance IS the status quo for Ethereum.

Author: VanwaTech
Date: 2020-03-01T06:05:44.473Z

The drama is what kills Ethereum.
ProgPoW is 100% better every single way.
There’s truly no argument against it.
BUT
What’s worse then staying on Ethash is saying we are switching to progpow every 3 months and never doing it.
If Ethereum would just say “We will never switch to ProgPow we will be forever on Ethash” okay then thats fine at least people can plan around that.
It still would be terrible in comparison to moving to progpow, but atleast there is SOME vision and consistency even if its a shitty one

Author: CryptoHokie
Date: 2020-03-02T03:50:53.698Z

I feel this is a good compromise and would support it. I’m a little weary about giving the nodes the option of which block height to activate, because that can cause a consensus nightmare and unplanned/unprepared-for network splits. But if we can work around the switch as more of a flagging mechanism than activation mech that could work. A strong signal to help the nodes coordinate, which is typically managed by the ACDs but puts them in a precarious decision on highly political proposals.
I’d like to also relay some of the risks those against ProgPoW are concerned with from my own perspective. This is my own list so anyone else can add if they need:


All hard forks carry significant risk of an unclean activation resulting in a a chain split whether they are contentious or not. This is why coordination is so important and having everyone from mining nodes to service nodes  on the same page as far as planning and supporting the new chain. I don’t believe we have the coordination to execute this HF cleanly given a subset of the mining nodes cannot support it and have no option but to continue mining blocks under the old rules. Service nodes, like Infura’s, generally take a conservative approach, upgrading at the last moment to avoid any release bugs/issues from impacting them. It’s likely some end up on the ethash chain at least temporarily, causing all sorts of confusion and uncertainty. This is even greater an issue during political HFs as they take a wait and see approach.


There will be a chain split. There is no question of that. There is hashrate that cannot upgrade so their will be blocks mined on the prior chain. How long that lasts for is anyone’s guess and is dependent really on there being zero economic incentive to mine it any longer. With that all but certain, there is a high likelihood of opportunists seizing the chance (perhaps in coordination with the ASIC manufacturers) to ensure the chain survives by getting it listed on an exchange. There are very deep pockets involved and the listing fee on many exchanges is relatively small by comparison to the potential earnings (see BCH). If someone paid the “donation“ to Binance, they’d all but guarantee the ethash chain never dies, as speculation can sustain it. Additionally, the state itself is valuable. There isn’t much work needed, if any, to make things like Uniswap just work on the new fork. Thst said, the fork isn’t something we can really prevent now or later on, it’s a permissionless system, but rushing to make it happen now is IMHO not worth the risk of destabilizing Ethereum and pushing projects, users, etc. away due to a loss of confidence.


The concerns over the transition to PoS are largely unfounded speculation. ASICs can play information games and fork the chain at any of the upcoming planned forks, but it would not be in their economic interest to do so until the final fork to enable full PoS, as they will still reap rewards from Ethereum through Phase 2 and the migration of ETH 1 state to an EE in ETH 2. It’s more likely they simply sustain the PoW chain following the transition, which, to be honest, is their right as a marginalized party (ETH 2 marginalizes all miners to the point of irrelevance). Additionally, the idea that massive GPU operations will not play similar games or sustain the Ethereum PoW chain post transition is a naive assumption that minority coins or illiquid GPU mineable coins provide a stronger incentive for GPU miners than a fork of Ethereum, with all its valuable state and pre-built dapps/defi infrastructure. If this were the case all minority fork would have no hashrate and be dead on arrival, and we know that’s not the case. So long as some actors have the means and motive to keep the PoW fork alive, it will be valued in the market. To this point I see now reason why we fork now, versus then. If we fork now, it’s likely we will end up with 3 chains come PoS transition, vs 2 if we simply do nothing. Each surviving fork carries the potential to dilute Ethereum’s network effects, as well as place significant burden’s on those developing atop it.


The dApp developer / user burden. Every fork of Ethereum in which the prior version does not die, carries a burden for those building atop Ethereum. I would ask everyone to read Alex Van de Sande’s piece on that subject: https://medium.com/@avsa/avoid-evil-twins-every-ethereum-app-pays-the-price-of-a-chain-split-e04c2a560ba8


This sums up my primary reservations with the ProgPoW fork in general.
If we can find a workable compromise, such as what Ben has proposed, I think it’s worth analyzing.

Author: gcolvin
Date: 2020-03-18T20:48:24.486Z

CryptoHokie:

There will be a chain split. There is no question of that. There is hashrate that cannot upgrade so their will be blocks mined on the prior chain.


This might be the strongest argument against any change in our hash function.  It might also be the strongest argument against ASICs, as they will cause any upgrade they cannot follow to cause a split. This might also be a reason to pay the price of fighting them now before it gets any larger.  (This applies to any other part of the protocol that ASICs freeze in hardware.)

Author: VanwaTech
Date: 2020-03-19T06:20:43.224Z

Split is exactly what we need. Ethereum needs to innovate and improve - people can create as many legacy Ethereum versions as they want. They will never be more than ethereum classic 2.0 3.0 4.0 whatever.
Ethereum has to innovate or it will continue to die out

Author: VanwaTech
Date: 2020-03-19T06:21:31.994Z

Let the ASIC miners have a circle-jerk on their own tiny little chain with a market cap of $0 because no one uses the coin.
The ONLY thing that drives coin value is coin usage. That’s why BTC is an order of magnitude more valuable than ETH.

Author: greerso
Date: 2020-03-19T20:02:14.907Z

Monero have forked 80% ASIC hash from their network, more than once.  I am not aware of a Monero ASIC fork that survived.  Why would Ethereum be any different to Monero?
https://twitter.com/hyc_symas/status/1237393957195145220

Author: VanwaTech
Date: 2020-03-20T03:50:58.590Z

Very true - Monero is a great success story of a coin that despite very little awareness and utility still retains almost a billion $ in value on pretty much the basis of its asic resistance alone

Author: VanwaTech
Date: 2020-03-30T04:10:25.110Z

ASIC manufacturers are mining on millions of ASICS right now.
You must be rational and ask - why on earth would a company sell an ASIC miner if they can just mine themselves.
The only reason they would sell is if they feared progpow.
Everytime progpow comes around Linzhi is about to deliver.
They’ve been mining for years now and are making bank during this recession.

Author: masher
Date: 2020-04-30T15:26:06.887Z

I really think something like a New Social Governance Layer for Ethereum could be helpful in discovering community signal on the ProgPOW debate.
I think there needs to be a way to qunatatatively gauge the numbers surrounding what the community thinks about the issue so that core devs can make the most informed decision possible.
How can one decision or another effectively be made if the current tools we have to gauge sentiment on the issue are inadequete?
Having more data to back the decision would lend validity to whatever decision ends up being made (I have no opinion on what decision should be made, just want to create a system where sentiment on topics like these can be quantified for the core devs).

Author: JustAResearcher
Date: 2020-06-27T17:55:57.954Z

Seriously, the manufactures are making money hand over fists with these ASICS. I’m almost scared to see how bad it really is as far as mining centralization.
I remember when monero forked it’s ASICS off for the final time. Hash went down like 90%+.
Is that what we want? To be dominated by a few manufacture? Sounds super centralized to me .

Author: VanwaTech
Date: 2020-06-30T04:58:22.256Z

The Ethereum ASIC manufacturers are making billions dumping the coin. They mine well over 90% of the hashrate.
Greatest irony is that all the asic proponents thought they would be part of the game, but they are not