Jeff Garzik has been accused of a lot of things of late.
Since taking the lead on turning the Segwit2x scaling agreement into code, the CEO of blockchain startup Bloq has been accused of everything from closing off bitcoinâs open-source development to encouraging unnecessarily aggressive network changes to playing loose with facts to sway public sentiment on the plan.
But if the long-time developer, one of the first employed by a startup to work directly with bitcoinâs underlying software, has emerged as a lightning rod, Garzik seems enthusiastic about the role.
Fond of taking on critics head on in lengthy Twitter exchanges, Garzik may be unique among bitcoin developers in displaying a largely take-charge entrepreneurial mindset, one that finds him at odds with the projectâs more security-conscious developer group, Bitcoin Core.
But if Garzik is under scrutiny now, heâs likely to be there for some time.
While there are a few steps left before bitcoinâs long-awaited capacity upgrade is a done deal (itâs looking increasingly likely that bitcoin miners will push a scaling upgrade by the end of August), the code changes heâs shepherding arenât due to conclude until the fall.
Thatâs when theyâll perhaps hit a fever pitch that dwarfs the current debate, and in a new interview, Garzik doubled down on his intent to introduce the code for a hard fork that would further boost the networkâs capabilities while putting it again on a path to a split.
Against this backdrop, Garzik sat down with CoinDesk to discuss his thoughts on the future of Segwit2x, addressing the key questions and controversies that have been bubbling behind the scenes of late.
Below, that interview is reproduced, though some of Garzikâs comments have been shortened for clarity.
Mining pools started signaling for BIP 91 earlier than expected this week â why given that theyâve been reluctant about SegWit in the past?Â
They were chomping in the bit. One of the completely ridiculous narratives out there is that mining pools are blocking SegWit and donât want SegWit for various reasons.
In real life, theyâre chomping at the bit to activate SegWit.
Theyâre really ready to plunge and take the plunge to step two in scaling, which is raising the block size. They were ready to pull the trigger as soon as everyone could get their nodes spun up.
Didnât the original deployment of SegWit stall because of lack of mining pool support?
Well, it was more than just miners.
Thatâs the thing about Segwit2x. SegWit wasnât going to increase the block size at a speed that was realistic to a lot of the players in the space. By itself, itâs a two-step upgrade. First you upgrade the nodes to support those new rules, then you have a year-long process of updating the wallets. Upgrading the wallets, that second step, is where SegWit actually brings new capacity.
After this long, contentious debate, a SegWit-only path would only leave us with only the same capacity that we have now.
Thatâs why it stalled. And why Segwit2x moves that needle forward. It delivers guaranteed short-term capacity. Thatâs the base block size increase. And it sets the foundation for the long-term, and thatâs SegWit.
Mining pools are already running the code. Is it safe for them to do so even if the final release isnât out?
Absolutely. The consensus rules have not been changed. Those are the security rules changed across the entire network.
Weâll release the final version when itâs ready. If there are bugs, weâll have a second, third, or even fourth release candidate.
Itâs released when itâs ready. There are never guarantees with software.
Segwit2x introduces SegWit code to the network, but youâve been critical of SegWit in the past, or at least soft forks. Did you change your mind in support of Segwit2x?
Nope. Basically what happens with Segwit2x is thereâs a short, interim soft fork and a hard fork that locks in those SegWit rules. It locks in in a way in a A or B way. Thatâs what a hard fork does that a soft fork doesnât. It gives users a choice to follow the chain or not.
But with a soft fork, all rules are already accepted by all rules in a soft fork. You can imagine many different situations where you donât want to automatically accept new rules.
A hard fork is different in that the network doesnât automatically accept the new rules.
Iâve been a proponent of SegWit as a hard fork, because you lock in those rules in a way that people endorse those rules or not. Thatâs the outcome of Segwit2x. Post-hard fork, the SegWit rules are locked in.
Segwit2x is most likely to result in one coin, whereas a big block hard fork or just a SegWit upgrade was stuck at 30% hashrate and no consensus from economic nodes. You have SegWit-only, Bitcoin Core supporters. Then you have partisans on the other side â the we need big blocks, Bitcoin Unlimited, etc.
Neither of those were getting full traction in the market. It got to 30% and then got stuck. The community was just at this gridlock stage.
Segwit2x at a high-level attempts to move past that gridlock, moves past the communities are stuck in a way that results in one coin that doesnât result in a chain split. That riles up people in the big blocker community as well as some of the people in the SegWit-only, Bitcoin Core community. But thereâs a lot of support for it and itâs getting rolled out on the network right now because Segwit2x is, ironically, the fastest path for activating SegWit.
Many in the community have criticised Segwit2x for its closed development process.
Thatâs pretty typical of the mud slung by Peter Todd and Adam Back specifically. Itâs not true at all. The GitHub is completely open, the mailing list completely open. All the feedback thatâs been received has been thoughtfully addressed.
The feedback that weâve received from Bitcoin Core to date has largely been make-this-change-that-breaks-all-of-the-wallets-type changes, signaling the hard fork in a different way, or just a disruptive, trolling GitHub comments.
Thereâs all sorts of mud being slung. There are some people who donât like things being done in the way they wouldnât have done them.
The main criticism that comes up is the 2 MB hard fork. Some developers think that it could be done in a safer way or think that the three-month timeline is too fast.
This gets into the weeds of the scaling debate. Those are criticisms from people who have delayed planning a hard fork for years. Thatâs really why supporters of Segwit2x wants to move on. They didnât get more than 30% traction. SegWit is a great technology, but itâs not very good at delivering capacity.
Capacity, high transaction speed â and the proposal proposes to extend a years-long delay with another years-long delay as SegWit capacity ramps up. Thatâs the core at that disagreement.
Folks whoâve failed to plan for a hard fork whoâve thrown shade on all hard forks are throwing more shade on this one. Thatâs entirely expected. Thatâs part of the process of reaching across the isle and bringing these two camps together.
Itâs no surprise that the democrats in bitcoin donât like the republicans in bitcoin.
It seems like some are completely opposed to a hard fork, but some developers think that the timeline should extended to a year instead of three months.
Iâll disagree with that. If you go through the Twitter history, theyâve been saying that for years. Thereâs never enough time for a hard fork, yet that planning never happens.
The community has lost patience with that message. Thereâs no outcome other than delay.
Will Segwit2x add replay protection in the case of a hard fork?Â
Definitely. There have been a few proposals.
One was proposed by a Bitcoin Core contributor. That replay protection would break every wallet, so we view that as a non-serious, disruptive proposal.
The other proposal was from [former lead bitcoin maintainer] Gavin Andresen. Others have proposed forms of opt-in replay protection.
Thatâs definitely something weâre looking into, but weâre not interested in breaking all wallets.
There is a contingent of bitcoin users who disagree with the hard fork aspect of Segwit2x. Will that impact whether it succeeds?
Thatâs actually why I think that hard forks are better than soft forks.
With soft forks youâre automatically accepting the new rules. If you disagree with a hard fork, then you do not automatically accept the new rules. From a governance perspective, thatâs very, very healthy.
To answer your question, that wonât disrupt the hard fork.
Furthermore, itâs a good thing that people can disagree with the hard fork. Disagreement and freedom of choice is great and itâs what makes bitcoin great.
Do you think that could lead to a split then?
I do. My predicted outcome, as weâre seeing right now, is that the miners are adopting the BTC1 software. And that leaves the vast majority of mining software on one coin.
By definition, a minority chain behaves in a certain way. If a large amount of the hashpower splits away from the chain or in a UASF scenario, where many users run away from the hashpower, the software behaves in a very predictable and known way. The chain grounds to a halt. Instead of it taking 10 minutes to mine a block, it takes, say, a few hours per block. You have 2016 blocks before you have a difficulty ramp-down.
What that means for users is that itâs unusable for a while. What happens when thereâs a hard fork is thereâs going to be â the vast majority of hashpower will activate and secure the 2 MB chain.
There will be a chain that nobody uses. Number three, there will be a tiny amount of activist users who donât want a hard fork at all. And that will continue as a much smaller security level.
Say it does split and the minority group coin doesnât work as well in the way that you described. Isnât that forcing choice?
I agree. Thatâs very true. There are unquestionably incentives that lend you to stick to the chain with the most hashpower.
But the governance point is that thereâs a choice point. Whereas in a soft fork thereâs not. But every user has to make that choice.
I think the more informed each user is, the better.
What do you think of other scaling proposals like BIP 148 or BitcoinABC?
UASF has no hashpower and no economic nodes supporting them.
If it werenât for Segwit2x activating SegWit, they would fork themselves off into the unusable chain scenario that I described.
They would have to create a second chain fork to correct the difficulty to get back to the 10-minute block times. Thatâs how it will play out without hashpower, which looks like unlikely scenario. With hashpower, which is how things are playing out now, SegWit will get activated and the UASF folks will get what they were asking for â and there will be no chain split.
BitcoinABC is creating a new coin. Segwit2x is not going to have a major impact on BitcoinABC itself. There will be a slight reduction in hashpower, maybe 4% moves to BitcoinABC. Itâs essentially an altcoin, where every bitcoin holder has a stake in the new coin.
It shouldnât majorly impact bitcoin users or Segwit2x.
Some people are saying that the UASF is what led to Segwit2x, and that mining pools are are signaling for BIP 91 right now to avoid a UASF.
Itâs basically to maintain unity. Not to avoid UASF, but to make sure that everyone on the main chain stays on the chain by activating SegWit. Itâs the unity path. Everyone, including the UASF activists, get what they want, which is SegWit activating.
Itâs going through the Segwit2x path by activating at âbit 4,â which should lock-in today. That will flip on âbit 1â which will activate SegWit.
That âbit 4â activation three months in the future will also trigger the fork rule change.
Some have argued that sidechains are a better alternative to a 2MB hard fork, since users can opt-in to a system with whatever blocksize parameter they want.
Bloq sponsors the Drivechain project, which is a project for adding usable sidechains to bitcoin in the future. Blockstream originated the sidechain proposal, but their sidechain never really made it to bitcoin.
Drivechain technology potentially allows you to have a sidechain that has huge blocks, it doesnât matter what rules are on there.
The issue with that is maturity level. Itâs an in-the-lab science project. Were it more secure, it might be a better solution today, but like Lightning itâs a very promising technology thatâs still getting baked.
So the 2 MB parameter increase is a short-term solution. Then, maybe Drivechain come later?
Exactly. Basically, the 2 MB hard fork is the one path that we know with 100% that guarantees increased capacity.
We donât know how much capacity SegWit will deliver because we donât know how many or how few people will update their wallet software to enable SegWit. Thatâs an unknown. Lightning, we donât know anything about the trust model or economics of that. So, we donât know if that will be used.
Sidechains are similarly just getting baked. All of these are promising projects that we donât know will be a solution yet.
The 2 MB hard fork is definitely a stopgap until we get something better. But as I always say, mind the gap. Itâs pragmatism versus a years-long science project that may or may not work out.
How long do you plan to work on Segwit2x? Are you in it for the longhaul or do you plan to stop after the hard fork?
No, itâs a very focused. It will not expand its charter at all. This is in keeping with IETF working groups. We have this one charter to activate SegWit and activate a hard fork and thatâs it. Itâs a one-and-done. You see the same thing at Red Hat, where I used to work, for developing software and hardware specifications.
When working on the Linux kernel, we got people who hated each other and they actually worked together in a focused setting, accomplishing a specific goal, such as developing USB specifications. Segwit2x is modeled after that. It will be disbanded after thatâs in place.
Now, the BTC1 project, Iâm calling the Fedora of bitcoin. It will be around after the Segwit2x .
Any plans on what youâll do with BTC1 after that?
I really want to create a community thatâs more professional that doesnât spin narratives and sling mud and that welcomes more developers. When I worked at Linux we helped new developers up the steep learning curve.
We could do that, but instead, to my sadness, we have certain portions of the community who are very negative about any new developments and negative in pushing the bounds.
Ethereum has been very welcoming. Bitcoin is by far the most secure blockchain out there, and much more secure than ethereum. But ethereum is doing a better job of attracting new developers.
I want BTC1 to be sort of that welcome sign that I chose as an icon for the project. We want to welcome new projects, welcoming new ideas, rather than attacking ideas that are outside a self-defined bubble.
Is the plan to replace Bitcoin Core?
Absolutely not. This is a patchset on top of Bitcoin Core. Weâll use the best of Bitcoin Core, and we very much welcome those contributions, but also other contributions as well.
We want to work with Bitcoin Core, not against Core. Even if they disagree with us working with them, we want to work with them.
Thatâs whatâs so amusingly ironic. The original SegWit authors are doing everything that they can to delay the rollout of SegWit, which is what Segwit2x is actually accomplishing.
You mentioned ethereum. A lot of people do mention that theyâre more welcoming to new developers or new ideas. But some people argue that that could be a problem for the security of the software.
Thatâs absolutely right. Weâre securing money. With new ideas, comes new risks.
Where Segwit2x comes in is it that, the core contingent is way too much on the conservative side where weâre letting bitcoin slam into this fee wall, which was predictable years ago, rather than prepare for a hard fork.
You can risk-adjust yourself into a corner and hurt market share where youâre being so conservative that nobody can use it.
Now that BIP91 has locked in, what do you see ahead?
Ultimately I think the best path for SegWit, which is not going to happen, would be to deploy it on a sidechain, test it on money for a year and integrate it into bitcoin. Itâs seen some real money testing in litecoin, but thatâs it.
Litecoin, theyâve only done the first step. Wallets arenât using SegWit. The ideal scenario would have been a much longer cycle of real-money testing on a sidechain. That was the original vision of sidechains.
But we have what we have today. I think that Segwit2x is the best chance to deploy SegWit and to keep everyone on one coin.
It clearly has a large amount of buy-in, so weâre confident of its success.
Disclosure:Â CoinDesk is a subsidiary of Digital Currency Group, which has an ownership stake in Bloq.
Jeff Garzik image via TEDx video