Introduction: The What, Why, and How of Blockchain

2020-06-03 18:27:17

Blockchain Know-howThe What、Why and How of Blockchain

 

After a decade of progress, blockchain, which is an emerging technology, has expanded from cryptocurrency to many other fields, spanning digital finance, the Internet of Things, smart manufacturing, supply chain management, and digital asset trading. Meanwhile, the term blockchain has also gone from a tech terminology within the community of crypto geeks to a new infrastructure that everyone is familiar with. However, due to its technical complexity, blockchain technology involves huge learning costs, and many people with high hopes for blockchain find it difficult to join this industry. As such, the CoinEx Wallet team decided to introduce the CoinEx Wallet Academy to bring you entertaining blockchain-related content in simple words.

 

This is our first lecture — Introduction: The What, Why, and How of Blockchain, and we will dive into the technical principles of blockchain in terms of what blockchain is, why it was created, and how it is implemented. In short, this lecture will bring you some of the basic theories and prepare you for more advanced content in the future.

 

Why was blockchain created?

 

Blockchain is essentially a decentralized database.

 

Database is a familiar term to most people. As its name suggests, a database is a base for storing data, and almost every industry needs its own database.

 

For instance, for banks, the banking system is a database that records how many assets each of us owns as well as the transfer of our assets; e-commerce platforms are backed by a database that records information about goods, users, transactions, and even logistics; even traditional companies like auto manufacturers would sometimes build a database that records information about things like spare parts, suppliers, and sales.

 

Such databases are all built by a certain entity (central banks, e-commerce platforms, auto manufacturers, etc.) that collects the data and stores such data in the server. The update and maintenance of the data are also carried out by those entities, and the databases they built are referred to as centralized databases.

 

That said, why do we need a decentralized database?

 

There is no doubt that centralized databases are convenient, but they are also subject to certain problems.

 

Firstly, a centralized database faces external risks. A conventional centralized database stores the data in one or several servers. When a server malfunctions, or if accidents like power/equipment failure occur, we would lose access to the entire database, and it may even collapse.

 

Apart from external risks, centralization itself is also unfriendly to regular users.

 

Centralization brings significant power imbalance. Promotional campaigns often feature one sentence: “XX reserves the right of final interpretation of the event”, which basically gives the organizer unlimited power.

 

The same applies to centralized databases — as regular users, we cannot confirm whether the data stored in a traditional database has been damaged or modified, nor can we find out whether our data has been leaked.

 

As such, people started wondering about how to build a decentralized, immutable, traceable, fair, transparent database, which triggered the appearance of blockchain.

 

How to build a blockchain?

 

From a technical perspective, a blockchain system consists of the data layer, network layer, consensus layer, incentive layer, contract layer, and application layer.

 

 

Data layer

 

To build a “database with XXX features”, one must first focus on the bottom layer, which is the data layer.

 

Responsible for storing data, the data layer states how data should be stored and also specifies certain technical measures to keep data immutable, traceable, safe, and transparent. Today, we will not go into the primary technical measures, including timestamps, Merkle trees, asymmetric encryption, and hash algorithms, which will be introduced in our future articles.

 

Network layer

 

When a database becomes capable of data storage, one must then consider data transmission, so the next step is to build a network layer on top of the data layer.

 

Since blockchain is a decentralized database, a peer-to-peer network should be built when it comes to data transmission, which will allow all participants in the network to freely send and receive data and information, and the database will be jointly maintained by everyone.

 

Furthermore, as there are no centralized servers, we must write the method of data transmission and verification on the network layer to ensure the security and reliability of data during the transmission process.

 

Consensus layer

 

In reality, people rely on laws and regulations or the company’s code of conduct to prevent users from doing evil. However, in a blockchain system, which is a database where everyone is equal, no authority is there to set the rules. Instead, we need a mechanism that’s recognized by everyone to restrict users’ misbehavior.

 

On an isolated island without any legal or moral constraints, the evil part of our nature will be infinitely magnified, and the world will descend into disorder and chaos. Therefore, it is no exaggeration to say that the consensus layer is the core of any blockchain network.

 

Right now, apart from mainstream consensus mechanisms, including Proof of Work (PoW) and Proof of Stake (PoS), there are also other mechanisms such as Practical Byzantine Fault Tolerance (PBFT) and Delegated Proof of Stake (DPoS).

 

Each consensus mechanism has its own advantages and disadvantages, and what kind of mechanism a blockchain system uses largely depends on the intention of the developer, which we will illustrate in a future article.

 

Incentive layer

 

The data layer, network layer, and consensus layer already constitute a basic decentralized database through which we can ensure the safe storage, free circulation, and update & maintenance of data. But this database remains imperfect because it requires each node to work voluntarily and build and maintain the database using their own resources.

 

Such a model is obviously unsustainable. This is why we need to provide certain rewards for the nodes participating in the network, which will give them the incentive for building and maintaining the blockchain. The incentive layer was created to meet such demands.

 

When it comes to the incentive layer, we need to account for more long-term considerations. From the moment the blockchain was born, developers must specify what tokens to issue, the total supply of tokens, how tokens will be issued, and at what pace they will be released. These settings are normally referred to as tokenomics. Designing an economic model requires extreme care, and the quality of the economic system largely determines the success or failure of a blockchain.

 

Application layer and contract layer

 

Having built the data layer, network layer, consensus layer, and incentive layer, we have basically met our goal of building “an immutable, traceable, fair, transparent database where everyone is equal”, but is this enough?

 

No, it’s far from enough. In “Why was blockchain created?”, we mentioned that every industry needs a database, which is the primary significance of having a database. After building a decent database, the next question is how it can be applied to different industries, which calls for the application layer.

 

However, when building the application layer, we will run into another problem — every time an application is designed, the entire blockchain system must also be redesigned from scratch, which is counterproductive. It’s just as ridiculous as having to build a computer before developing an e-commerce platform like Amazon.

 

Therefore, what we need first is a “supercomputer” that serves the blockchain world. This “supercomputer” is the contract layer, which carries different scripts, codes, algorithms, mechanisms, and smart contracts. After the blockchain becomes programmable, the application layer will then be built on top of the contract layer.

 

The data layer, network layer, consensus layer, incentive layer, contract layer, and application layer are like LEGO blocks — we can build various blockchain systems by choosing different blocks.

 

Over the next few weeks, we will go deeper into the blockchain world by focusing on each layer and the relevant technical concepts. Please stay tuned.