Blockchain Development - Introduction

 Significance of Blockchain Technology

  • Transactions usually require a third party who adds more trust to both sender and receiver parties.
  • But, this third party can be corrupted and expensive.
  • Blockchain eliminates this third party by making the process of exchange more foolproof.
  • Transaction history is available and direct interaction of both parties.
  • Multiple copies of transaction history are present in various locations.
  • Blockchain solves many distributed processing issues - versioning data, remote processes, and multiple computing sources.

Cryptocurrency

  • Implementation of blockchain.
  • Different from fiat currency - No regulatory board is present.
  • Cryptography ensures integrity.

Blockchain data and blocks

  • Only support ADD and READ operations. UPDATE and DELETE operations aren't available.
  • A ledger keeps track of all transactions.
  • Blockchain data is replicated among multiple nodes and new data can be added only if the majority of nodes agree on the new transaction - Consensus and Immutable.
  • Hashes -  Encryption functions that are irreversible.
  • Chain of blocks - Each block will carry hash values of the previous block and current block and transaction details.
  • Nonce - Value added to block to create a new hash.
  • Mining - Finding the correct nonce value to generate the hash, requires a lot of computational resources.
  • Miners get rewarded for calculating the correct nonce.

Consensus mechanisms - PoS, PoS, Delegated PoS, dBFT

  • Proof of Work - Nodes compete to find nonce, resource-intensive.
  • Proof of Stake - Each node submits bets, less computing and random selection.
  • Delegated Proof of Stake - Modified PoS, nodes voted in for fairness.
  • Delegated Byzantine Fault Tolerance - Nodes randomly select a delegate speaker, 2/3 of delegates must agree with the hash.

Blockchain Types

  • Public/ Permissionless blockchains - All information is available to every node and anyone can participate.
  • Private/ Permissioned blockchains - Only authorized can participate and access information.
  • Types of nodes - Full Nodes (Keeps all information in the blockchain), Lightweight Nodes (Only keep recent information).

I learned most of these points from the linkedIn course - Please check it out as well.

Comments

Popular posts from this blog

Unsupervised Learning

Automate Blog Post creation using Blogger APIs and Python

Setting up Python Flask server on internet via Port forwarding

The beginning of Data Quest

Setting up Jupyter Lab integrated with Python, Julia, R on Windows Subsystem for Linux (Ubuntu)