Crash Course into Blockchain Technology
Blockchain is referred as an ingenious invention created by mastermind(s) with pseudonym Satoshi Nakamoto. Ever since its invention, the system has managed to evolve into advanced technology.
Blockchain technology relies on a decentralized peer-to-peer data storage system supplied with a consensus mechanism ensuring that all peers agree on the data they see in the storage. Blockchains feature immutable ledgers, where one can add new records (called transactions), but no one in the world can modify or remove what was added earlier. Unlike centralized systems that require trusted third parties for arbitrage and management, blockchains rely on cryptographic algorithms ensuring authenticity, authorization and immutability of the information in a decentralized environment. In particular, Blockchain solves so-called double-spend problem where it is not possible to replicate the ownership of a digital asset, but rather do an authorized transfer of it. Hereby, likewise WWW is called sometimes as the Internet of Information, Blockchain is called as a new type of the Internet – The Internet of Value. As the initial use case, a blockchain was developed as a distributed decentralized digital money system (cryptocurrency) that was called “Bitcoin”, but later on there were found a number of other use cases for the Blockchain technology.
Nowadays, Bitcoin and other cryptocurrencies are one of the most popular investment instruments. The total market capitalization cap is of a magnitude of a half of a trillion USD.
In this article, we provide you with a brief and easy introduction into the Blockchain technology.
Blockchain Ledger as a Shared Serverless Database
Intuitively, a blockchain ledger can be compared to a spreadsheet database that is shared and replicated multiple times between peers while being updated continuously with new data records, called transactions.
All the information that is present in a blockchain ledger is shared with all the peers, called “blockchain nodes”, who are making part of the system. Every time a node’s user adds new transaction (if she has permission for that), that transaction is being added to her node’s local copy of the ledger. In the same time it is being propagated, broadcasted, among all the other nodes in the blockchain network. The new transaction will be verified by every node independently one from another. If the user that added a new transaction to the ledger does not have permission to do so or the transaction is invalid, it will be rejected by the other nodes.
Blocks, Chain, Immutability
New transactions must be validated, verified and ordered when being included into the ledger. This is done to avoid double spend problem by means of reaching consensus among all the nodes about what transaction authorizing a given digital asset ownership transfer (spending) was the first one while rejecting all the other transactions spending the same asset. To achieve that, new transactions are being grouped and included into new blocks, where each new block references cryptographically its immediate chronologically preceding block. In this way, an ever growing chain of blocks is being formed, hence called “Blockchain”, where new blocks containing new transactions are periodically added to the “top” of the chain. Blocks reference their predecessors in such a way, that in order to change a record in a block one would have to recompute all of its successor blocks, what should be practically impossible even with a significant portion of all the computational power available to the Humankind. In this manner, all the nodes see the same chronological order for all the transactions in the ledger and no one can modify any of the transactions in the ledger retroactively.
Mining New Blocks
Depending on a particular blockchain and use cases it solves, different consensus mechanisms are being applied. For instance, in Bitcoin blockchain Proof-of-Work is used such that a node that mined a new block demonstrates that it has performed enough computations to earn the right to create the new block. Blockchains that use proof-of-work consensus mechanism are solving very difficult computational problems by guessing in a random manner potential solutions and checking if their guesses were successful ones. If the guess was successful, the node creates the new block and includes the correct guess for the solution of the problem in the block. The other nodes in the network can quickly verify that the guess is indeed correct and accept the respective new block to extend their local copies of the blockchain.
Other consensus mechanisms
Proof-of-Work problem is designed in such a way that it is practically infeasible to solve it, but just trying random candidate solutions without an advance knowledge what solution should be a successful one. Clearly, more computational power a node has, more probable it will be chosen to mine a new block. In blockchains based on Proof-of-Work, the difficulty of the problem is being adjusted dynamically to maintain in average same pace for new blocks production. For instance, in Bitcoin, a new block is being produced roughly every ten minutes, in Litecoin every 2.5 minutes, in Ethereum every 15 seconds. However, the major drawback of Proof-of-Stake is it is being resource-wasteful solution since it enables miners to compete to each other by endlessly raising their energy consumption and building new specialized computational hardware.
There exist a number of other way more resource efficient consensus mechanisms. One example is Proof-of-Stake where the probability for a node to be chosen to mine a block depends on its stake (amount of crypto tokens associated to it). In case a mining node is not playing up to the rules, it risks to lose all its associated funds as a punishment for not playing fare, in this way making cheating for anyone economically infeasible. For instance, Ethereum network is planned to move at some point to the Proof-of-Stake from Proof-of-Work, Dash is using the hybrid Proof-of-Work and Proof-of-Stake mechanism, NEO, Cardano, etc. Among the other consensus mechanisms we can list Proof-of-Importance (NEM), Proof-of-Authority (mainly used in testnets and private blockhain systems), Proof-of-Space (Siacoin), Proof-of-Elapsed-Time (Hyperledger Sawtooth), and others. In all these consensus mechanisms there is no need for powerful specialized computational hardware and high energy consumption.
In public permissionless blockchain networks anyone can participate in block mining process by operating their mining nodes. Mining of new blocks is a vital process for keeping the blockchain network alive. In cryptocurrency blockchains. In order to motivate people to support a blockchain networks through mining, the operators of mining nodes are being rewarded some fee in the blockchain native tokens for every new mined block. For instance, every newly mined block in Bitcoin network will bring to the miner freshly minted 12.5 BTC plus the fees of all the transactions included into the block.
Also, mining rewards is a mechanism to emit new crypto-coins into the economy by distributing them in an unbiased fair manner among independent users. There exist other approaches to introduce crypto-coins into the economy for a newly created blockchain. For instance, this can be done through converting tokens bought during an ICO campaign for the newly created blockchain by users into the equivalent amount of its native crypto-coins.