Note

If you are new to the field of information technology, taking our Introduction to Information Technology and its Career Roadmaps and Introduction to Cloud Technology with DevOps, Docker and Kubernetes (free self-paced) courses is highly recommended. Also, for a comprehensive coverage of blockchain concepts and its use cases, taking our Introduction to Blockchain Technology course is highly recommended.

Recap

In our previous article (A beginner Guide to Blockchain Technology), we briefly discussed what is the blockchain technology, followed by reviewing its key components.
In this article, we go over how decentralized peer-to-peer networks in general and specifically in blockchain work.

 

Decentralized P2P network

To explain how blockchain works, let’s look at what steps are involved with the existing business model for completing a simple payment transaction.

A customer, Alice, needs to pay $10 to Bob, who happens to have an account in the same bank as Alice. She can make the payment either by visiting a bank branch or using the web. Let’s say she tries to do that online through the bank’s web portal. She will need to authenticate herself using her username and password and then put the transfer order in and wait for the bank system to confirm whether the transaction is completed.
As shown in the following diagram, in order to support such online banking activities in the traditional world, the bank has to establish an identity and access management system and authenticate Alice’s login credentials. Behind the scenes, the bank needs to develop a bank web portal and a backend system to verify whether Alice has the right account with the bank and has enough money to pay Bob to transfer $10 out of Alice’s account, and put $10 in Bob’s account. The bank has to maintain a ledger to record the details of the transaction in a database and show the balance each person has.

The below diagram shows a centralized bank system model:

peer-to-peer

As the business grows, customers’ needs change too. The traditional brick and mortar business model is being replaced by the digital banking and commerce model. This requires technology changes in the bank system too. Banks nowadays deploy a distributed system model to serve the ever-growing needs of their customers.

 

dapps

The above diagram shows the distributed bank system model:

The fundamental issue with the preceding centralized or distributed system model is a single point of failure. Failure could come from malicious network attacks, system failures, or security and privacy breaches; it could come from business failures in the bank itself, which can cause millions of people to lose their homes due to the bankruptcy of big banks during a global financial crisis. It could happen due to currency failure itself, such as the currency collapse in Venezuela, where the lifetime savings of average citizens suddenly became worthless overnight. Also, the payment may be blocked due to government censorship.
Satoshi Nakamoto believed that the root problem with traditional fiat currency is all the trust required to make it work. Citizens have to trust the central bank not to devalue the currency. Consumers have to trust the bank to manage their money. But history has shown again and again that trust is often breached.

Satoshi designed an elegant decentralized P2P electronic cash system, and the technology behind that, blockchain, is the solution, where transactions are maintained in a distributed shared ledger and replicated across a global P2P network; security and privacy are ensured with cryptographic technologies, and transaction integrity is achieved through a consensus mechanism.
The following diagram shows a decentralized bank system model:

 

decentralized apps

As new transactions are made, they are broadcasted to all network nodes, and over time all transactions that have occurred are sequenced together in the public ledger and made available in all replicated network nodes, as shown in the following diagram:

blockchain technology

Now that we understand the differences between centralized and decentralized models, let’s move on to more topics on blockchain architecture.

Next Article

In the next article (How blocks are added to the blockchain), we discuss how a new block of data is added to the blockchain system.

This article is written in collaboration with Brian Wu who is a leading author of “Learn Ethereum: Build your own decentralized applications with Ethereum and smart contracts” book. He has written 7 books on blockchain development.

Resources

Free Webinars on Blockchain

Here is the list of our free webinars that are highly recommended:

 

Free Courses

Here is the list of our 10 free self-paced courses that are highly recommended:

 

Self-Paced Blockchain Courses

If you like to learn more about Hyperledger Fabric, Hyperledger Sawtooth, Ethereum or Corda, taking the following self-paced classes is highly recommended:

  1. Intro to Blockchain Technology
  2. Blockchain Management in Hyperledger for System Admins
  3. Hyperledger Fabric for Developers
  4. Intro to Blockchain Cybersecurity
  5. Learn Solidity Programming by Examples
  6. Introduction to Ethereum Blockchain Development
  7. Learn Blockchain Dev with Corda R3
  8. Intro to Hyperledger Sawtooth for System Admins

 

Live Blockchain Courses

If you want to master Hyperledger Fabric, Ethereum or Corda, taking the following live classes is highly recommended:

 

Articles and Tutorials on Blockchain Technology

If you like to learn more about blockchain technology and how it works, reading the following articles is highly recommended:

 

Articles and Tutorials on Ethereum and Solidity

If you like to learn more about blockchain development in Ethereum with Solidity, reading the following articles and tutorials is highly recommended:

 

Articles and Tutorials on Hyperledger Family

If you like to learn more about blockchain development with Hyperledger, reading the following articles and tutorials is highly recommended:

 

Articles and Tutorials on R3 Corda

If you like to learn more about blockchain development on Corda , reading the following articles and tutorials is highly recommended:

 

Articles and Tutorials on Other Blockchain Platforms

If you like to learn more about blockchain development in other platforms, reading the following articles and tutorials is highly recommended: