Thread
#Bitcoin stopped working TWICE in its history

1st in 2010

2nd in 2013

Here's what caused it to stop running and how it was fixed each time πŸ‘‡
On August 15th, 2010

A Bitcoin core dev at the time (@jgarzik) posted a new topic on the Bitcoin Talk Forum

"Strange block 74638"

Referring to Block 74,638
@jgarzik It took 1.5 hours for someone to realize the issue.

A malicious actor created 184 BILLION Bitcoin out of thin air by exploiting an error in the code.

The total supply of bitcoin at the time was only supposed to be ~3.8 million out of the 21 million to ever exist.

Big problem.
@jgarzik The code error was due to a "Value Overflow Bug"

Before transactions are included in a block, nodes check to make sure the outputs do not overflow when summed.

The attacker exploited an error in the code that made the overflow possible.
@jgarzik Within a few hours of posting about the situation, the issue was patched with the help of Satoshi and the Bitcoin blockchain was soft forked.

Shortly after, nodes began accepting the "good" forked blockchain and the issue was resolved.
@jgarzik A 0.5 btc transaction output related to the incident still exists in the "good" blockchain we all use today.

While the extra billions of bitcoin sent in that transaction no longer exist.

You can see it here πŸ‘‡

mempool.space/address/17TASsYPbdLrJo3UDxFfCMu5GXmxFwVZSW
@jgarzik On August 16th, 2013

The Bitcoin network went down for a second time at block 252,450.

Bitcoin's network temporary split into two separate networks.

A post-mortem of what went wrong was captured in BIP 0500.
@jgarzik BIP 0050:

"A block that had a larger number of total transaction inputs than previously seen was mined and broadcasted. Bitcoin 0.8 nodes were able to handle this, but some pre-0.8 Bitcoin nodes rejected it, causing an unexpected fork of the blockchain"

github.com/bitcoin/bips/blob/master/bip-0050.mediawiki
@jgarzik To put it simply

Nodes were upgrading from Version 0.7 to 0.8 and an unexpected fork occurred that should have been resolved automatically but didn't.

The issue was resolved by (2) of the largest mining pools temporarily downgrading their nodes to Version 0.7.
@jgarzik This downgrade allowed a majority of the hashpower coming from the two pools to accept the forked chain without the large block that caused the issue.

Version 0.8.1 was released and the next block with the patch was accepted, forking nodes off the network that were unpatched.
@jgarzik Due to these two incidents in Bitcoin's infancy, the #bitcoin network has been running 99.98824067% of the time since it began in 2009.

And Bitcoin has been running with 100% uptime since the 2013 issue.
@jgarzik Will Bitcoin ever go down again?

I'm not sure.

But the fact that both of these incidents were resolved by Bitcoin devs within hours of occuring gives me confidence that the Bitcoin network will remain resilient.

Donate to #Bitcoin devs via @Opensats

opensats.org/
@jgarzik @OpenSats If you found this thread valuable, 2 requests:

1. Follow me @epodrulz for more #bitcoin content 😎

2. Retweet the first tweet to share some bitcoin history with your followers πŸ”


@jgarzik @OpenSats Are you looking to learn more about the emerging bitcoin industry?

We're posting new job opportunities and industry updates in our free newsletterβ€”Proof of Industry πŸ‘‰www.bitcointalent.co/proof-of-industry
Mentions
See All