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.

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.