In this post I've collected some interesting facts about Bitcoin that I've come across along the years.
I'll try to keep this post updated as I learn more about early Bitcoin history and random technical tidbits.
It might surprise some to know that Bitcoin was once hacked - big time.
In 2010 someone found a flaw in the way Bitcoin dealt with negative numbers. By crafting special transactions using negative numbers, a large positive number of BTC, billions in fact, could be injected into the network.
This would have effectively destroyed Bitcoin if it weren't for a hard fork and emergency software fix by the Bitcoin Core devs.
Read more about the 2010 Bitcoin Hack
Satoshi Nakamoto called the 100th smallest fraction of a Bitcoin (0.000001 BTC) a "coin" and satoshis (0.00000001 BTC) were called cents.
Satoshi Nakamoto envisioned a live P2P market.
This meant being able to send money to other network participants in real time! So the original Nakamoto Bitcoin client allowed you to send Bitcoins to other live hosts in real time using their IP address!
In essence, it was still a regular Bitcoin transaction, but there was one added step at the beginning : your client would connect to the remote host and fetch a public key, from which it could derive an address.
Early Bitcoin sent transactions to raw public keys, but later this was changed to the hashed addresses we now know for added security (unused addresses do not reveal the public key). So the Bitcoin Core client would connect to a remote IP, fetch a pubkey and then send Bitcoins to it.
How many times have you read that Bitcoin will only ever have 21 million coins and that not every millionaire will be able to own a full BTC because there are more rich people than there will ever be Bitcoins?
Well, that wasn't always the case!
The original Satoshi Nakamoto Bitcoin implementation was uncapped. There was no limit to the amount of Bitcoin that could circulate on the network.
Satoshi Nakamoto called what we now know as the blockchain a "timechain".
He described it as a tree data structure where each entry pointed to the one before and, if this entry were part of the longest chain, it would also point to the entry ahead. This made it easy to traverse the tree root up towards the longest chain.
The blockchain would then be a linked list formed from a directed path within the timechain.
Satoshi's Pre-Release Bitcoin Code Contains Fascinating Findings