Visualized Blockchain — Fundamental Concept

Gun Gun Febrianza
blockchain-democracy
6 min readApr 30, 2020

--

Blockchain is a set of concepts to build a data storage system that is transparently distributed and resistant to manipulation.

When viewed in the smallest component blockchain is a data structure that is used to store data in the form of a block chain.

Each block stores a collection of transaction data, and each block is connected to each other through a unique identity forming a chain.

Block Chain Representation

To understand the blockchain clearly we have to understand 3 basic concepts in the blockchain, namely:

  1. Blockchain As Data Structure
  2. Blockchain As Shared Ledger
  3. Blockchain As Immutable Ledger

1. Blockchain As Data Structure

Blockchain As Data Structure

Data structure is a way to organize a set of data so that it can be used efficiently and able to solve problems in programming.

The data blockchain is organized into 3 levels:
1. Record Level
2. Block Level
3. Block Chain Level
Visually we can see in the picture below:

Blockchain Level

Record Level

At the record level we can specify the smallest data unit that we will store in a block.

Block Level

At the block level we can save a group of records to be saved in one block. All records are wrapped in a single unit block.

Block Chain Level

At the block chain level a series of blocks are combined to form a single chain block which can then be called a ledger.

2. Blockchain As Shared Ledger

Blockchain as Shared Ledger

Blockchain Architecture

Blockchain as a shared ladger means we will not use a centralized or centralized data storage ledger system. So there is no single authority that can control computer networks and manipulate ledger data.

Centralized Database System

Blockchain as a shared ledger means that computer networks must be free from the control of a single authority that wants to control computer networks and manipulate ledger data. Ledger data must be distributed to all entities (nodes) without going through intermediaries to build a transparent ledger data system.

Blockchain Replication

Blockchain as a shared ledger means Peer-to-peer (P2P) computer networks are used to distribute ledger data to all nodes in a computer network.

Decentralized System

Each node does not know each other but gets the same treatment and copy of the ledger data. Every node in the Peer-to-peer (P2P) network gets all the full copies, valid and up-to-date block chain.

Blockchain Operation

On the blockchain operation we can do is CR (Create & Read). Unlike a centralized database system that can manipulate in full, such as carrying out CRUD operations (Create, Read, Update & Delete)

Blockchain Integrity

In a centralized database system, the antagonist can change data directly because the data is centralized at one point. In the blockchain, data spread throughout the nodes so to manipulate ledger is relatively difficult because, 51% of the nodes in a computer network must be controlled.
Often this becomes impossible because the total number of nodes in a computer network is very large and continues to grow. So the cost to control 51% of nodes in P2P computer networks is not feasible.

Blockchain Performance

To save data into a ledger which is then actually distributed to all nodes takes time. Consensus and verification methods are needed so that ledger data is consistent across all nodes.

The next question is how to make the ledger data actually consistent across all participants who are in a peer-to-peer (P2P) computer network?
For that we need to understand Blockchain As Immutable Ledger.

3. Blockchain As Immutable Ledger

Blockchain as Immutable Ledger

To ensure that the ledger data is actually consistent across all nodes, a consensus mechanism or consensus algorithm is needed. To determine the valid transaction block and the current status of the blockchain, a consensus achievement is needed. Valid block transactions and the current status of blockchain must be accepted by all nodes.

Consensus achievement is needed because each node in a peer-to-peer (P2P) computer network has its own local blockchain data that must be updated, to add the latest data. The term public blockchain refers to all existing blockchain data on each node.

So how do to make each node in a peer-to-peer (P2P) computer network have the same decision, whether it’s the decision to accept the latest transaction block or reject the latest transaction block?

In mathematics and computer science this problem is a classic problem known as the Byzantine General Problem (BGP). How to make each node in a peer-to-peer (P2P) computer network have the same decision, even if one node experiences malfunction or acts maliciously?

Byzantine General Problem

In the Byzantine General Problem (GBP) there is a set of byzantine generals who have a communication problem to determine the next decision to take.

Byzantine General Problems

Each general and his army each located in a separate location to surround the city that was about to be attacked. Each general must determine what steps will be taken to attack or retreat. Simultaneous and equal decisions are more important than attacking or retreating without simultaneous coordination.

Every general has a communication problem because messages sent through couriers on the way can be slowed, destroyed or even lost. In addition, even if the message ends up one or more generals can act maliciously and send fake messages to confuse the other generals, resulting in total failure in battle.

If applied to the blockchain each general is represented as a node and the node needs to reach consensus to determine the same decision simultaneously.

To reach consensus of 2/3 or more honest nodes must control peer-to-peer (P2P) computer networks. This is the main factor why blockchain as immutable ledger still has a security problem called 51% attacks, where 51% of malicious nodes control peer-to-peer (P2P) networks.

Byzantine Fault Tolerance

Byzantine Fault Tolerance is a characteristic of a system that continues to run even though there are failures that originate from the Byzantine General Problem. A system that already has Byzantine Fault Tolerance characteristics can continue to run even though there are nodes that have malfunctioned or act maliciously.

There are various consensus algorithms for building blockchain systems that have the characteristics of byzantine fault tolerance. The most well-known implementation of the consensus algorithm is Proof of Work (PoW), while there are also other consensus algorithms such as Proof of Stake (PoS). The PoW concept itself was created longer before the blockchain was present.

Proof of Work (PoW)

In the Bitcoin Protocol, Proof of Work (PoW) algorithm does not fully achieve byzantine fault tolerance, the creator satoshi nakamoto modified the algorithm to be more sophisticated by utilizing the concepts of mining and cryptography.

This makes Proof of Work (PoW) proven to be one of the most reliable and safe consensus algorithms for securing blockchain.

4. Blockchain Conclusion

From the sequence of previous explanations we can see the complexity of the blockchain starting from the smallest thing to the biggest thing in the blockchain concept itself.

Blockchain Complexity

On the blockchain as a data structure we can use it to record transactions, as a shared ledger we can distribute it to build transparency and as an immutable ledger we can ensure that the blockchain must be resistant to manipulation.

Blockchain Abilities

Utilization of cryptography, peer-to-peer (P2P) computer networks and consensus algorithms have succeeded in realizing blockchain as an interesting technology to be used and studied in the 21st century.

Blockchain Technology Stack

--

--

Gun Gun Febrianza
blockchain-democracy

Futurist | Computer & Climate Scientist | Economic Libertarian