Blockchain and bitcoin history
Bitcoin is a digital currency used as a means of payment on the internet. Blockchain can be thought of as the platform or operating system for bitcoin and, subsequently, also for other crypto-currencies.
The bitcoin crypto-currency was inspired by what the originators perceived as disadvantages in conventional internet commerce, such as:
-
the need for trusted intermediaries/third parties (banks, etc)
-
high transaction costs
-
merchants requiring excessive private customer information.
Digicash was an earlier crypto-currency, but it used a trusted third party. Digicash, went into demise in 2002.
Bitcoin was conceived by Satoshi Nakamoto in 2009. It is thought ‘Satoshi Nakamoto’ is a pseudonym for one or a group of persons. The essential elements of Nakamoto’s proposal were:
-
decentralised digital/virtual currency called bitcoins with no role for Government or banks
-
a peer-to-peer payment network with transactions and balances transparent to all participants or ‘nodes’
-
participants to be anonymous and represented by encrypted address codes
-
transaction payments made in ‘bitcoins’ or ‘satoshis’ (1x100 millionth of a bitcoin) held in participants’ digital wallets
-
low transaction costs (1% compared with 2-4%)
-
transactions held in a distributed database (shared ‘ledger’) which no one can change and nor can transactions be reversed. That is, tamper proof, or as some proponents express it, ‘censorship resistant’
-
a copy of the ledger is stored by all participants – ‘shared ledger’
-
the bitcoin system was to be ‘unpermissioned’ and anyone could post a transaction
-
the ledger is stored as an endless chain of linked blocks of transactions in historical order – unlike conventional databases – and thus came to be known as ‘blockchain’.
A pure virtual world?
This may have been the aim, but in practice there must be some way to convert between virtual bitcoins and real-world currencies. Thus, bitcoin currency exchanges. There are many bitcoin and other crypto-currency exchanges today and the top 10 make $US3M in fees per day.
Unfortunately for crypto-currency proponents, while digital shared ledger systems are immune to direct government interference, exchanges can be regulated or closed by governments.
Public key cryptography
Bitcoin/blockchain is built on cryptographic concepts and, in particular, those from public key cryptography. The basics of the latter are:
-
for each participant a pure maths algorithm is used to generate a public key/private key pair
-
the public key becomes the bitcoin pseudonym or address of a participant
-
their private key is kept secret to them
-
the probability of deriving a private key from a public key is virtually nil.
Public key cryptography concepts which are used in blockchains are:
-
hashed digital signatures and
-
the use of hashing to create links between adjacent blocks of data in the blockchain.
A hash is a mathematical process which takes any quantity of data (a ‘string’ of data of any length) and produces from it an output which is a string of fixed length. The output will always be the same length (the same number of digits or characters, whatever the length of the input string may be). However, of course the value of the outputted fixed length string will be unique to every input string.
Facilitating, verifying and recording bitcoin transactions in blockchain
The essential steps are:
-
enter transaction crediting recipient’s account and debiting sender’s account
-
hash the transaction with sender’s private key to create a digital signature
-
broadcast to all nodes
-
nodes verify the sender using sender’s digital signature in combination with their public key and then check the shared ledger to verify sender has enough bitcoins – that is, authentication and authorisation
-
nodes assemble the latest group (say 8) of broadcast transactions into a block
-
to minimise fraud they then must solve a mathematical puzzle (see below) and the node solving the puzzle first then broadcasts the block to all nodes
-
other nodes cease their own puzzle solving work and verify the received puzzle solution. If found valid, they add the new block to their copy of the stored blockchain by hashing the new block to the previous block in the blockchain.
Security against fraud by nodes – ‘proof of work’
In the absence of a trusted third party bank, in addition to the steps of authenticating and authorising a transaction, a mechanism is required to minimise the possibility of fraudulent alteration of a transaction by a node. In bitcoin, this objective is achieved by making it a matter of pure chance as to which node participating in blockchain updating first updates the distributed database with the new block.
Nodes undertaking this work are required to solve a mathematical ‘puzzle’ with the first to find the solution gaining the right to updating the blockchain. The process is called ‘proof of work’. The puzzle is to find a number which, when hashed with the block data, gives an answer that falls within a set range of numbers. Each node guesses a number and tries it. If it gets the wrong answer, it has to guess again and try again. This can go on for millions of guesses and, even with the highest computer processing power, can take 10 minutes. The first node to succeed adds the block to the blockchain it stores and broadcasts it to all the other nodes. They check the answer number and if correct, add the block of transactions to their copy of the blockchain by linking (hashing) it to the previous block.
Any rogue node attempting to tamper with a transaction in a block inevitably also changes the block header. Because the next block is hashed to the header of the previous block, the next block then would also have its header changed. This ripples up through all subsequent blocks up to the latest block.
Other nodes will reject this chain stored by the attacker because the latest block has a discrepant header when compared with the latest consensus approved block. To succeed, an attacker would need to redo proof of work for all transactions in its chain and surpass the length of the honest consensus chain. This is not realistic from a computer processing point of view.
Mining – the incentive to carry out ‘proof of work’
To solve the ‘proof of work’ cryptographic puzzle fast enough to have a chance of being the first node to do so requires considerable computing power – more than normally available to office and home users. This requires considerable capital. In addition, with conventional computing systems, there will be high electricity usage. The incentive for running such a system is provided by awarding a certain number of bitcoins to the winning node. The nodes set up to do this work are in the business of ‘searching’ for bitcoins. They have therefore been dubbed ‘miners’ or ‘mining’ nodes.
Blockchain beyond crypto-currencies
The characteristics of blockchain suggest it could facilitate a variety of online legal applications. Inherent features, such as being a public tamper-proof distributed database, have led to proposals for and the establishment of a variety of legal registers, such as land registers, copyright licence registers and identity registers. In addition, Ethereum is more than just another crypto-currency system and supports ‘smart contracts’ which execute automatically when receiving appropriate input data.
This article was first published in the June edition of Lawtalk.