A Brief Introduction to Blockchain Technology

People use the term ‘blockchain technology’ to mean different things, and it can be confusing. Sometimes they are talking about The Bitcoin Blockchain, sometimes it’s other virtual currencies, sometimes it’s smart contracts. Most of the time though, they are talking about distributed ledgers, i.e. a list of transactions that is shared among a number of computers, rather than being stored on a central server.

The common themes seem to be a data store which:

Usually contains financial transactions.

Is replicated across a number of systems in almost real-time.

Usually exists over a peer-to-peer network.

Uses cryptography and digital signatures to prove identity, authenticity and enforce read/write access rights.

Can be written by certain participants.

Can be read by certain participants, a wider audience.

Has mechanisms to make it hard to change historical records, or at least make it easy to detect when someone is trying to do so.

People use the term ‘blockchain technology’ to mean different things, and it can be confusing. Sometimes they are talking about The Bitcoin Blockchain, sometimes it’s other virtual currencies, sometimes it’s smart contracts. Most of the time though, they are talking about distributed ledgers, i.e. a list of transactions that is shared among a number of computers, rather than being stored on a central server.

Think of “blockchain technology” as a collection of technologies, a bit like a bag of Lego. From the bag, you can take out different bricks and put them together in different ways to create different results.

The Bitcoin Blockchain ecosystem:

As a primer on bitcoin, it may help to review the original whitepaper by Satoshi Nakamoto titled Bitcoin: A Peer-to-Peer Electronic Cash System. The Bitcoin Blockchain ecosystem is actually quite a complex system due to its dual aims: that anyone should be able to write to The Bitcoin Blockchain; and that there shouldn’t be any centralised power or control. Relax these, and you don’t need many of the convoluted mechanisms of Bitcoin. Replicated databases. The Bitcoin Blockchain ecosystem acts like a network of replicated databases, each containing the same list of past bitcoin transactions. Important members of the network are called validators or nodes which pass around transaction data (payments) and block data (additions to the ledger). Each validator independently checks the payment and block data being passed around. There are rules in place to make the network operate as intended. Bitcoin’s complexity comes from its aims. The aim of bitcoin was to be decentralised, i.e. not have a point of control, and to be relatively anonymous. This has influenced how bitcoin has developed. Not all blockchain ecosystems need to have the same mechanisms, especially if participants can be identified and trusted to behave

Public Vs Private Blockchains

There is a big difference in what technologies you need, depending on whether you allow anyone to write to your blockchain, or known, vetted participants. Bitcoin allows anyone to write to its ledger

Public blockchains. Ledgers can be ‘public’ in two senses: 1. Anyone, without permission granted by another authority, can write data 2. Anyone, without permission granted by another authority, can read data Usually, when people talk about public blockchains, they mean anyone-can-write

Private blockchains. Conversely, a ‘private’ blockchain network is where the participants are known and trusted: for example, an industry group, or a group of companies owned by an umbrella company. Many of the mechanisms aren’t needed – or rather they are replaced with legal contracts. This changes the technical decisions as to which bricks are used to build the solution.

Because bitcoin is designed as a ‘anyone-can-write’ blockchain, where participants aren’t vetted and can add to the ledger without needing approval, it needs ways of arbitrating discrepancies (there is no ‘boss’ to decide), and defence mechanisms against attacks (anyone can misbehave with relative impunity, if there is a financial incentive to do so). These create cost and complexity to running this blockchain.

 

DATA STORAGE: What is a blockchain?

A blockchain is just a file. A blockchain by itself is just a data structure. That is, how data is logically put together and stored. Other data structures are databases (rows, columns, tables), text files, comma separated values (csv), images, lists, and so on. You can think of a blockchain competing most closely with a database.

Blocks in a chain = pages in a book For analogy, a book is a chain of pages. Each page in a book contains:

  • The text: for example the story.

 

  • Information about itself: at the top of the page there is usually the title of the book and sometimes the chapter number or title; at the bottom is usually the page number which tells you where you are in the book. This ‘data about data’ is called meta-data. Similarly in a blockchain block, each block has: • The contents of the block, for example in bitcoin is it the bitcoin transactions, and the miner incentive reward (currently 25 BTC).

 

  • A ‘header’ which contains the data about the block. In bitcoin, the header includes some technical information about the block, a reference to the previous block, and a fingerprint (hash) of the data contained in this block, among other things. This hash is important for ordering.

 

  • Page by page. With books, predictable page numbers make it easy to know the order of the pages. If you ripped out all the pages and shuffled them, it would be easy to put them back into the correct order where the story makes sense.

 

  • Block by block. With blockchains, each block references the previous block, not by ‘block number’, but by the block’s fingerprint, which is cleverer than a page number because the fingerprint itself is determined by the contents of the block.

 

