Bitcoin is in the midst of a civil war. It has been simmering for some time, though it remained largely out of view to the general public until last month, when a prominent Bitcoin developer announced that the cryptocurrency and the technology underlying were, in his opinion, a failed experiment.

The developer, a former Google engineer named Mike Hearn, believed that bitter infighting and intransigence among the core development team had paralyzed the system, which was facing growing pains that, unaddressed, would cripple the currency so badly it was unlikely to recover. Pundits piled on to pronounce Bitcoin dead, and even its staunchest advocates admitted it was unclear if the project would continue to thrive.

In the three weeks since, a fascinating debate has played out across the globe, as the Bitcoin community struggled to find a way forward. The future remains uncertain, but for now, the cryptocurrency has split in two, with the core development team going in one direction, and a group of influential miners, exchanges, and startups going in another, a separation known as a hard fork. They have created competing versions, Bitcoin Core and Bitcoin Classic, each stemming from the same source code, but now controlled by separate groups of programmers and with major differences in their roadmap.

It’s an intriguing test case for open-source software, highlighting how decentralized systems must grapple with internal conflict. It could end up shining a light on the resilience of the blockchain technology that underlies Bitcoin. But one of our era’s most interesting new ideas, today valued at over $5 billion, could just as easily go up in smoke.

The network wasn't scaling to meet increasing demand

First, let me try and lay out the issue Bitcoin is facing. The basic system works as follows: Bitcoin miners use processing power to complete complex math problems, the cryptographic proof of work that validates bitcoin transactions on an open ledger, known as the blockchain. Miners are rewarded for this validating work with bitcoins. Up until now, each block in the chain was limited to 1mb in size, and the rate at which blocks are mined is relatively fixed. But as the number of users and transactions on the network has grown, this limit has begun to create backlogs, leading to slow and unreliable payments.

For those who want the Bitcoin system to continue to grow and thrive, this is troubling. Merchants can’t rely on digital transactions that can take minutes or hours to validate. A segment of the community has been arguing for an increase in the block size, with proposals over the last few years for changes to the core software that would increase each block in size to 2, 4, or even 8 megabytes. But another segment of the Bitcoin community has been pushing back, arguing that increasing the block size erodes a core feature, some might say ideological principle, of Bitcoin: decentralization.

Making Bitcoin more professional threatens to centralize power

The larger the block size, the more computing power is required to mine blocks. That would shrink the pool of people who can effectively act as miners. The increase would also affect users running full nodes, people who aren’t rewarded monetarily, like miners, but who play a crucial role in the peer-to-peer network of Bitcoin by helping to ensure the same digital tokens aren’t spent twice. The smaller the network, the less decentralized it becomes, something which a core group in the Bitcoin community is aggressively opposed to.

The two sides — those in favor of increasing block size (Classic), and those opposed (Core) — have become increasingly hostile with one another over the last few months. The developer who declared Bitcoin a failed experiment, Mike Hearn, bemoaned the fact that, not only was the community unable to agree on a way forward, but that the argument had boiled over into censorship of its most popular discussion forum on Reddit, DDoS cyberattacks intended to intimidate rivals, and a general atmosphere of ideological civil war about the proper path forward.

Bitcoin is not the first open-source project to struggle with these issues. In theory, the approach is highly democratic and meritocratic. Anyone can suggest a change to the code, and community input, along with trial and error, decides which improvements to keep and which to reject. But in practice, a small group of core coders are the only ones who can implement these changes, because code must be thoroughly vetted and tested to ensure that it doesn’t break the system when implemented. Imagine it as a world where any citizen can easily write legislation, mark it up, suggest changes, and show evidence for their proposal’s value over another, but where making it into law still requires the consensus of a core group empowered with control.

Bitcoin is not dead,we are going through a similar process that early IETF & ICANN went through pic.twitter.com/YHgkQgmBJw — Austin Hill (@austinhill) January 16, 2016

From Linux to ICANN, software projects with this structure have had to contend with moments where a large or vocal segment of the community disagrees with the direction the core group is taking. In some cases, as with Linus Torvalds of Linux, the founder remains a part of the community and has the authority to settle internal disputes. Bitcoin is an interesting case because it has an anonymous creator, Satoshi, who has achieved godlike status for many of Bitcoin’s strongest believers. They pick and choose bits of the text he left behind to bolster their arguments — You see, Satoshi always meant for blocksize to increase! — Never. Idiocy! Heresy!

One side of the argument does have a serious logical flaw

I’ve been following Bitcoin since 2011, but have to confess that the technical arguments about this issue are often incomprehensible to me. I can, however, spot a fundamental logical inconsistency on the side arguing against a change in block size. Take a look at points 5 and 6 in this essay. In the first half of this couplet, the author, representing a large mining pool, argues that the existence of numerous mines and full nodes is crucial to the health and decentralization of Bitcoin. And yet in the next breath he argues that the votes of these users, registered by their decision to adopt certain software over another, should not be used as governance for deciding the future of Bitcoin. No one group should make decisions for Bitcoin, in other words, but a small group of unelected experts, the core developers, should run Bitcoin.

The group in favor of increasing the block size has laid out a more democratic path forward. As written, the new code offered up by Classic will only begin creating bigger blocks — moving up from 1MB to 2MB — 28 days after 75 percent of hashpower has shown support by producing blocks with a special bit set in the block version number." Just as processing power has been the capital committed to create bitcoins and validate transactions on the blockchain, it will now be used to record a vote by the community.

It's unclear what will happen if Bitcoin Classic executes a successful hard fork

In the first few days since the release of the Bitcoin Classic beta software, it’s become the second most popular version, overtaking an earlier fork, Bitcoin XT, the variant pushed by Hearn before he gave up. We don’t know yet which side will end up with more support, and there are countless detailed arguments about why the split will save or break Bitcoin for good. One thing we know for sure is that a protracted battle would likely damage trust in bitcoin the currency, because if two competing blockchains live side by side, it becomes much easier for criminals to spend the same money twice.

The thing about Bitcoin is that anyone, with fairly minimal computing resources, can follow along in real time, evaluate the debate, download the software, set up their node, and add their vote. We're about to find out if that wide open consensus machine can act in its own best interest when the system reaches a breaking point.