Blockchain Introduction

Jakob Jenkov
Last update: 2021-12-15

Blockchain technology is a series of technologies that in concert forms a decentralized network that keeps a shared state. So far this shared state consists of an append-only log that is replicated to all nodes in the blockchain network - but maybe this will change over time as blockchain technology evolves.

In the beginning blockchain technology was mostly used for crypto currencies, but later people started finding more use cases for blockchain tech, such as decentralized media platforms (LBRY) and NFTs etc. We will probably see many new use cases for blockchain tech in the future.

Why Blockchain?

Blockchain technology can seem at bit strange (e.g. inefficient) if you don't know the original reason it was created. Therefore, let's start with the original use case: Digital Cash.

Digital Cash

The original use case that blockchain technology was designed for is digital cash. However, it is not cash as we know it today in the form of paper based fiat money - but rather the older gold-back paper money type of cash that blockchain attempts to model.

Gold-backed cash has the following properties that blockchain attempts to achieve digitally:

  1. Decentralized
  2. One-time spendable
  3. Anonymous
  4. Untraceable
  5. Non-inflatable

First of all, cash is decentralized. Whoever holds the cash can spend it. No central entity can track, block or otherwise control the flow of normal cash.

Second, cash can only be spent once. When a coin or bill has changed hands as a result of a transaction, only the new holder of the cash can spend it next.

Third and fourth, cash is anonymous and untraceable. You cannot see on a coin or bill who currently owns it, nor who has used that coin or bill before you. Nor can you see what transactions it has been part of earlier in its life time.

Fourth, gold-backed cash is non-inflatable. You cannot just create money out of thin air. Our current monetary system is called a "fiat money" system - and in that system it is possible to create money out of thin air - for the central banks. This leads to monetary inflation which leads to price inflation which leads to lost buying power of people holding fiat based cash. That is why blockchain based crypto currencies attempt to be non-inflationary.

Blockchain aims at achieving these 4 central properties of gold-backed cash. While paper cash works - it is just easier and faster to exchange large amounts of money via a few bytes sent over a network, than by transporting large amounts of cash from buyer to seller. Hence the desire to create a digital version of cash.

Crypto Currency

Money systems based on blockchains are also referred to as "crypto currencies". The first crypto currency was Bitcoin. Today there are hundreds - if not thousands - of crypto currencies in circulation.

The Future of Money Systems

Exactly why the inventor(s) of blockchain believes that a digital cash system is better than the current fiat based money system is a topic that is too long to get into here. It is a topic that divides people between strong fans and stark opponents of crypto currencies - each party calling the other "scammers". That is why the inventor(s) of Bitcoin released the first paper about Bitcoin under the pseudonym "Satoshi Nakamoto". To this day - nobody knows for sure who Satoshi Nakamoto really is.

Several books have been written about money systems. Both about gold-backed money systems, fiat based money systems and blockchain based money systems (crypto currencies). If you are interested in really understanding the reasoning behind blockchain and crypto currencies, I suggest you read some of them (I will list some books etc. soon).

What role crypto currencies will eventually fill in our society - only time will tell. Whether they will replace fiat currencies, or just supplement them, or if crypto currencies will be banned. In any case, a lot of exciting technologies will emerge from this space, so this process will be really exciting to follow!

Blockchain Variations

Since the release of Bitcoin we have seen an plethora of crypto currencies released into the world. Many of these crypto currencies use different blockchain designs that achieve different features, such as higher transaction speed, or higher degrees of anonymity etc.

Non-currency Blockchain Use Cases

As I hinted above, new use cases outside of crypto currency have been found for blockchain technology. Use cases such as decentralized media storage systems and market places, such as LBRY and NFTs.

I am personally most excited about the non-currency use cases for blockchain. Probably because my primary interest in blockchain technology is technical - not "investment based". Crypto currencies are so volatile and so unpredictable that I personally consider it to be luck if you hit one of currencies that grow fast in value and retain that value. Most currencies don't go anywhere, or go up shortly only to fall a lot right after. By the way - why they are so volatile you will also understand once you understand more about money systems - but knowing why does not help you predict their price swings.

No - it is really the non-currency use cases that excite me the most - and all the technologies that emerge from research into these areas.

Blockchain Main Parts

In order to achieve the core design goals of blockchain technology, blockchain uses the following parts:

  • Peer-to-peer networks
  • Replicated ledger
  • Wallets
  • Consensus Algorithm

Different blockchain implementations will use different variations of these core building blocks. Thus, knowing what these main parts are - main building blocks - makes it easier to know what to look for when trying to determine the difference between different blockchain implementations.

Each of these parts will be explained below.

Peer-to-peer Network

To achieve decentralization, nodes in a blockchain network collaborate via a decentralized network - a peer-to-peer (P2P) network typically. The exact topology of the P2P network may impact how the consensus algorithm works.

Replicated Ledger

To achieve one-time-spendability, the blockchain keeps track of transactions between wallets (accounts / users) in a ledger. The ledger can determine how much a given wallet is able to spend (send to other wallets). The ledger consists of blocks of transactions which are chained together, by having each block reference the previous block's cryptographic hash. This is what the term blockchain is inspired by. The ledger is replicated, meaning each node in the P2P network keeps a copy. This makes it harder for a single, malicious node to modify the ledger without anyone detecting it.

Wallets

Wallets in a blockchain corresponds to bank accounts in a bank. A blockchain wallet is typically identified by a long, unique number (byte sequence).

Consensus Algorithm

The consensus algorithm is used to make nodes in the P2P blockchain network agree to what the "next block" in the blockchain should contain of transactions. Since many transaction may be initiated simultaneously by different peers in the P2P network, somehow the peers need to agree to which transactions go into the next block in the blockchain. The original consensus algorithm for Bitcoin was based on "proof-of-work", but newer consensus algorithms have been deviced since then based on "proof-of-stake", "proof-of-storage" etc.

Jakob Jenkov

Featured Videos

Java ConcurrentMap + ConcurrentHashMap

Java Generics

Java ForkJoinPool

P2P Networks Introduction

















Close TOC
All Tutorial Trails
All Trails
Table of contents (TOC) for this tutorial trail
Trail TOC
Table of contents (TOC) for this tutorial
Page TOC
Previous tutorial in this tutorial trail
Previous
Next tutorial in this tutorial trail
Next