Deep look inside Blockchain Technologystep towards openness 3 min. | 13th Oct., '18
Started since 1991 by Stuart Haber and put forward by Satoshi Nakamoto in 2008, the blockchain technology has gained extreme popularity recently and is now transforming society with its simple yet elegant technology of securely storing data on a distributed network that is decentralized and immutable. This allows the user to validate and audit data using a peer-to-peer network and distributed timestamping server to enable openness and security at the same time.
Blocks - are data packages containing permanent (immutable) data.
Digital Signature - is a technique of signing a digital document using a password and a unique identifier.
Hash - is a mathematical function that maps the data of an arbitrary size to a fixed size. Example: md5() is a mathematical hash function that returns the 32-byte string (hash) for data of all size inputted to this function. In simple terms, the block data is fed into a cryptographic hash function that returns a fixed-size alphanumeric string (hash) that uniquely identifies the block called Block Hash.
Blockchain - is a ledger (chain of blocks) that records immutable blocks signed with the digital signature and linked with previous block's hash to form a chain of blocks.
Genesis Block - is the 1st block of the blockchain.
Collision happens when two block ends up having the same block hash.
Difficulty Target - is a value used to restrict the creation time for a block to avoid the collision.
Mining - is a process of validation and adding a new block to a blockchain along. Technically, the new block is hashed and checked if the hash is lesser than the difficulty target using a fascinating hasing property that says, if a random value (nonce) is chosen from a wide distribution, it is infeasible to find the value of block hash such that the hash of nonce and block hash are in concentration will give the difficulty target, thereby making mining process tedious and collision-free.
A single block comprises of block number or identifier, data to be stored, a pointer to previous block's hash, creation timestamp and a nonce which is a random string that defines the difficulty for mining to add the new block to a blockchain. These blocks are stacked consecutively starting from genesis block to form a chain of blocks called blockchain. Thus, the whole idea of a blockchain boils down to a process of adding a new block to a blockchain linked to previous block using block hash calculated using below method, and validated and authenticated using mining on a peer-to-peer network forming a chain of block that are immutable, authentic, secure and open to all peers.
Block Hash = HASH_FUNCTION(data + previous block hash + timestamp + nounce + block number)
However, the process of creating a blockchain is secure unless 51% of the resource (GPU's) is controlled by a single entity, in which case, that single entity can manage to deface the process of mining and retaining control to manipulate block information.
The blockchain's applications are limitless, however, it is implemented broadly in Crypto-Currencies (Bitcoin and Ethereum Network) to record transactions, Smart Contracts to automate escrow and Decentralized App (Voting App and Decentralized Internet).
All you need to know about Website & Web Application Development | 8 min
World's no. 1 outsourcing destination. | 8 min
Better manage your business. | 6 min
Threats in Cyber Space. | 8 min
All you need to know about Custom Business Software Development | 10 min
FY19: Indian IT and Software Industry | 5 min
The future is now here! | 7 min