Internal consistency: By using a fingerprint instead of a timestamp or a numerical sequence, you also get a nice way of validating the data. In any blockchain, you can generate the block fingerprints yourself by using certain algorithms. If the fingerprints are consistent with the data, and the fingerprints join up in a chain, then you can be sure that the blockchain is internally consistent. If anyone wants to meddle with any of the data, they have to regenerate all the fingerprints from that point forwards and the blockchain will look different. This means that if it is difficult or slow to create this fingerprint, then it can also be difficult or slow to re-write a blockchain

The logic in bitcoin is:

  • Make it hard to generate a fingerprint that satisfies the rules of The Bitcoin Blockchain
  • Therefore, if someone wants to re-write parts of The Bitcoin Blockchain, it will take them a long time, and they have to catchup with and overtake the rest of the honest network

This is why people say The Bitcoin Blockchain is immutable (cannot be changed)

DATA DISTRIBUTION: How is new data communicated?

Peer to peer is one way of distributing data in a network. Another way is client-server. You may have heard of peer-to-peer file sharing on the BitTorrent network where files are shared between users, without a central server controlling the data. This is why BitTorrent has remained resilient as a network.

Client-server: In the office environment, often data is held on servers, and wherever you log in, you can access the data. The server holds 100% of the data, and the clients trust that the data is definitive. Most of the internet is client-server where the website is held on the server, and you are the client when you access it. This is very efficient, and a traditional model in computing.

Peer-to-peer

In peer-to-peer models, it’s more like a gossip network where each peer has 100% of the data (or as close to it as possible), and updates are shared around. Peer-to-peer is in some ways less efficient than client-server, as data is replicated many times; once per machine, and each change or addition to the data creates a lot of noisy gossip. However each peer is more independent, and can continue operating to some extent if it loses connectivity to the rest of the network. Also peer-to-peer networks are more robust, as there is no central server that can be controlled, so closing down peer-to-peer networks is harder.

WRITE ACCESS: How do you control who can write data?

In the bitcoin network, theoretically anyone can download or write the software code and start validating transactions and creating blocks. Simply go to https://bitcoin.org/en/download and run the “Bitcoin core” software.

Your computer will act as a full node which means:

  • Connecting to the bitcoin network
  • Downloading the blockchain
  • Storing the blockchain
  • Listening for transactions
  • Validating transactions
  • Passing on valid transactions
  • Listening for blocks
  • Validating blocks
  • Passing on valid blocks
  • Creating blocks
  • Mining’ the blocks

The source code to this “Bitcoin core” software is published on Github: https://github.com/bitcoin/bitcoin. If you are so inclined, you can check the code and compile and run it yourself instead of downloading the pre-packaged software on bitcoin.org.

Permissionless

Note that you don’t need to sign up, log in, or apply to join the network. You can just go ahead and join in. Compare this with the SWIFT network, where you can’t just download the software and start listening to SWIFT messages. In this way, some call bitcoin ‘permissionless’ vs SWIFT which would be ‘permissioned’.

Permissionless is not the only way

You may want to use blockchain technology in a trusted, private network. You may not want to publish all the rules of what a valid transaction or block looks like. You may want to control how the network rules are changed. It is easier to control a trusted private network than an untrusted, public free-for-all like bitcoin. For a more in depth look into bitcoin, mining or digital tokens, please see our other free reference papers in the gentle introduction series.

CONCLUSION

It is useful to understand blockchains in the context of bitcoin, but you should not assume that all blockchain ecosystems need bitcoin mechanisms such as proof of work, longest chain rule, etc. Bitcoin is the first attempt at maintaining a decentralised, public ledger with no formal control or governance. There are significant challenges involved. On the other hand, private distributed ledgers and blockchains can be deployed to solve other sets of problems. As ever, there are tradeoffs and pros and cons to each solution, and you need to consider these individually for each individual use case.

For Further Information: There’s Hundreds Of different Websites displayed from a simple google search about “Blockchain Technology”

I’ve tried to compile much of the information above but as you see even a 6 page article cannot effectively give you all the knowledge you require.

Leave a Reply

Your email address will not be published. Required fields are marked *