Graphic by: Level39
Earlier this month, on the 1st of August 2021, Bitcoin celebrated the fourth anniversary of its Independence Day.
In August 2017 the Bitcoin network experienced what was, up until that point, its most significant (and most contentious) upgrade thus far: Segregated Witness, or SegWit for short. SegWit changed the way that the Bitcoin protocol handled transaction data and paved the way for the Lightning Network, a secondary network built on-top of the primary Bitcoin network, designed to scale Bitcoin’s transaction capacity.
Surrounding the SegWit upgrade process throughout 2017 a heated debate raged within the nascent Bitcoin community, so much so that Bitcoiners refer to it as a civil war. Some reputations were ruined and people on both sides became increasingly hostile to one another.
The debate centered around the question of how to scale Bitcoin. The primary Bitcoin network can only handle about 4 – 7 transactions per second (compared to the 20,000 + transactions per second processed by the likes of Visa and MasterCard) making it clear that Bitcoin could never function as a global currency. Not in its current form anyway. The scaling debate pitted fundamentally opposing ideas against one another of how to increase transaction throughput.
On the one side of the debate stood the big-block camp. They favoured a large increase in the blocksize limit, to fit more data (and thus more transactions) into each block on the blockchain. This camp included some large miners, Bitcoin companies and exchanges, some of whom would have (potentially) seen an immediate increase in their profits by allowing more transactions per block.
On the other side stood the SegWit / Lightning camp. They favoured developing layer-2 solutions or secondary networks built on top of the primary Bitcoin network. This camp included the majority of Bitcoin developers (programmers writing the code that governs the network) and the network’s node operators, numbering in their thousands, the vast majority of whom are volunteers.
Essentially the big-block argument was that bigger blocks would bring an immediate increase in Bitcoin’s transaction capacity without changing the way in which transactions were settled. While the SegWit / Lightning argument pointed out that increasing transaction capacity with a blocksize increase would be, at best, a short term solution. Transaction capacity could be doubled, tripled, quadrupled, or even increased sixteen-fold with a blocksize increase, up to over 100 transactions per second, but that would not even begin to approach Visa-like numbers. The SegWit camp pointed out that, while not yet ready but still in development, to really compete with Visa (and the like) transactions would have to be pushed off-chain, onto something like the Lightning network. Simply because blockchain architecture, by virtue of being a globally distributed ledger, does not scale well, regardless.
The big-block argument responded that keeping transactions on-chain provided more security. Which is true, in principle. But SegWit & Lightning supporters argued that the Lighting Network was intended for small transactions. Plus, Lightning anchored transactions to the primary chain. The first and last transaction in a given series of Lightning transactions (called a lightning Channel) are registered on-chain. While transactions in-between are anchored to one another and cryptographically tied to the primary network by the first and last transaction.
The idea behind lighting is that one does not need the transactional security of a real estate purchase to buy a cup of coffee. Those are two very different types of transactions and thus it is acceptable to use a secondary network for smaller transactions, while still leveraging the security of the primary network. Especially considering that Lightning could scale, not to thousands, but potentially to millions of transactions per second, at a fraction of the cost of what companies like Visa and MasterCard charge. This is because any given combination of Lightning channels on the network could allow for an unlimited amount of transactions, without having to burden the blockchain with unnecessary data.
Blockchains and Decentralization
Furthermore, and perhaps most importantly, SegWit supporters pointed out that increasing the blocksize to achieve scale would inevitably move Bitcoin away from decentralization. Because bigger blocks with more transactions (and thus more data) would create a heavier blockchain which, in turn, would make it more onerous to operate a fully validating node.
[For reference, I personally run two fully validating nodes on lower-range old laptops. Neither of which would cost more than R5,000.00 if purchased brand new today. And anyone with minimal computer skills (and a spare old laptop) can do this by downloading various versions of the open source Bitcoin node software.]
Basically, full nodes check every single transaction and every single block added to the block-chain, to ensure that the rules of the network are being followed. The most important rule being that no one attempts to spend the same Bitcoin twice, as this is what underlies the core functionality of any currency.
While there is no financial incentive for running full nodes it does add security to the Bitcoin network and so, indirectly, adds some measure of value to the investment of the node operator.
The ability to easily and cheaply operate a full node is precisely what gives any cryptocurrency its core value proposition: decentralized verification. With a full node anyone and everyone can verify that the Bitcoin in their wallet is legitimate and that no one is manipulating the system for personal gain. While, without a full node, you are trusting someone else to verify this on your behalf.
This is also why increased functionality on a blockchain defeats the purpose of having a blockchain to begin with. Running a fully validating node on more data heavy and functionality driven cryptocurrency networks, such as Ethereum, is very difficult (if not impossible) even for expert developers and coders. So while one can argue that Ethereum allows for more applications on its blockchain, unless you’re prepared to invest heavily in high-end hardware, you are inevitably trusting someone else to verify the state of the blockchain for you. And, at the end of the day, this moves the network back into the very direction that Bitcoin seeks to break away from: centralized control.
Satoshi correctly identified that it is centralized control that ultimately weakens currency networks because, due to the human nature of greed and a tendency toward corruption, whoever controls the currency will inevitably manipulate it in their own favour. And there are countless examples of this, from the clipping of coins by the ancient Roman Treasury, to endless bail-outs, record low interest rates and even negative interest rates in some of the world’s most developed economies.
While nuanced, with an understanding of decentralization, it becomes clear why node operators and developers supported SegWit. The vast majority of them are volunteers. They do not run businesses that profit from the operation of the network. And because they do not profit directly from the network, but only profited indirectly by providing the network with added security by virtue of widely distributed nodes, they preferred prioritizing decentralization above all else.
Basically the position of developers and node operators is that, whatever upgrades are brought to the network, running a fully validating node has to be made as easy as possible for anyone and everyone. And that means broadcasting as little data as possible on the primary network, which is where the currency derives it value from.
Decentralization (decentralized governance) is the raison d’être for the existence of any blockchain.
That is not to say that you can’t create a data heavy, more functional and more centralized blockchain, but it can be done faster, better and cheaper, on centralized networks and hosted services like Amazon Web Server, or Google Cloud. Which is where the majority of data heavy blockchains host their full nodes, defeating the purpose of decentralization. If Amazon Web Server experienced a catastrophic crash or (more likely) some sort of blockade, certain alternative cryptocurrencies would be in serious trouble. Which is exactly the problem that Bitcoin seeks to address.
Thus development of the Lightning network, which keeps the primary chain light and decentralized, but also enabled massively increased transaction throughput and (potentially) increased Ethereum-like functionality in the future.
But in order to function optimally, the Lightning Network needed the protocol changes included in SegWit. Node operators did not want bigger blocks, this would make it more difficult to run their nodes, but they certainly wanted Bitcoin to scale, to become a global currency used by billions everyday. Thus they needed SegWit. Without SegWit and the Lightning Network Bitcoin would remain decentralized, but it would also remain a niche currency, like Gold, primarily used as a store of value and not as a medium of exchange.
However, in early 2017, the SegWit upgrade was stalled with the debate between bigger blocks and SegWit / Lightning supporters stuck at a stalemate.
Because Bitcoin is completely voluntary and without central governance, developers needed a way to get their software onto the hardware of the network without coercion. Up until then all upgrades on the Bitcoin network had been executed by miners. While upgrades were coded by developers there was no way to actually implement the upgrades without actors on the network agreeing to run their code. And while developers can write the best upgrades imaginable, none of it can be forced onto any single machine. The operator of every machine is free to decide which version of the software they want to run.
Up until that point it was believed that the safest way of getting upgrades onto the network, was to push upgrades by getting a super-majority of the miners to run the code first. This was done to ensure that the network remained intact and did not splinter into various different blockchains. Which can (and has) happened since. But until then it had worked, because miners and developers generally agreed on what upgrades were best for the network.
But in mid 2017 SegWit was being blocked by miners (who were backed by large Bitcoin companies) for the sake of short-term profit, power and influence over the network. This left developers with no clear route to implement any scaling upgrade. Miners were unwilling to implement the upgrade proposed by developers (SegWit) and developers were unwilling to write the upgrade preferred by miners (bigger blocks).
Until an anonymous user by the name of Shaolin Fry came up with the idea of a User Activated Soft Fork, or UASF for short. Essentially it proposed a new way of deploying the SegWit code onto the network, by specifically circumventing miners and presenting them with an ultimatum. A specific date was selected, 1st August 2017, at which point node operators running validating nodes that included the UASF software would begin rejecting blocks mined by miners who had not yet upgraded to SegWit.
Key points to remember here is:
- Anyone can become a node operator. Compared to developers (who need coding skills) miners (who need expensive hardware and LOTS of electricity) and Bitcoin companies (which need to be profitable) operating a node is by far the easiest way to actively participate in the network. With a cheap laptop you can get set-up in a few days, or less.
- Like Miners, node operators are free to run whichever version of the software they choose. Siding with the big block camp would have simply meant running any one of many different alternatives to the UASF code.
- While nodes do not produce blocks, they validate blocks. And if the majority of nodes reject a block produced by a miner, the miner does not receive his block subsidy, which, at that time, was 12.5 BTC per block. This is the primary motivation for a miner’s massive expenditure on hardware and electricity.
The vast majority of node operators quickly rallied behind the UASF and it became clear that miners blocking the SegWit upgrade basically had two choices:
- They could either implement SegWit and continue earning their block subsidy after 1 August 2017, mining on the network with the majority of full nodes.
- Or, because a minority of developers and node operators decided in favour of the block-size increase, miners could mine on that network, and hope that this new competing version of Bitcoin wins out in the market.
In the end, the network did split, and a new cryptocurrency was created: Bitcoin Cash. The Bitcoin Cash protocol included an upgrade for bigger blocks and explicitly excluded the SegWit upgrade. And, as is usually the case when a Blockchain forks, all Bitcoin owners also owned an equal amount of Bitcoin Cash on the newly created network, because the two shared an identical history up until the fork.
Thus, the decision as to which cryptocurrency would emerge as the leader was essentially left to the open market. Anyone who owned Bitcoin (and thus Bitcoin Cash) could exchange their coins and decide which to keep and which to sell. Initially, for brief period immediately following the split, Bitcoin Cash traded at almost 50% the price of Bitcoin and ranked 2nd in terms of market capitalization among all cryptocurrencies, even overshadowing Ethereum for some time.
Thus it seemed possible that the open market would decide in favour of bigger blocks, rather than SegWit and Lightning. However, as more and more Bitcoin holders started selling their Bitcoin Cash, and instead holding onto their Bitcoin, the price of Bitcoin Cash started dropping. As of the time of this writing, Bitcoin Cash is trading at less than 1.5% of the Bitcoin price, and is now ranked 14th by market capitalization.
This has made it clear that the open market decided to value decentralization, which remains Bitcoin’s core value proposition until today.
In the end the UASF was never actually deployed. Mere days before the UASF deadline miners capitulated to the ultimatum set by node operators. On the 21st of July 2017 the majority of miners began signaling for SegWit activation, thereby agreeing to formally activate the SegWit code at block number 477 120, which was mined on the 24 August 2017.
This deadline, 1st August 2017, the date chosen by the UASF, cemented the reality that ultimately node operators (which can be anyone) have the final say in the direction that Bitcoin takes.
Thanks to the genius of Satoshi Nakamoto, all you needed was an old computer and a little bit of tech savvy to have an equal say in the development of the world’s first truly global monetary network.
And, perhaps for the first time in human history, everybody’s voice could be weighted equally. No matter who you are or what influence you wield, Bitcoin leveled the playing field like never before.