I recently went back and listened to all the Core Dev calls that I could find in which ProgPow was discussed (call 38, and every call between 45-57 – let me know if I missed any) to understand the process by which we got to this point. These are the governance-related issues that I found most concerning:
1. There was an assumption from the beginning that it was appropriate for the Core Devs to horse trade with the GPU miners
Core devs talked about giving miners ProgPow in exchange for them accepting the issuance reduction from 3 to 2. It seems far from obvious that this sort of thing is appropriate. I’d guess that many in the community believe that GPU miners should not receive compensation from the network to ‘offset’ harms, but that we should instead only offer such compensation when it benefits the network as a whole. At the very least, if the network is to give out compensation like this it’s something that more than just the Core Devs should decide. It’s not a technical issue.
2. There is an assumption that’s almost never stated explicitly that ASIC resistance is a worthy goal to pursue
There is research and theoretical arguments suggesting that ASIC resistance makes the network less secure (see https://youtu.be/N6eDuEEb0Oc?t=458 for instance). Never at any point in my review of the dev calls did I see the Core Devs engage in how this change impacts the cost to attack Ethereum, which IMO is the most important consideration. It is true that the whitepaper is anti-ASIC and ethash was designed to be anti-ASIC, but our understanding of crypto network security has improved since then. Hudson did ask at least once if anyone had any opinions about whether ASICs were really a problem: https://www.youtube.com/watch?v=TafZui-DnV0&feature=youtu.be&t=3387, but his question was met with 18 seconds of silence.
3. To make such an impactful change we probably want to get feedback from more than miners
Here’s a very condensed timeline of how the initial tentative consensus was reached, based on my notes. I may have missed some things, and am not aware of anything that might have happened outside of the Core Dev calls:
On call 38 the IfDefElse team joins the call the present ProgPow to the Core Devs.
On call 45 there were several miners giving their opinions on ProgPow in the context of issuance reduction discussions.
On call 47 Hudson says that there’s renewed interest in getting ProgPow into a future hard fork, but it’s not clear from listening to the call where the interest is coming from. I’m guessing miners? Hudson later says that he’s been talking to video card manufacturers about it.
Calls 48, 49, and 50 have technical updates and implementation progress. On call 51 the devs confirm that ProgPow has not been decided yet.
Miss If and Mr. Else (creators of ProgPow) are on call 52, where Hudson makes clear that in the call they’ll talk about “if” they should ship ProgPow, not when. Most devs who speak seem in favor of shipping it, one has concerns about the amount of work required. They discuss for about 45 minutes in total. At the end of this call, Hudson says that they’ll tentatively go ahead with ProgPow unless there’s some major problem found.
I believe it was after call 52 where the first big pushback occurred. It looked like the Core Devs made the decision after after consulting with miners and the IfDefElse team, but I didn’t see much evidence that anyone reached out to the broader community. As noted above, all I listened to were the calls so I may be missing attempts to rope in others.
It’s seems hard for the community to discover such things organically, because discussions about ProgPow were sandwiched between discussion of technical issues that legitimately only required the consensus of the Core Devs, making it hard for non-Core-Devs to find the relevant discussions. Even if the community was following the Core Dev calls and had listened to call 51, there was no indication that the Core Devs were going to make the tentative go-ahead decision by the end of call 52.
4. There doesn’t seem to be enough awareness of conflicts of interest.
As in the Afri situation, conflicts of interest exist and are relevant regardless of whether the parties in question are doing anything wrong.
Given that the situation we’re in now seems to be the result of miners initially pushing for it, it would have been nice to see more skepticism and attempts to reach out to the broader community. There seems to be an assumption in the dev calls that what miners want should be given significant weight. IMO this is pretty controversial and not something for the Core Devs to decide.