On the one hand, blockchain can be explained as simply as a chain of blocks, where “blocks” mean digital information and “chain” stands for a ledger. On the other hand, this explanation seems to be too superficial and incomplete, as it does not reveal the technology essence. According to another popular opinion, a blockchain and a traditional database look very much alike. This variety of judgments must be resulting from poor awareness and sketchy knowledge in this relatively new business area.

Now it is the right time to shape a personal opinion on this subject. In this article, we will try to find out the truth about the technology behind blockchain, dwell on the architecture of a distributed ledger, and enumerate some of the major blockchain components.

Let’s first focus on the differences and similarities between a blockchain and a traditional database.

Distributed Ledger vs. Conventional Database

  1. Network architecture
    Whereas databases use a client-server network, blockchain functions in a peer-to-peer environment.
  2. Data administration
    A traditional database is normally stored on the central server administered and controlled by an authorized person. Administration of a blockchain is decentralized and distributed among multiple nodes globally.
  3. Data management
    A client is usually allowed to perform four key functions with a database: create, read, update and delete, known as CRUD commands. A distributed ledger implies that its users can only view and add information, and once the data is entered, it can be neither changed, nor deleted.

Although blockchain is an alternative recordkeeping tool, the advisability of its application and integration has to be thoroughly studied on a case-by-case basis.

Types of Blockchain

Publicity or Privacy?

A public ledger is an open-ended free network, where each participant can access without getting permission from the network administrator. For example, integration of public blockchain technology in healthcare would significantly facilitate doctor-patient relationships and bring order into clinical recordkeeping.

A private model implies the invitation-only basis for participation. This invitation must be validated either by the administrator or by specific system rules.

A consortium type has very much in common with a private network. The major difference is in the userbase: consortium blockchain users are employees of a certain company or corporation, whereas a private network audience is not limited by the employment criterion.

The most outstanding features of each ledger type are listed below:

  • Private blockchains are faster and more efficient than public
  • Public networks bring together the most talented developers from all over the world so that they could improve and upgrade the system collectively
  • Public networks are more secure and hackproof as there are more validators in the system

Blockchain Core Components

Chain of Blocks

  • Transaction details (date, time, amount, etc.)
  • Transaction parties (since anonymity is one of the best-known declared blockchain advantages, the actual names are replaced in the network with unique digital codes)
  • A unique identifier called “hash” to tell apart one block from another

Hashes also provide a connection between blocks, linking them into a single chain. Each succeeding block in the chain contains the previous block hash, which bears evidence of the network immutability.

Reaching a Consensus

A consensus protocol is a set of rules describing how to communicate data between electronic devices, like nodes. In other words, it is a “dynamic way of reaching agreement in a group”.

An algorithm is a set of instructions followed by each node of the network to achieve consensus. This can be either a simple script or complex software. The order of instructions must be strictly followed.

The most widely used consensus algorithms are Proof-of-Stake, Practical Byzantine Fault Tolerance (PBFT), Multi-Signature, and Proof-of-Work. However, as blockchain keeps on developing, the more algorithms emerge.

Smart Contracts

Can I Build A Blockchain?

In order to qualify for a developer, you should understand the blockchain basics and its key terms and concepts. In addition, a successful candidate has to master at least a few most widespread programming languages, like C++, JavaScript, Solidity, Python, etc. A potential developer should also be familiar with such database management systems as RDBMS and NoSQL.

Summing up the above said, without a proper background it might take a great while for a newbie to become a real blockchain geek. Anyway, if this is your top-priority goal, and you are only at the very start, do not fall into despair. Just keep your head up and move ahead — and your efforts will be duly rewarded!

Originally posted at RuhaniRabin.com
Click here if you would like to write at RuhaniRabin.com

--

--

Ruhani Rabin being a tech and product evangelist for almost 20 years. He was VP, CPO for various digital companies. Plays with Drones in his free time.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ruhani Rabin

Ruhani Rabin being a tech and product evangelist for almost 20 years. He was VP, CPO for various digital companies. Plays with Drones in his free time.