As Bitcoins are a Maker currency — invented, open sourced and run and maintained by the invested network — I’ve been looking into accepting Bitcoins in the Deferred Procrastination shop. While I’ve been following the ups and downs of the Bitcoin economy, the relative stability of the Pound to Bitcoin exchange rate over the past couple of months has made accepting bitcoin payments for goods more realistic.

GBP/BTC Value for 3 months to 22nd May 2012 GBP/BTC Value for 3 months to 22nd May 2012

Over the last 3 months, the GBP/BTC rate stayed within ±7.7% of its mean value, compared to ±3.9% for the USD/GBP rate and ±6.5% for the EUR/GBP rate over the last 12 months.

What’s a Bitcoin?

A Bitcoin is a cryptographic token that can be exchanged between bitcoin addresses. The bitcoin network processes the transactions, which are all contained in the public ledger, called the blockchain. You can even view what transactions are being added to the blockchain as they happen.

A bitcoin address is a 34(ish) character long identifier to which Bitcoins can be sent, it is equivalent to an account number in traditional banking. The bitcoin address is an identifier of the owner of any bitcoin (part or multiple) and all Bitcoins are attached to an address. Bitcoins can be sent to any address, and a bitcoin user may generate any number of bitcoin addresses that they wish and the balance and transaction history of any address can be inspected.

A real example of a bitcoin address:

1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj

Each bitcoin address has a private key associated with it that is required to transfer bitcoins from the address. Anyone with the private key for a bitcoin address can transfer all of the coins attached to that address.

A bitcoin address and private key pair are related to each other by a one-way mathematical function. The bitcoin address is created from the private key, but it is not possible to calculate the private key from the bitcoin address.

Here’s the private key for the bitcoin address above:

5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF

Because any bitcoin user can control any number of addresses, a container called a wallet file is used to hold the details of all the bitcoin addresses that a user controls. To keep the Bitcoins associated with any addresses they control safe, the user’s wallet file should be stored encrypted (password protected) so as to secure access to their private keys.

Bitcoin Wallet Contents Bitcoin Wallet Contents

Because the history of every transaction is available publicly in the blockchain and the bitcoin address is derived from the private key, having just a private key is sufficient to retrieve an address and all its bitcoins. A set of private keys held only offline is known as a paper wallet, where access to the paper is needed to access the account’s Bitcoins. A private key that only exists memorised is a brain wallet.

Bitcoins are created by miners (who collectively are the bitcoin network) who race to solve a mathematical problem where the only method is to make a huge number of guesses to the solution. For their effort, the winning miner gets to keep a specified number of newly created coins, plus the voluntary fees of any transactions that they choose to include into the new block.

The rate of generation of new blocks is constant — on average, a new block is created every 10 minutes — to keep their rate of generation predictable, and to maintain the value of existing Bitcoins through their predictable scarcity.

Coming next in the series: Using Bitcoins