The Breakdown - A 101 Guide To Ethereum’s ProgPoW Controversy
Episode Date: February 27, 2020Last Friday on Ethereum’s core developer call, the devs agreed to push forward a controversial anti-ASICs consensus algorithm switch known as ProgPoW. The broader Ethereum community was not pleas...ed, and has spent the last week debating both ProgPoW itself as well as the way decisions in the community get made. In this 101-guide to the controversy, @nlw breaks down: What is ProgPoW The history of the debate Arguments for and against Who falls on what side and why The implications of ProgPoW for DeFi
Transcript
Discussion (0)
Welcome back to The Breakdown, an everyday analysis breaking down the most important stories in Bitcoin, crypto, and beyond, with your host, NLW.
The Breakdown is distributed by CoinDesk.
Welcome back to The Breakdown. It is Thursday, February 27th.
And today we are going to break down the debate around Prague Proof of Work, Prague P-O-W in Ethereum.
So a couple of caveats before we jump in.
The first is that I am coming at this from something of an outside observer's perspective.
I have not been involved in any of these debates.
Ethereum is very interesting to me, but it's not a community that I'm deeply interwoven in or
anything like that.
And the way that I have tried to make sense of it is by just reading the perspectives
of a lot of different people from across the community, representing different interests
within the community, to try to put this together.
So really important that this is not a kind of inside observer, it's an outside observer.
What I want to try to do with this is go through and present this in such a way that someone
who is in my similar shoes, right, who's not in the Ethereum community, or who even just
hasn't been really paying attention very much, can make sense of what the conversation is,
why it matters to different groups, where different groups stand, what the context of the most
recent part of this debate is and where things stand today and what might happen next. So that's the
goal. I hope that this is useful and enjoyable. So let's dive in. So first up, what is Prague P.O.W,
other than a hashtag that you're probably seeing all over Twitter. Prague P-O-W stands for programmatic
proof of work. And the idea is that it is a different consensus algorithm from the current consensus algorithm
for Ethereum, that would be specifically designed to combat ASICs and favor GPUs. So let's talk about
these terms a little bit. A GPU is just your average processing chip that anyone would be using
in their normal personal devices, right? Whereas an ASIC is a dedicated hardware chip that is
specifically designed to mine a unique hash algorithm. So ASICs are built for specific proof of work
mining, right? So there are Bitcoin Asics that are just designed that hardware is useless except
for mining Bitcoin. Now, there are pros and cons to ASICs mining. On the pro side, they can
really increase the security of a proof-of-work chain by making it easier for people to deploy
more hash power against the mining of that chain. Now, on the other hand, ASICs do tend to push
out small individual miners that are using their GPUs to mine.
It's so much more efficient that it doesn't really create a lot of space for those large
decentralized networks of individual miners. Because of that, you basically have the risk of centralization,
where ASIC-based mining captures all of the hash power available within the context of a particular
chain. So in some ways, you have a centralization versus security dialectic. And different proof-of-work
chains have different approaches to this. So Monero famously has a very anti-Asic stance where they update their
hash algorithm at regular intervals so that even if people do produce an ASIC for the Monero hash
algorithm, well, within a few months, it's going to be out of date and that hardware is going to be
useless. So they basically combat ASICs in that way. Now, let's look at the history of the Prague-POW
conversation within the Ethereum context. Prague-P-O-W has been a discussion in Ethereum since, since
It's basically Bitmain released an Ethereum ASIC in 2018.
So Bitmain, who's obviously one of the biggest companies in Bitcoin mining,
released an ASIC that is specifically designed to help mine Ethereum.
And that creates the potential, again, of greater concentration of mining activities,
not in this large decentralized network of people mining with their GPUs,
but with companies that are specifically dedicated and are willing to pay the capital expenditures
to buy lots and lots of Ethereum ASIC mining devices.
So there's been this conversation going on for a while, but it hasn't really been a hot topic for a minute.
This was, of course, until Friday.
So next, let's talk about the context for this most recent dustup.
Last Friday, Ethereum had its core dev call, where basically they talk about the different upgrades planned for the next version of Ethereum that will be pushed in a future fork.
So on Friday, after that meeting, one of the devs involved posted the brief notes and recap of the call.
And people were like, wait a second, what's this about Prague POW?
Because they mentioned something in passing about Prague POW.
So someone responded on the thread, Captain Crypto 33, says,
So Prague POW is a go?
That's great news unless I'm reading this wrong.
James Hancock, the core dev who was tweeting, said, you're not wrong.
Feedback is still appreciated.
Harry Glyn at Harry Canuck says, I'm shocked to see this given all the pushback from the community.
I thought it was DOA.
Twitter is going to be filled with more Prague-P-O-W arguments again.
Eric Connor, who's one of the folks behind Eth Hub, says, yeah, this is extremely disappointing to hear.
There is clear contention in the community, but the core devs continued to just shake it off and act like it's not there.
I had hoped months back that it was clear this was contentious and we had just moved on.
Also, for the first time maybe ever, we have no community infighting.
The focus is on adoption and usage in ETH2 is really close.
I'd hope we'd be smarter at, quote, reading the room and not introduce something like this,
which poses nearly all risk and no reward to the broader community.
Okay, so basically, we have on Friday a core dev call.
On Friday as well, a community finding out that those core devs had agreed to implement
Prague-P-O-W in the next Ethereum update, and the community finding this
out after the fact and being like WTF mate. So later, Vitalik got in on the conversation as well,
and this was in the context of a different thread that was focused on governance, so you'll see why
that's kind of the context. Vidalik says, by the way, the way Prague-P-O-W was ninja reapproved definitely
did not help make people trust the governance or feel safe, and arguably drove the Twitterati
to believe that they have to send loud, simple, and clear messages to get their voice heard.
So on the one hand, Vitalik is saying that this may not have been the best process guys,
but he also kind of did use this dismissive term of Twitterati, and that was picked up on by the community as well.
Andrew, who's at Cyberhokey says, reducing non-deves to, quote, Twitterers and quote coinholders
is awfully dismissive of a large percentage of the total user base, infrastructure funders, and community builders.
These people give value to the code devs produced by valuing it, using it, share.
sharing it and supporting it. So here we have a new factor introduced to this, which is a power
dynamic, right? A power dynamic between core devs on the one hand and everyone else on the other,
and a question of within the messy context of Ethereum social governance, whose perspectives
matter. But at this point, maybe it's worth getting into a little bit about the arguments
for and against Prague POW and what has people actually upset about this specific issue.
All right, so Prague POW, who is for it and why and who is against it and why?
For this, I'm going to lean on the recent newsletter from Camila Russo in her defiant newsletter
that gets into the Prague POW issue.
She worked with a number of members of the community, including Scott Lewis and Eric
Connor, who I just mentioned, to really compile these different pros and cons.
And so I'm going to share what they collectively came up with.
So first, the Prague-P-O-W side, which again is a mining algorithm that focuses on preserving the role of GPU miners and maybe slowing down or hindering the role of ASIC miners.
The arguments for this are one, that it reduces the risk of minor centralization.
As we talked about before, GPUs are cheaper, they're more affordable, more people use them.
They're more likely to be used by a large decentralized network versus ASICs, which are going to be.
very focused on commercial enterprises who are designed to mine, which could introduce centralization.
Number two, because ASICs are network-specific and that hardware can't be used to mine other coins,
it potentially could reduce the incentives for people to launch attacks on the network.
So that's number two.
A third is about the idea of what was intended.
So the third argument presented here is that the Ethereum algorithm, ETH hash, was always meant, quote-unquote,
to be ASIC resistant. There's a fourth argument, which I think has been more of what I've seen,
actually, which has to do with the transition to proof of stake. And effectively, the argument in this
case goes that there's going to be some transitionary period between proof of work and proof
of stake on the Ethereum network. ASIC miners have a very strong incentive to prevent the transition
to proof of stake, right? ASICs are specific to Ethereum. And so if you've put in a bunch of money to
invest in ASICs for a specific chain and that chain is making a decision to move away from
proof of work entirely, it will render all of that money that you've put into that ASIC mining
apparatus totally useless, right? It no longer is paying itself back. It's no longer making money.
That's just dead hardware. So in that estimation, the miners who are using ASICs have a very
strong reason to push back against, try to delay, try to sabotage, whatever you want to say it is,
the transition to proof of stake. So that's the fear that I've seen actually behind a lot of
the arguments for Prague POW is that the ASIC miners are potentially a source of instability
when it comes to the transition to proof of stake. So it's kind of a fourth pro reason that I've
scene. Now, the three arguments that Camilla lists that are against Prague POW, so these are in favor of
keeping the eth-hash algorithm as it is, which is to the boon of ASIC miners, so they're, you know,
obviously their hardware isn't rendered useless. The three arguments that they're listed here are,
one, not enough support for Prague-P-O-W raises the risk of a fork, of a contentious fork that could
split the Ethereum chain. We'll get into in a minute why this is so problematic. Second,
there's a concern around Ethereum governance, basically that if this goes through in this way,
it represents an Ethereum governance capture by people who have a vested interest in GPU mining.
So again, this gets back to that process argument.
Third is that it would be an unnecessary distraction, right?
This shift to Prague-P-O-W would be an unneeded distraction when there are a lot more pressing issues,
such as Ethereum 2, right?
Ethereum 2.0.
So those are the pros and cons,
and it really then comes down to a question of who is for this
and who is against this.
Well, obviously ASIC miners are going to be against Prague POW.
Core devs who are worried about ASIC miners
capturing the process or hindering the process of moving to
proof of stake are for it.
And then the community is kind of in between.
And the question is how split is the community?
So, Omar Baum did a poll the other day on Twitter where, obviously, you know, take any Twitter polls
with a grain of salt, but he had this poll, should Ethereum hard fork Prague POW to disrupt ASICs for
the benefit of GPU miners? Is it worth the risk of splitting the chain and community at this point in the
game to uphold decentralized mining? The responses, and there were 2,070 responses to this,
The responses were yes at 23.2%, no, at 43.4%.
Don't know, what is Prague POW at 15.7%.
Hey guys, I have a podcast for you.
And then the people who wanted to view results were 17.7%.
Which, by the way, I really hate that as part of polls, but what are you going to do?
So that is kind of a pretty clear indication that at least with this engaged slice of the Ethereum
Twitter community, there are far more people who are against the idea of ProgPOW than who are for it.
Okay, so now let's take a step back and actually talk about what I think is going on. I'm going to be now a
little bit subjective. I think that really what we're seeing here is a fight around three things,
process, power, and potential problems. So first process, there is a clear consternation with the way that
this decision was made that transcends just the issue itself, even though the issue is important
and contentious, right? This was something where the community thought that they had made their
voices heard, that Prague POW was not something they wanted to see, but then CoreDev seemed to
just kind of slip it in anyways, right? Vitalik called it Ninja Reapproved. And so there's a real contention
around the process. Eric Connor wrote another piece about potentially how the Ethereum
improvement process could change and be different based on this. But I think that it's very clear that
there is a process issue in terms of how decisions get made. Now, this is part of the messiness of a new
type of organizational structure that isn't an organization at all, but is in fact a network of
competing interests. But certainly process is part of the problem here. A second part of the problem
and the reason that this Prague-P-O-W debate matters has to do with power, right?
There is a power dynamic between what Vitalik called and what some people interpreted as
Vitalik dismissively calling the quote-unquote Twitterati and the core miners on the other hand.
And so you really have these two sides where there's this set of people who are building the actual
protocol who feel because they are building the protocol that they are entitled to make
important decisions like this. And then you have this other set of people who believe that because they
breathe life into the protocol through the marketing advocacy, building applications on top of it,
actually, you know, giving it value through their belief, they need their opinion to be heard as well.
This is a key power dynamic that we've seen play out in other chains. You know, some people have
pointed out that this is reminiscent of the user-activated soft fork and the
block-sized wars in Bitcoin, which in a lot of ways came down to a power question, more than even
a technical question, of whether mining interests in that case could capture and drive
and commercial interests could capture and drive the Bitcoin Protocol, or whether these sort
of small stakeholders, some of which were just, quote-unquote, anonymous Twitter accounts,
you know, hiding behind avatars or whatever, could actually make their voices heard.
And in Bitcoin, at least, the ability for the larger community of small stakeholders to really push back
and stop a decision that was contentious, but favored by many of the largest companies in the space,
was a really important power moment in the history of Bitcoin.
I think there is something similar here that we're seeing in terms of where power lies
or trying to figure out where power lies in Ethereum.
Now, the third, and I think most direct, least theoretical, least philosophical problem here is the issue of defy, and what defy means for the state of Ethereum right now.
So Chris Black makes this point very concisely in a tweet 17 hours ago as a time of recording.
He said, nobody is making a strong case why we need Prague-P-O-W.
I get that some people want it, but it's not worth the goddamn chain split risk, okay?
Clap emoji.
Defy can't afford a contentious chain split.
Nearly one billion is at stake here.
Can we stop f***ing around with this now?
Please.
So, obviously, an impassioned speech.
But this is not the only person who is talking about this.
In fact, last October, Dragonfly research put out a medium post called Ethereum is now
unforkeable thanks to DeFi. And the entire thesis is basically that if Ethereum forks,
the implications for breaking defy are so phenomenally huge that it makes it nearly impossible to imagine
a scenario where a fork, a contentious hard fork, is actually worth it. So I'm actually just going to
read from the conclusion of the piece because I think they sum it up better than I can. They say,
what this little thought experiment tells us is this.
Ethereum is not what it used to be.
In 2016, Ethereum was still a proof of concept.
And ETC could plausibly claim to be a better version of how the quote,
world computer should evolve.
But today, it's clear that ETH is valuable because of the systems that exist on top of it.
Unlike Bitcoin, whose ledger is simple enough that forks are functionally airdrops,
ETH's ecosystem is incredibly complex.
Because its applications are intertwined with,
components, the entire system is rendered unforkeable. Any minority folk is doomed to obscurity.
Defy is the ultimate kingmaker in any future governance crisis. Users, miners, and developers certainly
have a voice, but the chaos that would be unleashed by unraveling Defi ties everyone else's hands.
With all of the new higher-level financial applications coming online in the next year,
defy is liable to only become more fragile. So this, to me,
is really the nut of it. And what I think is effectively what I might call the birth of protocol
conservatism. Defy is the centerpiece at this point of Ethereum. It is the driver of financial
interest in Ethereum. It is the driver of developer activity in Ethereum. Defy is a huge part
of what makes Ethereum what it is. Defy is also an incredibly complex, interwoven set of
composable protocols that all work together in very specific ways. In the context of a chain fork,
it could unravel that, right? It could turn this very intricate foundation into an absolute
house of cards. And the interesting thing is that this means that there is now something real
in Ethereum. It's not just future potential. It's not just the
these things that might happen later on, but things that are actually happening now and that
have specific rules and that have real money in them. When you get to the point where there is
something that's worth protecting, your bias as a community becomes to protect that thing
rather than to potentially threaten or disrupt it. In some cases, change is going to be a threat,
and in those cases, that creates a new type of conservatism, which might have felt very odd and out of place
even just a couple years ago before defy. I think Bitcoin has gone through this where the longer that
this protocol has existed, and the more important it is as this fundamental building block of
a new store of value system for the world, right, a new global settlement system,
the less willing people are to introduce new things that could upset the apple cart.
I think we're starting to see the beginnings of that in Ethereum as well.
And now I don't think that this means that there's no innovation happening.
Obviously, there is a huge amount of innovation happening across Defi, right?
And tons and tons of experiments and certainly beyond Defy in Ethereum as well.
What I mean by this idea of the birth of protocol conservativism is that people are less willing than before
to take risks that could introduce fundamental change that could disrupt that core thing that is
at the genesis or at the core of so much of the value. And that, I think, is at the core of what's
happening here. It's not that people necessarily who are against Prague-P-O-W think that A-6 mining
is great. It's that they are unwilling to risk a contentious hard fork within the community
that could be catastrophic for defy because it might be a little bit better in the context
of ASIC mining, right? It could prevent a theoretical unknown attack later from ASICs minor who don't want
to transition to proof of stake. That's what's at stake here is that there's an issue that they believe
or a thing that they believe would happen, a contentious fork in the case of Prague POW versus things that
could theoretically happen as it relates to problems with ASIC miners. And when the risk is the devaluation
of Defy, it's just simply not worth the risk.
So what's next with the Prague-P-O-W debate?
Well, Eric Connor says in a tweet just from yesterday,
I'm going to stop bringing up Prague-P-O-W until after the next core dev call on 3-6.
I feel that the voice of those opposed has now been heard,
and further debate has diminishing returns for all.
Andrew, Cyberhokie, says,
if I'm reading the all-core devs getter correctly,
most core devs appear to be apathetic reprog POW.
I'd like to see more demonstrable support for an EIP amongst Debs
before contentious changes are greenlit.
If it's something we can live without, it's not worth the risk.
So here we have Eric saying that he thinks that the voices of the community have been heard,
and Andrews saying that basically it doesn't seem like the support for this is that deep
among those core devs, even if they voted to go forward with it at the last call.
Nick Johnson, who is a lead developer of the Ethereum name system and at the Ethereum Foundation,
really kind of makes this point. He says,
I was initially a strong proponent of Prague-P-O-W, and I still believes it achieves its stated goal
of being ASIC-HARD. I also believe that it's a worthwhile goal. Asic miners lose 100% of their
investment if ETH transitions to POS, so they have a strong incentive to resist that.
I think both ASIC-HARD and ASIC-friendly algorithms are reasonable options for POW. The middle ground,
which turns out to include ETH hash isn't.
With it, A6 are possible and more efficient,
but hard enough to design that they limit competition.
But when the whole goal of Prague P-O-W
is to reduce the likelihood of a contentious fork,
it makes little sense to implement it
if it seems likely to result in a contentious fork of its own.
In my view, P-O-W change on ETH-1
has become more trouble than its worth.
That is, I think, a really reflective answer, right?
If the whole goal of Prague POW is to reduce the likelihood of a contentious fork,
it makes little sense to implement it if it seems likely to result at a contentious fork of its own.
The reason that I wanted to take the time to dive deep into this is that I think it's, well, one,
it's one of the most important issues right now in one of the most important chains in the crypto space.
But two, I think it is emblematic of a huge amount more than just Ethereum and just Prague POW.
I think these dynamics of how decisions get made in the process for decisions being made in decentralized
networks is new uncharted territory for us, right? It's a new experiment. The idea of how power
operates in those networks and what the power balance is between communities of advocates
as opposed to large financial interests is also new territory that has to be hashed out.
the issue of a conservatism that grows over time on the basis of there being more to protect,
this is a phenomenon of networks that get successful enough to have something to protect.
These are all emblematic of much larger issues across crypto, and I think this is a great case study.
So hopefully this has been useful, and if not, or if I've missed things, please let me know.
I'm at NLW on Twitter.
And depending on how this conversation evolves, maybe we'll do a follow-up where we'll actually
actually have some of the people who are more intimately in this conversation, actually come
share their opinion. But for now, that is today's breakdown. We will be back tomorrow with a cool
interview talking about markets and more. Until then, keep hanging, and I will catch you
soon. Peace.
