Blockchain : Introduction

Lakshay Tutlani
5 min readJul 1, 2019

Blockchain in the buzz word these days. With this article I would try to explain what blockchain and its key terms.

Blockchain: It is a network and a database all in one. A blockchain is a peer-to-peer network of computers, called nodes, that share all the data and the code in the network. So, if you’re a device connected to the blockchain, you are a node in the network, and you talk to all the other computer nodes in the network. You now have a copy of all the data and the code on the blockchain. There are no more central servers. Just a bunch of computers that talk to one another on the same network.

Public Ledger: It is the complete collection of blocks. And blocks are bundles of records, each chained with the other. All the data in the public ledger is secured by cryptographic hashing, and validated by a consensus algorithm.

Bitcoin: Bitcoin is a cryptocurrency, a form of electronic cash. It is a decentralized digital currency without a central bank or single administrator that can be sent from user to user on the peer-to-peer bitcoin network without the need for intermediaries.

Bitcoin Mining (Bitcoin Specific): Miners validate new transactions and record them on the global ledger ( blockchain ). On average, a block ( the structure containing transations ) is mined every 10 minutes. Miners compete to solve a difficult mathematical problem based on a cryptographic hash algorithm. The solution found is called the Proof-Of-Work. This proof proves that a miner did spend a lot of time and resources to solve the problem. When a block is ‘solved’, the transactions contained are considered confirmed, and the bitcoin concerned in the transactions can be spend. So, if you receive some bitcoin on your wallet, it will take approximately 10 minutes for your transaction to be confirmed.

Miners receive a reward when they solve the complex mathematical problem. There are two types of rewards: new bitcoins or transaction fees. The amount of bitcoins created decreases every 4 years ( every 210,000 blocks to be precise ). Today, a newly created block creates 12.5 bitcoins. This number will keep going down until no more bitcoin will be issued. This will happen around 2140, when around 21 millions bitcoins will have been created. After this date, no more bitcoin will be issued.

Miners can also receive rewards in the form of transaction fees. The winning miner can ‘keep the change’ on the block’s transactions. As the amount of bitcoin created with each block diminishes, the transactions fees received by the miner will increase. After 2140, the winning miner will only receive transaction fees as his reward.

Fork: A fork is a change to the protocol, or a divergence from the previous version of the blockchain. When a new, alternative, block is generated by a rogue miner, the system reaches consensus that this block is not valid, and this ‘orphan block’ is very soon abandoned by the other miners.

Hard Fork: Hard forks are deliberate, and occur when there is a major difference of opinion within the community which has built and sustained a particular blockchain, and one (or both) of the camps decides to go their own way. The group that disagrees with the original protocol ‘forks’ off its own version of the blockchain and the members who believe in this fork upgrade their systems to work on this new blockchain, leaving the previous one. Nodes running the previous blockchain are not accepted by the new blockchain. Users who prefer the old version can keep their systems and nodes working on it. The divergence essentially creates two competing blockchains.

Soft Fork: Soft forks involve optional upgrades. Like hard forks, they involve two version of a blockchain. However, unlike hard forks, users can keep running the old version after a soft fork, and still be part of the same network as the users who have upgraded to the new version.

Merkel Tree: A Merkle tree summarizes all the transactions in a block by producing a digital fingerprint of the entire set of transactions, thereby enabling a user to verify whether or not a transaction is included in a block.

Blockchain Working:

  1. One party to a transaction initiates the process by creating a block.
  2. This block is verified by thousands, perhaps millions of computers distributed around the net.
  3. The verified block is added to a chain, which is stored across the net, creating not just a unique record, but a unique record with a unique history.
  4. Falsifying a single record would mean falsifying the entire chain in millions of instances.

Etherium: It is a decentralized software platform that enables SmartContracts and Distributed Applications (ĐApps) to be built and run without any downtime, fraud, control or interference from a third party.

Smart Contracts: Smart contracts are where all the business logic of our application lives. This is where we’ll actually code the decentralized portion our app. Smart contracts are in charge of reading and writing data to the blockchain, as well as executing business logic. Smart contacts are written in a programming language called Solidity, which looks a lot like Javascript. It is a full blown programming language that will allow us to do many of the same types of things Javascript is capable of, but it behaves a bit differently because of its use case, as we’ll see in this tutorial.

Mist: It is an all in one software to manage all the assets and contracts of an individual in the Ethereum Blockchain. Mist can browse DApps, manage contracts, manage ether and other digital assets

Geth : A golang implementation of Ethereum blockchain.

Solidity: It is an object-oriented, high-level language for implementing smart contracts. Solidity was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM). Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.

Truffle: It is a development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier.

Remix: It is a powerful, open source tool that helps you write Solidity contracts straight from the browser. Written in JavaScript, Remix supports both usage in the browser and locally. Remix also supports testing, debugging and deploying of smart contracts and much more.

Mentioned above are some key terms that can help you in understanding basics of blockchain.

--

--