The term “blockchain”, which refers to Bitcoin and other crypto currencies, is something you have probably heard. Many people think that Bitcoin is Blockchain. But, blockchain is actually a technology that underlies digital currency.
This article will help you get to know blockchain technology and cryptocurrencies better.
Blockchain Technology in the past
Although it may seem unbelievable, people began to consider the blockchain a new internet era in 1991. Stuart Haber, W.Scott Stornetta, and Stuart Haber envisioned the technology today known as blockchain. They started working on cryptographically protected blocks in a chain that was impossible to tamper.
The system was upgraded by these men who added Merkle trees and collected multiple documents on one block. However, the technology began to gain prominence in 2008 when Satoshi Nagamoto introduced the blockchain.
Satoshi released a whitepaper called “Bitcoin” that describes how to create an anonymous, secure digital currency without the involvement of any central bank or entity.
The document, which did not include the term “blockchain”, described the basics of blockchain technology. Satoshi started Bitcoin in January 2009 but left the project shortly afterward and passed the Bitcoin development on to other developers.
Developers have worked hard to develop a new peer currency that doesn’t involve central entities. Bitcoin Market was the first cryptocurrency exchange in the world. In 2010, Lazlo Hansyecz, the Bitcoin Pizza Guy made the first ever real payment in BTC.
When someone asks about the history of blockchain, we can tell them that it was established in 1991.
What is Blockchain?
“Blockchain Revolution” authors Alex Tapscott and Don Tapscott state that “The Blockchain is an incorruptible, digital ledger of economic transaction that can be programmed not only to record financial transactions but also virtually every value.”
Blockchain is not software or a company. Instead, it is a novel and innovative way to document information on the internet. A blockchain is a sequence of time-stamped blocks that hold an immutable record. It is managed by a group of nodes and not any one authority.
Every block of data has been encrypted and linked together with cryptography principles.
Let’s look at the blocks more in depth.
A block is a page in the ledger. Each block includes data, timestamp, a hash and the hash of each previous block.
The type of blockchain will determine the amount of data that is saved in each block. In the Bitcoin blockchain, blocks store information about transactions like sender, receiver and balance.
As it acts as a fingerprint, the hash of the block gives an unique identification to all blocks and their contents. Every transaction in a block can be represented as a haveh.
A hash of an older block is always added as a new block in order to preserve chronology and ensure that the blocks are valid. The timestamp indicates the date the block was created. This helps keep track of its creation and subsequent updates.
A new block should always point at the previous block. A block that does not have the valid hash value from the previous block is considered tampered with.
All blocks would be invalidated if any one of them were altered.
It is not enough to secure the blockchain from manipulation or tampering. Hackers are able to quickly compute hash values and invalidate blocks, because computers today are so fast.
To ensure there are no single entities controlling network information, blocks are distributed across all machines. This is called a node on the network.
Every node maintains a copy of its ledger to ensure that data is always accessible and not lost. Each node agrees if data is valid when it is added to blockchain.
Now, the question is how can nodes agree to add blocks to the blockchain.
The consensus algorithm is the correct answer.
There are many blockchain platforms, so different consensus algorithms can be used to decide if a block should or shouldn’t be added to the Blockchain.
Let’s now understand how blockchain technology works.
How does Blockchain work?
Blockchain is built on these concepts:
Private Key Cryptography
Distributed Network with Shared Ledger
Service to the network’s transactions, security, and record-keeping is an incentive
Private Key Cryptography
Each person should have a private and public keys if they want to transact on the internet. This is how the blockchain works to secure users’ digital identities.
A unique digital signature can be created by combining private and public key. Users have reliable control over ownership by having both public and private keys.
To protect digital relationships, cryptography isn’t enough. It should be combined together with authorization (a method of validating transactions and permissions).
In the case blockchain, authorization occurs via a distributed system.
Distributed Network using a shared ledger
The example of “trees were chopped down” can explain the value of a distributed network. If there were cameras, we could be certain that the incident was recorded. Even though the details of the event (why and when) can be difficult to understand, visual evidence shows that it did happen.
In the same way, the validators of the blockchain are like cameras. They reach consensus when they see the exact same thing occurring simultaneously. But they use mathematical verification to compute instead.
A network node initiates a transaction by creating and signing it using its private key. Transactions are the logic of transferring value, source/destination addresses, rules, and validation information.
The transaction must now be verified. A network of computers on blockchain verify the transactions that will be stored in a block. Once they verify that the transaction took place, they add it into the block.
The block contains the information, digital signature and timestamp. It is broadcast to every node in the network to ensure that they are always accessible.
The blockchain records transactions and cannot be edited or deleted after they are written.
Here are the different consensus protocols used to validate transactions on blockchain.
Do you have proof of work?
Proof of Work, a consensus protocol, aims to discourage cyber attacks like distributed denizen of service attacks and exhausting computer systems’ resources with multiple fake requests.
Bitcoin’s inception brought about the proof-of-work. In 1999, Markus Jakobsson and Ari Juels coined the proof of work in a published document.
It’s a method to identify a cumbersome and costly computer calculation called “mining.” Mining is done to create a trustless group of transactions on a distributed ledger known as blockchain.
The following functions are possible with mining:
Verifying the legitimacy of transactions or refusing to accept double-spending
Digital currencies can be created by offering rewards to miners who perform previous tasks.
The node which finds the mathematical power solution is authorized transactions and can add new blocks to a blockchain network. As one must reevaluate the computer computations for all blocks within the network, proof of work consensus is required to prevent tampering.
The Proof of the Stake
Proof of Stake (PoS), is a consensus algorithm to reach distributed consensus and validate transactions. Peercoin in 2012 suggested the first implementation of Proof of Stake. The algorithm is safe and energy-efficient.
Miners who solve math problems in proof of work consensus algorithm are awarded for validating transactions and creating blocks. With the proof-of-stake algorithm, however, the creator of the next block is chosen randomly based on how rich (cryptocurrencies) or how long the user has kept that digital currency.
Proof of stake is much more energy-efficient than the proof of work algorithm and thus costs less. Incentives to miners are also more attractive when there are fewer coins released.
The algorithm can be used to encourage people to take part in the system as well as to protect the network against any person who wishes to control it. A group or individual must have the majority of coins in order to attack the network at 51%.
First, it would cost a lot of money for attackers to get enough coins. If one party began buying all of the cryptocurrency, it would lead to individuals leaving. The price would increase to stop a hostile takeover. An attack on the network would reduce the value of coins the attacker has.
A drawback to proof of stake is that it has no “nothing at risk” problem. This is when block generators do not have anything at stake and prevent the conflict from resolving.
Delegated Proof Of Stake
Delegated Proof of Stake, also known as DPoS, is a consensus algorithm that aims at securing a blockchain. It speeds up block creation and transactions but does not affect the decentralized incentive structure.
To be able to forge blocks and authorize transactions, you must put your currency at risk with the proof-of-stake consensus mechanism. Delegated Proof of Stake Consensus (a variant of PoS) aims to efficiently achieve consensus.
DPoS uses elections to maintain its consensus. Users of DPoS-based Blockchain vote to select witnesses and gain more votes to validate transactions. Other users can also use the DPoS-based blockchain to pass their voting power on to them.
Votes are judged based upon the size of the voter’s stake. This means that users don’t need a large stake in order to get into the top-tier of witnesses. Users with a large stake in the top tier of witnesses can vote to choose users who have a smaller stake.
The maximum number of witnesses required for the top tier is limited to a certain number. They must create blocks, validate transactions and be awarded the associated fees.
Witnesses are unable to alter transactions’ details but can stop certain transactions being added in a new block. These witnesses are very similar to the proof of work system miners.
Users can vote for a group or individuals to represent them in DPoS’s consensus-based network. These delegates are trusted parties that will manage the network. They oversee the operation and governance of the blockchain protocol but are not able to validate transactions or create blocks.
Leased Proof Of Stake
Leased Proof of Stake, an additional addition to the Proof of Stake, is also available. Waves introduced this new consensus algorithm, which offers a better catch while consuming less power. Original proof of stake did not allow individuals with limited coins to take part in staking.
Smallholders have the opportunity to take part in the Staking process through the Leased Proof of Stake algorithm. They can rent their coins to other network members and receive the benefits. This situation was drastically changed by the introduction of leased PoS.
Proof of Elapsed Time
PoET is a consensus algorithm that works well on permissioned blockchains. It requires permission to access and use the network.
Proof of Elapsed Time algorithm is a technique that covers transparency throughout the network and provides secure login. Each individual in the network has to wait for a specific amount of time. But, that limit is not fixed. The individual who completes their wait time can go on the ledger to create a new block.
Now the question is whether individuals will wait for the exact time they were assigned. The Intel Software Guard Extension requirement on the CPU is what determines how the algorithm works.
The Intel Software Guard Extension manages unique codes across the network. PoET uses this system to ensure that winnings are fair.
Byzantine fault tolerance (BFT).
Lamport, Pease, & Shostak introduced The Byzantine Generals Problem (in 1982) to ensure that any malfunctioning components giving conflict information were managed within a single system.
BFT can manage different types of faults that are related to Byzantine General’s Problem. Two nodes on a network can communicate securely, as long as they share the same data.
Peer-to-peer networks can only reach consensus when all non-faulty and loyal nodes agree on the decision. BFT involves repeatedly sending an incoming message to other recipients. All the nodes assume the Byzantine issue is eliminated by repeating the same message.
Practical Byzantine fault tolerance (PBFT).
Practical Byzantine fault tolerance usually focuses on state machines. By replicating the system, it solves the Byzantine general issue. The algorithm assumes independent nodes can fail the network or cause it to malfunction.
Each node is arranged in a certain order. PBFT has one primary node and several backup nodes. The system is uniform in its operation and all nodes interact with one another.
Each node of the PBFT consensus mechanism will verify information from the network to avoid any unreliable information problems.
They can also find out what happens if one node is compromised or if all nodes come to an agreement that allows for majority voting.
Delegated Byzantine fault Tolerance
Although the blockchain ecosystem generally follows the most well-known consensus algorithms, Proof of Work, and Proof of Share, some attempt to impose more advanced consensus systems. NEO is a popular platform that uses blockchain technology to create a new consensus protocol, Delegated Byzantine Fail Tolerance. It is similar in concept to the DPoS.
Users can elect delegates on the NEO blockchain to represent their interests. Each user who holds the native cryptocurrency has a particular interest in the platform.
It functions in the same way as a country’s parliament that includes citizens, speakers, and delegate. Citizens signify NEO tokens holders and delegates signify bookkeeping nodes. While the speaker is one randomly selected delegates, citizens imply NEO tokens holder.
Voting citizens elect delegates so that every citizen, no matter how many tokens they own, can vote. Randomly, one of these delegates is chosen to be a speaker. The role of the delegates is to listen and respond to citizens’ needs.
All transactions are kept track by the delegates and recorded on a ledger. Randomly chosen speakers propose their block to verify a blocked. The speaker will send their block to all the other delegate so they could match their blocks with the speaker’s, and thus ensure validity.
Before the speaker can validate and add to the network, 2/3 must agree on the proposed block. If the block is not agreed upon by 2/3 of the delegates, another speaker will be chosen and the entire process will repeat.
Simplified Byzantine Fail Tolerance (SBFT).
The Byzantine Fault Tolerance consensus algorithm is simplified in a slightly different way. A block generator collects all transactions first and authorizes them, after which they are combined in a new block.
To validate transactions, the block generator must ensure that all network nodes follow certain rules. Once the rules have been applied by the generator, a block signinger confirms them and signs it. Transactions are rejected if one or more blocks fail to provide a key.
Asynchronous Byzantine Fail Tolerance (ABFT).
Asynchronous Byzantine Fail Tolerance consensus mechanism is the system’s ability keep the network honest despite sending out invalid messages and malicious nodes.
Although Deterministic Byzantine can’t be asynchronous with unbounded delay messages, it guarantees consensus using FLP theorem. But, systems that are not deterministic can still reach agreement with probability one.
Now that we have a better understanding of different consensus algorithms, we can start to talk about the various blockchain platforms used for building blockchain apps.
Blockchain Technology: Applications
A smart contract refers to a computer code that executes automatically when certain conditions are met. The Ethereum blockchain platform is an open source project designed to enable smart contracts. Smart contracts are different from traditional contracts in that they do not require trust to be brought about by any third-party. Smart contracts, instead, are coded as an agreement between two or three parties. Smart contracts can be used to save time and avoid conflicts by being based on a decentralized network between all authorized parties. Smart contracts built on the blockchain can facilitate settlements in different business processes.
Companies such as Uber or Airbnb are growing rapidly and the sharing economy is a great idea. Uber is a centralized authority that allows users to use ride-sharing services. The blockchain offers an opportunity for direct interaction between people through peer-to–peer payments. Startups like SnagRide, BeeToken and others are becoming the blockchain’s Ubers and Airbnbs. These platforms let users connect directly with one another, rather than a third party or centralized authority. It makes it possible to transact with no transaction fees.
Audits of Supply Chain
Nowadays, socially active consumers want to be sure that any claims made about their products by companies are true. Distributed ledgers allow for a quick and easy way to trace the products throughout the supply chain. Blockchain-based timestamping a date and a location adds transparency to the supply chains ecosystem. Provenance is a UK-based service that audits supply chains for consumer goods. The Ethereum blockchain-based provenance project guarantees that Indonesia’s fishermen have harvested fish for Japanese Sushi restaurants.
Intellectual Property Protection
You can quickly share digital information and have it reproduced. This has allowed web users to access a wealth of free content. Smart contracts can be a great solution to copyright holders who are losing control of their intellectual property and face financial loss. They can automate content sales and protect copyrights, eliminating the possibility of redistribution.
Mycelia is an example of a peer-to–peer music distribution platform that uses blockchain smart contract technology. This allows musicians to directly sell their songs to producers and license samples. Users can also make fractional cryptocurrency payments through the platform.
Management of Identity
Everybody performs many tasks online these days, including shopping, paying online and communicating on social media. These tasks all require a digital ID. Data loss and theft are increasing with the increase in online interactions. Without their consent, their data is shared. Blockchain is able to overcome these problems by removing central authorities from the equation and giving individual control over digital identities.
Data breaches and privacy concerns can result from multiple IDs being shared for different purposes. Blockchain allows for self-sovereign identities on a decentralized network. This ensures that identity documents can be verified and endorsed only by those who have permission to do so. Blockchain allows digital identity owners to manage their digital identities directly, without the need for intermediaries or third parties.
Here are some popular blockchain platforms for developing blockchain applications
Ethereum is an open source blockchain platform for running smart contracts on a customized blockchain. The Ethereum Virtual Machine provides the run-time environment necessary to execute Ethereum-based smart contract. Each node runs an EVM installation. Ethereum is a public Blockchain platform. It was designed to offer restricted access rather than mass consumption. The Proof of Work algorithm is the current version of Ethereum. It could change to the Proof of Stake algorithm for ETH 2.0.
It is home to Ether, a native cryptocurrency that powers the entire Ethereum ecosystem. Developers building apps on Ethereum need to pay Ether fees to execute transactions or run apps.
EOS is a robust, blockchain-based architecture that allows vertical and horizontal scaling for dApps. EOS platform allows authentication, asynchronous communications, and application scheduling across multiple CPU-core clusters/cores. It allows anyone looking to launch blockchain applications to determine permissions. Developers can use the EOS platform to create private or public blockchains.
Stellar is an open source distributed payment ledger. It can be used to connect payment systems, banks, and people. It is open-source and can be used to create mobile wallets, banking tools, and any other payment-related software. The Stellar Consensus Protocol, (SCP) allows for consensus without having to rely on closed systems to record financial transactions. SCP allows for the optimal balance between safety and liveness by pausing the progress of the network until an agreement has been reached.
Hyperledger Sawtooth is an enterprise blockchain platform that allows you to build distributed ledger applications and networks.
Hyperledger Sawtooth makes it easier to develop blockchain apps by seperating core and app domain. It allows developers to define the business rules of applications in the language that they prefer.
The platform is modular and applications can choose from consensus algorithms, transaction rules and permissions according to their unique business requirements.
Hyperledger Fabric is distributed ledger platform that uses modular architecture. This modular architecture allows for high degrees of scalability. resiliency and confidentiality. Hyperledger fabric is private and permissioned. This is in contrast to an open system that permits anyone, even unauthorized, to participate in the network. It is enrolled by members of the network via a trusted Membership Service Provider.
Hedera Hashgraph provides distributed consensus through a fast, secure, and fair platform. The hashgraph distributed consensus algorithm allows the platform to process hundreds of thousand of transactions per second in one shared. The consensus latency of the platform is therefore measured in seconds.
The platform achieves high-security levels at scale by using asynchronous Byzantine Fut Tolerance.
The Hedera Network provides smart contracts with an optional mechanism known as “binding arbitration.” This means that smart contracts can be updated using a list public-key arbitrators to add new features or fix bugs.
Once the designated arbitrator agrees to smart contracts updation the arbitrator’s keys authorize the transaction with a new bytcode and the change in is reflected.