What’s Happening With Bitcoin?!?

Sergey Tsalkov
5 min readNov 12, 2017

--

If you know any Bitcoiners, you might be vaguely aware that something important is happening in the Bitcoin world. You might have heard terms like Bitcoin Cash, or Silbert Agreement, or big blocks — crazy stuff! I’ll explain what’s going on as succinctly as I can.

It’s Time to Scale!

When Satoshi Nakamoto published Bitcoin in 2009, he included a block size limit of 1MB. In Bitcoin, every node in the P2P network keeps a ledger of every transaction from the beginning of time. Satoshi’s block size cap was essentially a rate limit to ensure that this ledger could only grow by 1MB every 10 minutes, or about 4 transactions per second. Satoshi wanted to make sure that no one flooded the ledger with gigabytes of dummy transactions that would have to be kept forever. Bitcoin had few users back then, so this was fine.

Fast forward to early 2017, and we’ve got a new problem: Bitcoin is now heavily used, and people want to send a lot more than 4 transactions per second. When there isn’t enough capacity to go around, senders have to start paying a fee for every transaction. Pay more than some others, and your transaction goes through instead of theirs. Since no one wants to pay $1–5 in fees to pay their $20 Amazon invoice, we’ll need to find a way to grow the capacity of the system.

..But How?!?

The question of how to scale has divided Bitcoiners for many years. On one side, you have the “big blockers,” so called because their solution is to increase the block size. Remember that 1MB limit that Satoshi put in? Just change that to 8MB, and we should be good for a few years. Satoshi himself thought that this kind of increase should happen someday, and Gavin Andresen (the man hand-picked by Satoshi to run things in his absence) thinks the right time is now.

On the other side of the scaling debate, nearly all members of Bitcoin’s current development team are against raising the block size. They’re worried that raising it will make it more expensive to run a node on Bitcoin’s P2P network, thereby decreasing the number of people who can afford to do so.

Remember how every Bitcoin node keeps a ledger of every transaction from the beginning of time? That ledger, called the blockchain, is now 140GB in size and is growing at 4GB per month. If we allow more transactions per second, it’ll grow even faster. If it gets too big, only those who can afford huge disk arrays will be able to run a node. The fear is that if only deep-pocketed companies and universities can run Bitcoin nodes, it’ll be easier for governments to intimidate them all into changing or dismantling the network.

How Else Could We Scale?

Since the current Bitcoin developers don’t want to raise the block size, what do they have in mind? They came up with this idea called off-chain scaling. The notion is that some tiny transactions (like when you pay for coffee) need not be written to the permanent ledger, but can remain between the two parties and quickly disappear from recorded history. The logic of how to do this is pretty involved (even by Bitcoin standards), but I’ll try to keep it simple.

Two parties can open a payment channel, and move bitcoin between themselves without having to globally publish every transaction. Let’s say you and I put 1 bitcoin each into a new payment channel. I could then pay you 0.1 bitcoins without having to globally publish the transaction, and we’ll have 0.9 and 1.1 in the channel, respectively. Transactions within the payment channel confirm instantly, and don’t have any rate limits. At any point, either of us could close the payment channel by publishing its current state to the Bitcoin network. The coins we tied up in the channel would then be returned to our respective Bitcoin wallets.

There are many downsides to this approach:

  1. Relative to Bitcoin’s original design, this is very complicated, fragile, and hard to reason about — even for most programmers.
  2. All Bitcoin wallet software has to be changed to accommodate this. This software will be hard to write, and even harder to write correctly. Bugs could cause loss of money.
  3. When we put that 1 bitcoin each into the payment channel between us, that money is tied up and can’t be used for anything else until the channel is closed.
  4. If we have a channel open and you disappear from the Internet for any significant length of time, I can take all the bitcoins in the channel (including your share). The only way for you to prevent this is to continuously watch the Bitcoin network, or hire a company to do so on your behalf.
  5. If we don’t want to force each pair of users to have their own payment channel (with money tied up in it), we need a centralized party that keeps payment channels open with everyone. This party quickly starts to resemble PayPal — exactly the kind of centralization that Bitcoin was meant to avoid!
  6. The software needed for regular users to use this system isn’t ready yet, and nobody knows when it will be ready.

Also, before we can even try to make this work, a new feature called SegWit had to be added to the Bitcoin protocol.

What the SegWit?!?

This is a new feature called Segregated Witness, or SegWit for short, and Bitcoin’s developers finished it in November 2016. It’s complicated, but it suffices to say that it would enable the kind of off-chain scaling I described above.

In order to active SegWit, it takes an agreement from substantially all Bitcoin miners. However, the miners were torn about the two scaling approaches I discussed above. Many miners didn’t want to support SegWit because they wanted to raise the block size, and vice-versa.

The Silbert Agreement

Enter the Silbert Agreement, also known as the New York Agreement, or Segwit2x. In May 2017, a meeting of the top Bitcoin miners and exchanges resulted in a compromise: they would adopt both solutions. SegWit would be activated immediately to allow for off-chain scaling. Then in November, the block size limit would increase from 1MB to 2MB to allow for more traditional scaling.

The first part of the agreement went through without a hitch, and SegWit was activated in August 2017. The supporters of SegWit then announced that they would not follow through with the rest of the agreement. Having gotten what they wanted, they said that the block size would not be raised.

The Backlash Is Bitcoin Cash

By November 2017, it had been nearly a year since Bitcoin became barely usable due to skyrocketing transaction fees. Big blockers were now saying that SegWit had been deployed several months earlier, but the off-chain scaling it promised still hadn’t materialized. They were also understandably angry that the Silbert compromise had turned into a bait-and-switch.

They decided to bypass the bitcoin core development team by creating a new Bitcoin branch called Bitcoin Cash. This branch would primarily change one thing: raise the block size from 1MB to 8MB, finally allowing for some desperately-needed scaling.

And that brings us to the present: On November 11, 2017, the Bitcoin Cash price has risen from $500 to over $2000 in a single day, even as Bitcoin has fallen by the same amount. To a big blocker, Bitcoin Cash is the true bitcoin because it scales in accordance with Satoshi’s vision. This viewpoint is shared by Gavin Andresen, the man hand-picked by Satoshi Nakamoto to run Bitcoin in his absence.

To a supporter of small blocks and the current Bitcoin development team, Bitcoin Cash is just another altcoin, one that is fraudulently calling itself Bitcoin.

--

--