In part one of my essay, Bitcoin Basics Explained: the ABCs of BTC, I covered topics such as A is for Acceptability, B is for Blockchain, C is for Cryptocurrency, and D is for Decentralized. Again, my purpose is to go over very basic information about how Bitcoin works, for the new user.
E is for Everything
Bitcoin can be used at a vast array of retailers worldwide. Anywhere that you can connect to the Internet, you can make purchases with Bitcoin. Even if your plans extend above Earth’s atmosphere, you can pay with Bitcoin, according to Virgin Galactic.
Sites like all4btc.com allow you to make purchases on sites like eBay and Amazon with Bitcoin by simply copying the product web address. WordPress accepts Bitcoins for upgrades, and was one of the earliest large organizations to do so.
Expedia allows you to book hotels with Bitcoin. PizzaforCoins.com arranges for online purchases of pizza from Domino’s, Papa John’s, or Pizza Hut, if you are in the delivery area of one of those chains. Gyft allows you to purchase gift cards at some 200 different retailers and pay using Bitcoin. If you play FarmVille, CityVille, Hidden Chronicles, or other Zynga games, you can pay for in-game tokens with Bitcoin. Overstock.com was the first major, mainstream retailer to accept Bitcoin, but they certainly were not the last.
Many sellers on Etsy and other sites accept Bitcoin. TigerDirect accepts Bitcoin for electronics. OkCupid is a dating site accepting Bitcoin. Namecheap accepts Bitcoin for domain names. MixedTees accepts Bitcoin for apparel. Microsoft accepts Bitcoin for Xbox Live and digital content. OpenBazaar not only accepts Bitcoin, allowing anyone to bid on, buy, or sell anything on their site, they are implementing multi-signature features of Bitcoin to prevent fraud.
F is for Fungible
Bitcoins are inter-changeable, like other commodities. In other words, just as one ounce of pure gold is worth the same as any other ounce of pure gold, a bitcoin is a bitcoin is a bitcoin. You can accumulate portions of a bitcoin in your wallet until you have a complete bitcoin.
In addition to being fungible, they are highly divisible. A bitcoin can be divided down to 8 decimal places. Thus 0.00000001 BTC is the smallest amount that can be handled in a transaction. If necessary in the future, the protocol and related software can be modified to handle even smaller amounts.
G is for Global
Anywhere that a person can connect to the Internet is a place where bitcoin can be used. To give you some sense of how global it really is, there are over 75 million hits for “bitcoin global” as a search phrase on Google. Though it is globally accessible, a map of Bitcoin nodes reveals its adoption in certain regions more than others. The United States, Germany, Canada, France, the UK, Holland, Russia, China, Australia, and Sweden are currently the top ten countries where Bitcoin is in use.
H is for Hash function
The basis of all cryptocurrencies is mathematics. In the case of Bitcoin, the key mathematical function is called Hashcash invented in 1997 by Adam Back. In order to understand how it works, you need to have some sense of what a hash function is and what it does. A hash function is a mathematical procedure that is applied to an input and generates an output.
For example, you could take all the digits in the input and add them together to create the output. So, if you took the input 12345 and applied that hash function, you would get the number 15. That function is easy to work in one direction, hard to work in the opposite. Even knowing that the sum of the digits was 15, and that the function requires summing the digits, you don’t know what the input was. With the input digits you know the output, but with the output and the procedure, you don’t know whether it was 12345, or 348, or 3040800. Since more than one input can generate a given output, the procedure of adding the digits together is vulnerable to “hash collision.”
In the case of Bitcoin, the hash function is called SHA256. The original Hashcash used a different hash function called SHA1. So, what does SHA mean? It refers to “Secure Hash Algorithm.” SHA-2 is a family of hash functions which have been published by the National Institute of Standards. The two similar hash functions have with different block sizes, known as SHA-256 and SHA-512. They differ in the word size; SHA-256 uses 32-bit words where SHA-512 uses 64-bit words. There are also truncated versions of each standard, known as SHA-224 and SHA-384.
An “explanation” on a Bitcoin information site notes, “In bitcoin the service string is encoded in the block header data structure, and includes a version field, the hash of the previous block, the root hash of the merkle tree of all transactions in the block, the current time, and the difficulty. Bitcoin stores the nonce in the extraNonce field which is part of the coinbase transaction, which is stored as the left most leaf node in the merkle tree (the coinbase is the special first transaction in the block).” If that seems more complicated than explanatory, you may need to look more closely at the mathematics. Wikipedia offers a huge array of articles on cryptographic hash functions, SHA256, Merkle trees, and other topics when you are ready to explore in greater detail.
For our introductory purposes, you may wish to confine your exploration to some basic facts about cryptographic hash functions. The objective is to have a function that is nearly impossible to invert. The data that is operated on by a hash function is called the message, while the output is called the hash, hash value, or message digest. The properties we want are:
- it is easy to compute the hash value for any given message
- it is very hard (infeasible) to generate a message that has a given hash
- it is very hard to modify a message without changing the hash
- it is very hard to find two different messages with the same hash.
For various reasons, Bitcoin uses two hash iterations to protect against some types of attacks that have worked on related hash functions. The goal is to make the blockchain functional, computable, and very hard to forge.