Bitcoin, it seems, has one of two futures.
Either the $40bn economic network that still defies scientists is on the verge of the biggest change in the network's history, or the most advanced of its many long-theorized scaling compromises is headed toward its biggest political failure.
In recent weeks and months, the likely outcome has shifted quickly, often daily, as the varying stakeholders and competing proposals have jockeyed for position, media attention, and in some cases, actual headspace in the form of creative political attire.
What has been less visible, however, is that, in the midst of the chaos, bitcoin has been progressing, slowly and messily, to the point where some sort of action in the years-long effort to increase its transaction capacity seems likely to be taken.
This is partly because of a key proposal that emerged last month.
After convening in a meeting in May, a group of entrepreneurs and miners put forward Segwit2x, certainly not the first, but arguably the most advanced alternative to the roadmap long advocated by Bitcoin Core, the network's open-source developer group.
Armed with the commitments from the majority of bitcoin's mining pools, the group, comprising more than 50 startups and organized by investment conglomerate Digital Currency Group, now has enough influence to push through at least the first portion of the agreement, though it's not without its dissenters.
Come August, a number of outcomes are plausible. Some are more likely than others. Bitcoin could be upgraded smoothly, or not. But, the big conclusion could play out in many different ways.
The SegWit split
For the moment, the most important takeaway may be that every group is pushing for a change known as Segregated Witness. Bitcoin Core's original roadmap, the Segwit2x plan and users rallying around a change known as a 'user-activated soft fork' (UASF), all call for the upgrade.
Introduced already to no ill effect on the litecoin network, SegWit could provide a boost to bitcoin's transaction capacity among other enhancements. But it has yet to activate on its own. (Some mining pool operators and mining hardware companies have long pushed back against the proposal, though the motivations here are varied.)
But as all the proposals now ultimately support SegWit on different terms, many in the community see this as a sign that SegWit is finally going to activate this summer.
The question is whether it could ultimately lead to a split into two bitcoins, due to how the upgrades are set up.
For one, some mining pools are showing signs that they want to take aggressive measures to hard fork bitcoin to a 2MB block-size parameter. If that happens, it's possible that bitcoin could split into two competing assets later in the summer.
The tricky part is that the debate is constantly shifting.
But, to help understand the current state, here's a timeline of what could happen:
Segwit2x soft fork: 21st July
Described formally in BIP 141, SegWit was first released last November. Today, as many as 80% of bitcoin nodes are running it.
And though it has grown contentious, it's important to note SegWit was originally billed as a 'compromise', since it increases the block size (though not in a way changes the hard-coded 'block size').
Partly because of this, the idea did not please everyone. Namely, most mining pools did not upgrade their software in support of SegWit, either because they did not agree with the change or because they were indifferent.
Because of the contention around SegWit, others have been looking for a way to boost capacity that aligns with more stakeholders.
SegWit2x is one alternative proposal that combines SegWit with an increase to a 2MB block-size parameter. Most major bitcoin companies and mining pools representing 80% of the hashrate signed the proposal.
As noted earlier, the compromise might be working. As of Monday, the majority of the bitcoin mining hashrate is signaling support for Segwit2x.
This is a non-binding show of support. But the code is set to be officially released by 21st July, according to the technical working group timelines. Once that happens, mining pools can run and signal support for the change.
If 80% of mining pools run the code for 672 blocks, over a period of four to five days, then SegWit will lock in. Although it's non-binding, it's notable that the mining pools plan to lock-in SegWit the day before 1st August (more on that below).
Three months later, the second portion of the agreement, the 2MB block-size increase, is supposed to kick in. The problem is that if not all users upgrade, this could lead bitcoin to split into two assets. At least some users have said that they don't plan to.
Timeline: Signaling for the change begins on 21st July. Three months after SegWit is activated, users will need to upgrade their software if they want to support the 2MB block-size parameter increase.
Who supports it? Most major companies and mining pools.
If mining pools lock in Segwit2x by 31st July, then that might be it. Otherwise the following events could unravel.
BIP 148 UASF: 1st August
BIP 148 UASF also aims to activate SegWit, but it takes a different approach.
It rekindles an older way of making consensus upgrades to bitcoin, one that doesn't explicitly ask mining pools for support before pushing through a code change. (Some in the community are calling it bitcoin's 'Independence Day' for that reason.)
Many users and some companies are already running code that could trigger this type of soft fork. At this point, nodes will start rejecting blocks that do not signal support for SegWit.
That's why the idea is controversial. As these nodes reject the blocks, they're effectively pushing them to a different network. It's a controversial idea because, like the above hard fork, it could lead bitcoin to split into two competing cryptocurrencies, both called bitcoin.
But, some argue that it has more of a psychological affect. For example, some believe that mining pools rallied around Segwit2x on Monday in response to growing support for BIP 148. The idea is that, if they don't want bitcoin to split, SegWit needs to be activated somehow prior to that date.
Timeline: On 1st August, nodes that are running BIP 148 will start rejecting blocks from miners that do not support SegWit.
Who supports it? Some users, some businesses, some miners and some developers, but like the other proposals, support is split.
UAHF: 12 hours after BIP148
If BIP 148 gets off the ground on 1st August, mining firm Bitmain plans to roll out a "user-activated hard fork" (UAHF) in response.
This could potentially protect users' money in the event of a split, according to the company, by making the split more permanent. In theory, a bitcoin hard fork could provide protection from a 'wipe out', where transactions on one version of the blockchain might accidentally be erased.
Still, mining pools might lose money if they end up mining a competing fork. So, some are calling the the Bitmain UAHF a bluff.
Another mining firm, ViaBTC, unveiled a related plan on Monday to guard against the prospect that some in the community may not uphold the 2MB increase portion of the SegWit2x agreement.
The far-fetched goal is to incentivize the creation of a bitcoin with bigger blocks by raising the funds to do so via an initial coin offering (ICO).
Timeline: If BIP 148 triggers, Bitmain will start mining a private chain and open it up to more bitcoin users if there’s enough support.
Who supports it? Two mining firms, Bitmain and ViaBTC.
What lies ahead
Still, it's possible that all these scaling efforts will become obsolete once mining pools lock in Segwit2x. If not, though, there is the more complex timeline to keep in mind.
Meanwhile, there are other complexities to the argument, not the least of which is that it can seem like bitcoin users are voiceless in the middle of all this in-fighting.
This was the highlight of a debate between Blockstream CEO Adam Back and Peter Smith, CEO of bitcoin wallet startup Blockchain, on a mailing list last week. There, Back argued that users don't want a small group of entities dictating the rules of what's supposed to be a decentralized currency, while Smith asserted that its wallet users want cheaper fees.
Given the complexities of the outcomes above, bitcoin's biggest question now may not be whether it will upgrade, but whose vision for the network will win out when it does (or doesn't).