You have probably heard of Bitcoin and Blockchain unless you have been living under a rock. They are, after all, keywords of the year,and they have now become fashionable, and media favorites. Even those who havenever “mined” a cryptocurrency or have only a rudimentary idea of how it operates are talking about it. In my life, non-technical friends outnumber technical friends. They have been asking me for weeks, insisting that I teach them about this new vocabulary. I am sure there are tens of thousands of others who share this sentiment. Thus it is time to build something that everyone can point other lost souls to - that is the purpose of this blog - written in plain English that any regular internet user can understand.
Let us first define a block and how it is chained beforedelving deeper into Blockchain.
What is a “block”?
Assume that all transactions are recorded on paper, with 25 lines per sheet. The community will"verify" the transactions on this current page once a sheet has been filled up (25 transactions). It is validated by group consensus if the majority of the community agrees that the 25 transactions are all the same. The page isadded to a stack of previously validated sheets once it has been validated.Because once a sheet is certified, it cannot be modified by joining the sheets together, each sheet on the stack can be assumed to be trustworthy. This process is called forming a block.
How are blocks “chained”together?
We embed information from the previous sheet of paper into a new, freshly approved sheet to link our sheets together. Our piece of paper is equal to a block in Blockchain. Chaining is the process of integrating a prior block of information into the present block of information. As a result, the word Blockchain was coined.
Today, all data in a block is processed through a specific procedure called a "cryptographic hash"to link them together. Cryptographic hashes generate a one-of-a-kind output fora given input. As a result, each block's hash will always be unique depending on the inputs as shown in figure 1.
To connect or chain datablocks together, the current block's header provides the hash of the previousverified block . Changing the contents on any block in a Blockchain will produce a completely different hash, which will not match the hash in thenext block header , resulting in the Blockchain being broken and allblocks linked to the modification, being invalidated. This gives Blockchain itsimmutability (inability to be changed) and makes it very resistant to censorship.
What is Blockchain?
The ‘anonymous’ Satoshi Nakamoto came up with the concept of blockchain, which he documented in a whitepaper.The concepts discussed in this white paper led to the creation of Bitcoin, theworld's first and largest Blockchain. At its core, Blockchain is arecord-keeping system that can track the movement of monetary wealth in theform of "tokens" or "coins." Bitcoin and other cryptocurrencies like Ether, LiteCoin, and Monero are instances of this at themoment. By offering an unchangeable digital ledger that is widely distributed and peer-validated, blockchains remain an effective enabling platform for cryptocurrencies.
Because each of theabove-mentioned cryptocurrencies has its Blockchain, they cannot be exchangeddirectly. It is vital to remember that a Blockchain does not require acurrency, and numerous intriguing and compelling use cases do not necessitatethe usage of specific money, coin, or token. In essence, blockchain is a ledgerthat serves as a record of asset ownership, independent of the type of asset. A Blockchain can also store nearly any sort of datathat is defined by the Blockchain's particular storage rules. Thisrecord-keeping system can keep track of both monetary and non-monetarytransactions of significance. This includes things like transferring ownership,updating a medical record, capturing a training certification, and documentingcrucial single-party statements.
The usage of Smart Contracts,which are nothing more than software programmed events, can make Blockchain anevent tracking system, where announcements indicate events and events can beactionable.
Blockchain may also be used asa workflow platform by assigning rules to occurrences using Smart Contracts.For a client app to communicate with a Smart Contract, the user, or theapplication from which the user is invoking the contract functionality must know the contract's public address.
In Blockchain, alltransactions are recorded in blocks. Before a block can be added to the chainof previously validated blocks, it must first be validated by group consensus.There are a variety of Blockchain consensus techniques, however regardless ofthe type of consensus utilised, every transaction data on a chained block is considered to be trustworthy, and the chained data has not been altered owing to group consensus data validation. There are two main consensus mechanisms named, Proof of Work and Proof of Stake.
· Proof of Work (PoW) Consensus
Byzantine Fault Tolerance was achieved in Bitcoin via a Proof of Work validation system. When a block of datais full, each node competes to solve a guessing game problem to validate the block of data using Proof of Work consensus. Because this is a non-computational problem, the most efficient solution is to make random guesses. Miners are nodes that must estimate the "nonce" to successfully validate a block. All block data, as well as the current guess(nonce), is sent through a cryptographic hash; if the result matches the current level of "difficulty," the miner has guessed correctly. The network adjusts the difficulty to match the load.
A nonce is a piece of randomdata that is mixed with block data to produce a hash output that matches the Blockchain's current difficulty level. Any miner who believes they have theproper answer will inform the rest of the community. Miners will use the nonce with their block data and try to get a result which fits the difficulty settingto validate the solution. The transactions on the winner's block are judgedright if 51% or more of the miners agree with the proposed nonce, and the miner with the correct answer is paid (usually the reward is given in platform tokens). Any nodes that lack the right block data will reconcile by copying the validated block from nearby nodes. Proof of Work consensus offers a game theory incentive for each node to act precisely and honestly; dishonest players willincur real-world costs in guessing the nonce for a 0% chance of receiving a payout.
· Proof of Stake (PoS) Consensus
Proof of Stake is a newer Blockchain consensus technique that has been proposed as a replacement forProof of Work to address the scalability and cost issues that PoW has. BecauseProof of Stake eliminates the guessing game in block validation, mining nolonger necessitates sophisticated and specialised gear, requiring less energy for processing.
To validate transactions,Proof of Stake consensus uses a mechanism in which "Validator" nodes individually donate or pay a stake. When it is time for collective consensus,everyone who wants to take part puts money at a stake. A random node is chosen,and all other participants are shown the hash of that node's block contents.The validity of the block transactions is staked by all other nodes. If the proposed block is approved by the majority, the random node gets rewarded, as are any people who bet on that node. If a majority of nodes disagree, therandom node loses their stake, receives no reward, and a new node is chosen at random to share the block data. Only the mechanics of how itis enforced are changed, but the game theory motivation for honesty and accuracy remains.
The main difference with the consensus is that there is no processing done during this; instead, onlywagering is done, and any device, regardless of the computing power, can wager.The “Nothing at Stake” dilemma, in which a validator node authorises all transactions on both sides of a ledger following a hard fork, is one potential vulnerability of Proof of Stake.
Proof of Work vs Proof of Stake
Smart Contracts are a technique of embedding rules and decision points into Blockchain transactions and processes. In traditional programming terminology, a Smart Contract can bethought of as a class for individuals with a development background. Smart Contracts are immediately published to the Blockchain and allow for the automation of transactions while ensuring that they all follow the same set ofrules. On the Blockchain, each Smart Contract and the transactions it conductsare stored as records or transactions. As a result, Smart Contracts exist on the Blockchain as permanent entities - something to keep in mind when considering a Smart Contract as a solution component.
Smart Contracts provide:
· Autonomy: Smart Contracts maybe produced by anybody; there is no need for middlemen like attorneys, brokers,or auditors.
· Efficiency: Removing process intermediaries frequently leads to large process efficiency improvements.
· Cost Savings: Replacing intermediaries frequently results in significant cost savings.
· Backup: A Blockchain and Smart Contract placed on it can give a permanent record, allowing for auditing,insight, and traceability even if the developer is no longer in business.
· Accuracy: By replacing human middlemen with executable code, the process is guaranteed to be consistent.
Blockchain vs Database
When determining which technology to deploy and whether Blockchain is the correct fit or not, there are numerous aspects to consider. The location of your solution's data is an important aspect of any solution. Traditional systems now rely on database technology that has been refined over many years.
When considering Blockchain as a solution, a traditional database system will be a better fit than Blockchainin the following situations:
· High-security data
· It is critical to perform well
· No requirement for history,simply a snapshot of data
· Ease of maintenance
· Application logic expected to change regularly
· Maintaining centralised management of resources is critical.
When the following conditions apply, blockchain will be a better fit than a traditional database system:
· Transparency and public validation are required
· Extreme fault tolerance isrequired
· Infinite scalability is required
· Data cannot or should not been trusted to a single authority.
Blockchain Use cases
“Blockchain is moving beyond cryptocurrency, and it is worth paying attention - especially since successful prototypes show that blockchain, also known as distributed ledger technology,will be transformative.”- JulieSweet
Continue to construct.
Ian Khan. (2019, May 10). Blockchain City - TheFuture of Cities Driven by Blockchain. Retrieved from YouTube: https://www.youtube.com/watch?v=I6fadL-0VRw
Konstantopoulos, G. (2017, December 1). UnderstandingBlockchain Fundamentals, Part 1: Byzantine Fault Tolerance. Retrieved from Medium: https://medium.com/loom-network/understanding-blockchain-fundamentals-part-1-byzantine-fault-tolerance-245f46fe8419
Malhotra, S. (2018, August 15). Beginner’sGuide to Blockchain — Explaining it to a 5 Year Old. Retrieved from Medium: https://medium.com/@_sidharth_m_/beginners-guide-to-blockchain-explaining-it-to-a-5-years-old-772caac6ae97
Cover pic from Background vector created by pikisuperstar - www.freepik.com