If you are involved in startups, finance, or investing, you have likely heard of Bitcoin, Initial Coin Offerings (ICO’s), and Blockchain. You probably have a good idea of the basics and are aware of the social, philosophical, and economic issues. Here are 10 things you may not have known about how Bitcoin’s Blockchain actually works:
Here is the very first block #0 in the chain, and here is block #492435. Within each block there are many individual transactions, and the flow of value in a transaction can be explored visually, using tools like this one where we can click through any orange circle that represents a spent value. Because everyone can see every transaction, anyone can confirm that the flow is valid – such that the receiver of value always comes from sources that have sufficient unspent value.
2: Transactions are not from one sender’s address to a recipient’s address
The inputs to each bitcoin transaction in the blockchain are the outputs of previous unspent transactions. So, if Alice wants to send Bob 0.50 BTC (Bitcoin units of currency), she would do so by specifying one or more of her previous transactions where the total output is more than 0.50 BTC. This is a subtle but important difference from using Alice’s Chase or Paypal account as transaction deposits are not aggregated into a single identifiable account, and they remain anonymous.
3: Transactions spend all the inputs
In order to efficiently verify transactions, every transaction uses the total value of the inputs, and will create a new output address for any change. So for example, if Alice wants to send 50 BTC to Bob and she has 3 prior transactions where she received 25, 20, and 15 BTC, her bitcoin client or wallet software would use all three prior transactions to send 50 BTC to Bob and would result in 10 BTC to a new address as change, and all three prior transactions would be marked as spent and no longer usable.
4: The Bitcoin Blockchain Ledger stores every transaction and is currently ~140GB with over 11k copies in nodes distributed globally
Anyone can start a node, download the ledger, and start verifying and confirming transactions. This makes Blockchain highly resilient to data loss or central control. Natural disasters or individual or company failures will have no adverse effect as long as there are sufficient copies running.
5: Confirming a block of transactions is a 10 minute guessing game
In order to prevent Alice from using the same coins more than once, all the nodes need to agree on the order of transactions so that once a previous output it used, it can’t be used again. This is achieved by setting up a difficult guessing game designed to take approximately 10 minutes to win so that a single order of transactions is accepted. Each player puts together a block of valid transactions that have occurred since the last confirmed block, including the hash of the last successful block, a special transaction to deposit winnings to the player, and a number the player can change called the nonce. The player then runs a hash function over the data and tries to win by producing a hash that is less than a certain target number known as the difficulty. If the hash result is higher than the difficulty, they change the value of the nonce and try again. When a winner succeeds, that block is confirmed and broadcast to everyone, and the game begins again with the next block containing the hash of the last one, hence the name, blockchain.
6: It generally takes a mind-boggling number of guesses to win each game
The process of confirming a block is called mining, and the players are called miners. The combined guessing rate, or hash rate, of all the miners was approximately 11 million TH/s at the end of October 2017, where 1TH/s is 1 billion hashes per second. At the current difficulty level, this means that it takes an average of approximately 6 billion billion (10^18) guesses. That’s:
7: The difficulty of the game adjusts every 2 weeks
Since the purpose of the game is to demonstrate Proof of Work and is designed to take 10 minutes to solve, the difficulty of the game is adjusted every 2016 blocks (approximately 2 weeks based on 10 mins per block) in order to keep the length of each game close to 10 minutes. This is done by adjusting the target difficulty number to be higher (easier) or lower (harder) proportional to the amount of time it took to complete the last 2016 blocks being greater or less than 2 weeks.
8: The winner gets rewarded in Bitcoin, until the entire 21M prize pool finishes by the year 2140
The first transaction in a newly confirmed block is the reward the miner awarded themselves according to the rules, and is called the coinbase. The reward started at 50 BTC per confirmed block, and is halved every 210,000 blocks, or approximately 4 years. You can see this yourself by looking at block 209999, and then block 210000. This mechanism results in a total supply of 21M BTC awarded, after which there will be no more new BTC entered into circulation. At this point, miners will be paid only by transaction fees for their work to confirm new transactions in a block.
9: Confirmed transactions are irreversible
By design, once a transaction is confirmed and added to the blockchain, every subsequent confirmed block creates an increasingly long chain making it virtually impossible to rewrite history and undo the transaction. This can reduce transactions costs because, similar to paying in cash, there is no need to account for charge backs.
10: Proof of Work currently costs more than $1.1B annually, using more electricity than many countries
While the blockchain mechanism is effective in its objectives, it has drawn criticism for the increased use of electricity and resources consumed by an activity that is an artificial means for introducing difficulty and effort. Several alternative mechanisms such as Proof of Storage and Proof of Stake are intended to address this.
For more information about the inner workings of the Bitcoin Blockchain, I recommend watching this excellent Khan Academy series hosted by cryptographer Zulfikar Ramzan.