Part 4: Blockchain Technology - Fundamental Elements
In Part 4 of this multipart series on blockchain technology, we will cover the remaining key attributes and functions underlying the blockchain's unique charecteristics. Let's get started!
Smart Contracts. Smart contracts are underlying collections of code and data, or business logics, when deployed to a blockchain, allow for the automated execution of transactions that support, verify or enforce the performance of a contract. A smart contract can perform calculations, store information, and automatically trigger other smart contracts. The use of smart contracts on the blockchain enables the development of new applications enabling people to sell realties, exchange shares, money, and documents, and maintain origin and shipping manifests of commodities and products.
Consensus. Consensus is the process by which blocks are accepted and added to the blockchain. The consensus relies on the participants or nodes to derive a common agreement over time. This is an important concept as the blockchain does not have a trusted third-party to give the state of the blockchain. As a general rule, most blockchain systems will wait until the next block is generated and use that chain as the “official” blockchain, thus adopting the longer blockchain. Several consensus methods are discussed as follow:
A. Proof of Work (PoW). PoW is typically employed within a public blockchain where the nodes compete for the right and reward to publish the block by solving a computationally intensive puzzle. The solution to this puzzle is the “proof” the nodes have performed work. The complexity of the puzzle is adjusted periodically to defeat attempts to improve one’s likelihood of solving future puzzles based on historical information. The solving of the puzzle is handled through mining pools and their miners who share a proportion of the reward based on their computational contribution to the task. PoW is the underlying consensus algorithm for Bitcoin and other altcoin blockchain networks. PoW algorithm is highly tolerable provided no single organization controls the majority, or 51% of the network mining power, or hashrate.
B. Proof of Stake (PoS). In the PoS consensus model, the node validator stakes a deposit for the right to publish the accepted block to the chain and get the rewards. The selection of the validator in PoS is a random choice, however, is based on the total stakes in place for all validators of the blockchain. In other words, if the validator stakes 2% of the total stake, the validator would be selected 2% of the time. PoS is a proposed consensus algorithm to be deployed for public Ethereum blockchain.
C. Simplified/Practical Byzantine Fault Tolerance (BFT). BFT consensus algorithm and their variants allow member nodes to vote on the validity of the next block to be include in the blockchain. The final decision is based on a majority rule and can tolerate up to 1/3 of its member nodes being malicious. BFTs are typically utilized in permissioned blockchains where the participants are known and semi-trusted.
Starting with Part 5, we will discuss the implications of blockchain technology from various perspectives including legal, resources/expertise, maturity, and security.