Bitcoin Details – A Technical Guide

Technical Guide

To get a better understanding of what bitcoin is, how it works and why it has any value, it helps to understand what the components are and what they do. For a more general explanation of bitcoin, please read our basic What is a bitcoin guide. If you have doubts to the validity of bitcoins, you should read this guide and also read our sections on bitcoin myths.

Bitcoin

A bitcoin is a unit of an international digital currency, written as BTC and often symbolised by the letter B with 2 vertical lines through it. A bitcoin is equivalent to 100,000,000 divisible elements called satoshis (named after the bitcoin inventor, Satoshi Nakamoto). This means you can buy 0.0000001BTC. In the future bitcoins may be further divisible if or when the need arises.

It is predetermined that there will be a total of 21,000,000 bitcoins generated. Bitcoins are generated through a process known as mining. Bitcoins have no central governing authority, are not tied to any national economy and are not issued by any central bank. Bitcoins are stored in individual wallets, or in dedicated online wallets, rather than banks.

Bitcoins can be sent directly person to person or exchanged over bitcoin exchanges. Specialised software, programs and web services have been developed to handle bitcoin related activity.

Bitcoin transaction

A transaction is the data that references where bitcoins are sent from and where they are sent to. The transaction references previous transactions (input) and reassigns the sent bitcoins to a new bitcoin address (output). The transaction is broadcast to the network, checked for validity, and stored in a block to be included in the block chain.

Multiple inputs may be required to equal the amount required for the output, and multiple outputs may be fulfilled from one input. It is, therefore, important that strict records are maintained in the block chain.

Bitcoin Address

A bitcoin address is a unique key that represents a potential destination for bitcoins to be sent to. The bitcoin address contains a string of 27 – 34 randomly generated alphanumeric characters. These strings are case sensitive and exact. They can’t be made up.

Mathematical operations performed on the string create a matching public and private key that are required to access any bitcoins associated with an address. Bitcoin addresses are generated as needed by the client or by an online wallet. It is highly recommended for security and privacy to generate a new unique address for every transaction, although this is not actually necessary.

The private key pair of the unique bitcoin address is stored in a bitcoin wallet and is required to access any bitcoins that have been assigned (sent) to that address. If you lose your wallet (by not backing it up), you will lose the private key and any bitcoins associated with that address.

Unique bitcoin addresses are the only way to track where bitcoins are sent from or to. Bitcoin addresses can be generated at any time and do not need to be used.

An address is only tracked by the network once is has been assigned to a valid transaction. Large batches of bitcoin addresses can be pre-generated and used on an e-commerce site. This allows bitcoins to be a commercially viable option for use in online stores.

The original Bitcoin client

Unlike online wallets or other downloadable clients, the original Bitcoin client is more than just a client. It is the software that was developed to handle Bitcoins and all their complexity, ensuring all the rules of Bitcoin are followed.

When you first download and install the Bitcoin client, it needs to sync the entire history of bitcoin transactions that have ever taken place. You can receive bitcoins before the client has synced, but the transaction won’t be visible in your Bitcoin client or available to be spent until all previous transactions are up to date.

Prior to using the Bitcoin client, you can fast track the synchronisation by downloading a file called bootstrap.dat from here. This file contains the pre-synchronised transaction history.

The bitcoin transaction history is referred to as the blockchain. The full transaction history with current and pending transactions is visible at blockchain.info. You can search transactions for the current status of your transactions while waiting for your client to sync.

Bitcoin Wallet

A bitcoin wallet is a piece of software, or an online depository, used to store your bitcoins. In reality, you are really storing the private keys needed to access your bitcoins which are associated with a unique address that was generated by the wallet program.

Bitcoin Block chain

The bitcoin block chain lists the full history of all bitcoin transactions, associated with a bitcoin address. Transactions are grouped into blocks that are then permanently written to the block chain as a historical record and to make sure bitcoins cannot be spent more than once. The block chain and details of transactions can be viewed at blockchain.info.

Bitcoin Block

A bitcoin block is a group of some or all of the most recent bitcoin transactions. When a block is generated it is written into the block chain and the transactions are stored as a permanent record. Blocks are generated through the process of “mining” where a computer (or group of computers) solve a complex mathematical problem. The answer is included in the block as a unique identifier.

Each new block also references the previous block, which is how they form a “chain”. Bitcoin miners – the people who own the computers that are solving the algorithms – are rewarded in newly “minted” bitcoins each time the problem is solved and a new block is generated. The block, therefore, also records the bitcoin address of the person who rightfully owns the new bitcoins.

The algorithms are automatically set to adjust in difficulty with the aim to continue producing new blocks at a rate of 6 per hour (one every 10 minutes). Therefore, it can take 10 minutes for a bitcoin transaction to show in the block chain. The number of bitcoins awarded each time a block is generated is set, starting at 50 bitcoins per block and halving every 210,000 transactions.

Eventually, there will be no more bitcoins mined, however miners also earn transaction fees so the process of mining will continue to generate new blocks. The Bitcoin client is programmed to accept the longest block chain (of the most compl ex combined difficulty) as valid in order to protect against someone forking the block chain and filling it with blocks formed from simple mathematical problems.

Bitcoin Mining

The purpose of mining is to validate transactions and add transactions to t he public transaction record, called the block chain. Valid transactions are collected in blocks and the block is released to the block chain during the mining process.

The validation process requires the solution of a highly complex mathematical problem. The solution to the problem becomes part of the transaction record. Without the solution and the proof of work, the transaction cannot take place.

The mathematical component of all bitcoin transactions is designed to keep bitcoins secure and ensure only legitimate transactions are allowed. As a decentralised currency, this validation process is not controlled by any single authority.

The process is performed by bitcoin users. Technically any one can be a miner, however mining requires increasingly powerful computer processors to solve increasingly complex mathematical equations. Miners, people willing to provide the expensive computer power required for the validation process, are therefore rewarded in bitcoins.

New bitcoins are generated and awarded to the miner who successfully solved the mathematical problem. The complexity of the mathematical problems automatically adjusts to ensure transactions are validated, and new bitcoins are released, at a set rate of 6 blocks per hour, or 1 block every 10 minutes. Miners are also referred to as “nodes”.