Overview of Blockchain evolution and phases from Ethereum to Hyperledger
Blockchain is to become a dominant game changer technology in many industries and markets around the world as it eliminates the middlemen while boosting business performance. Its implementation in modern supply chain management has resulted in fantastic results where whole chain has been automated while redundancies and middlemen are eliminated. The backbone of blockchain implementation as of this writing comes down to three platforms: Ethereum, Hyperledger and Corda. In short, the evolution of blockchain started with bitcoin or cryptocurrency, then gradually bitcoin technology is adopted by Ethereum for developing blockchain applications. Later on, other blockchain development derivatives such as Hyperledger and Corda platforms are emerged.
In this article, we briefly review the evolution of blockchain technology such as its different development phases and platforms.
Ethereum Blockchain Development
Although cryptocurrency or bitcoin technology gained popularity and adopted by many technology enthusiasts, it has the following shortcomings:
- Bitcoin serves a specific purpose—cash payment.
- Bitcoin’s scripting language is not Turing complete; for example, it has no looping statement, and so on. Here, the Turing completeness refers to the ability of a programming language to resolve any computational problems.
- Bitcoin does not have a state. Consequently, to answer a question such as What is the total number of minted BTCs?, you have to search the entire ledger.
To address these issues, Vitalik Buterin, a Canadian cryptocurrency researcher and programmer, proposed the idea of Ethereum in late 2013. Funded by an online crowdfunding sale—an ICO—the system went live on July 30, 2015, with 11.9 million coins premined for the crowdsale.
The core idea for Ethereum is to implement a general purpose blockchain. With that, users can address a wide range of business problems. Ethereum introduced a few key concepts:
- A Turing complete programming language, such as Solidity.
- Smart contracts, which define business logic and are deployed on the blockchain—every node maintains and runs the same code at almost the same time. Thus, smart contracts are immutable and are guaranteed to be executed and yield the same outcomes.
The idea of Solidity was initially proposed in August 2014 by Gavin Wood. The Ethereum project’s Solidity team led by Christian Reitwiessner later developed the language. It is one of the four languages (Solidity, Serpent, Lisp Like Language (LLL), Viper, and Mutan) that was designed for Ethereum virtual machine (EVM).
The introduction of the smart contract concept, along with others, has significant implications:
- A smart contract is a scripted legal document, since it is immutable and enforceable.
- The code built into the contract is stored on the Ethereum blockchain and cannot be tampered with or removed. This makes the scripted legal document credible. After being triggered, smart contracts cannot be stopped, meaning no one can easily influence the running code. As long as triggering conditions are met, the code will be guaranteed to run and the legally defined actions will be fulfilled.
- Ethereum to blockchain is like an OS to a computer. In other words, the Ethereum is a general purpose platform.
- It now has a Turing complete language—Solidity.
Bitcoin and Ethereum, along with many of their variations, are collectively called public blockchain, since they are open to everyone who is interested in participating in the network. No approval is required. Public blockchains cannot satisfy the needs of many companies. As per these firms’ business models, a participant has to receive approval before being authorized to join a network. To satisfy their needs, private blockchain platforms are implemented by modifying public blockchain platforms such as Ethereum and adding an authorization and entitlement component.
Since the membership of a private blockchain network is tightly controlled, several things can be simplified. For example, the consensus algorithm is simplified. Consequently, a primary blockchain platform has much better performance. Also, a private blockchain does not require that you issue a coin so that it gets its work done. Hyperledger is a well-known private blockchain. It is also referred to as an enterprise blockchain.
Ethereum greatly expanded the blockchain technology’s capabilities. However, there are many scenarios where Ethereum is not enough, as we just pointed out. The issues of Ethereum are restated here:
- Enterprise applications, for example, credit card transactions, require high- performance, as there are potentially billions of transactions a day. The current form of Ethereum has a maximum capacity of handling around 1.4 million transactions a day. Bitcoin is even worse: 300,000 transactions a day.
- Many financial markets, for instance, over-the-counter (OTC) derivatives or foreign exchange contracts, are permission-based. A public blockchain supported by Ethereum or bitcoin does not satisfy such a need.
Big companies across industries are addressing these issues. They form consortia to work on enterprise blockchain projects. With a permission-based enterprise blockchain network, a node has to receive approval before it can join the network. Hyperledger is one of them.
The Linux Foundation (LF) created the Hyperledger project in December 2015. Its objective is to advance cross-industry collaboration by developing blockchains and distributed ledgers. On July 12, 2017, the project announced its production-ready Hyperledger Fabric (HF) 1.0.
Currently, Hyperledger includes five blockchain frameworks:
- Hyperledger Fabric: A private blockchain, initially contributed by IBM and Digital Asset, is designed to be a foundation for developing applications or solutions with a modular architecture. It takes plugin components to provide functionalities such as consensus and membership services. Like Ethereum, HF can host and execute smart contracts. However, HF uses the term chaincode instead of smart contract. An HF network consists of peer nodes, which execute smart contracts (chaincode), query ledger data, validate transactions, and interact with applications. Transactions entered by users are channeled to an ordering-service component, which essentially serves to be HF’s consensus mechanism. Special nodes called orderer nodes validate the transactions and ensure the consistency of the blockchain and send the validated transactions to peer nodes, as well as to Membership Service Provider (MSP) services. MSP is the certificate authority.
- Hyperledger Iroha: Based on HF, it is designed for mobile applications. Iroha was contributed by Soramitsu, Hitachi, NTT Data, and Colu. It implemented a consensus algorithm called Sumeragi. Here is a good tutorial on Iroha implementation: How to Create Cryptocurrency Using Hyperledger Iroha CLI.
- Hyperledger Burrow: Contributed initially by Monax and Intel, Burrow is a modular blockchain that was client-built to follow EVM specifications. Here is a good tutorial on Burrow implementation: How to Deploy Ethereum Smart Contracts with Hyperledger Burrow
- Hyperledger Sawtooth: Contributed to by Intel, it implemented a consensus algorithm called Proof of Elapsed Time (PoET). PoET was invented by Intel and is designed to achieve distributed consensus as efficiently as possible. Sawtooth supports both permissioned and permissionless networks. Sawtooth is designed for versatility. Here is a good tutorial for Sawtooth implementation: How to Install and work with Hyperledger Sawtooth
- Hyperledger Indy: Initially contributed by the Sovrin Foundation, it is to support independent identity on distributed ledgers. Indy provides tools, libraries, and reusable components to support digital identities. Here is a good tutorial for Indy implementation: How to Explore Hyperledger Indy Command Line Interface
Evolution of Blockchain Technology
The blockchain technology is still in its early stages. It may take many years before it becomes mature and its potential has been fully explored. At the moment, there is no universally agreed way to classify generations for the technology.
According to Melanie Swan, blockchain has 1.0 – 3.0 phases as follows:
- Blockchain 1.0 refers to the cryptocurrency phase. During this phase, the blockchain applications focus mainly on cash payment, such as currency transfer, remittance, and digital payment systems.
- Blockchain 2.0 refers to the smart contract phase. During this phase, the blockchain applications focus in certain areas of the financial industry, for example, currency, financing, and security markets.
- Blockchain 3.0 refers to the blockchain technology being applied to areas beyond currency, financing, and security markets. For example, blockchain technology is utilized in areas such as non-profit organization causes, the health industry, the supply chain, manufacturing activities, and so on.
Some others divided the blockchain evolution into four generations:
- Blockchain 1.0: Bitcoin is the most prominent example. Financial transactions are executed based on distributed ledger technology (DLT). Cryptocurrency is used as cash for the internet.
- Blockchain 2.0: Ethereum is the most prominent example. The key concept is smart contracts, which are stored and executed on a blockchain.
- Blockchain 3.0: The keyword is Dapps (Decentralized Applications). DApps use decentralized storage and decentralized communication. Unlike a smart contract, which only involves a backend or server-side code, a DApp can have a frontend code, also called client-side code, for example, user interfaces, to interact with its backend code in a blockchain. In summary, DApp is a frontend and has smart contracts.
- Blockchain 4.0: Blockchain platforms are being built to serve Industry 4.0. Industry 4.0 refers to automation, enterprise resource planning, and the integration of different execution systems.
Regardless of how the generations are defined, it is certain that the growth of this technology is far from over. New ideas and implementations will be incorporated into the existing platforms to deal with challenges from real-life problems. In other words, blockchain technology will be nimble and is self-adjusted to be an enabler in resolving business problems. Issuing a cryptocurrency or a token is more relevant to public blockchains.
Free Webinars on Blockchain
Here is the list of our free webinars that are highly recommended:
- Hyperledger Fabric for system admin versus developers
- How to harness blockchain for environmental and corporate sustainability
- Review of Initial Coin Offering, Security Token Offering and asset tokenization use cases and best practices
- Hyperledger Fabric Deployment on Cloud
- Hyperledger Fabric for entrepreneurship- 21 blockchain business use cases
Here is the list of our 10 free self-paced courses that are highly recommended:
- IT Career Roadmap Explained
- Web Design with Bootstrap
- User Experience Best Practices
- Intro to Search Engine Optimization
- Web Design with WordPress
- Introduction to Drupal CMS
- Intro to Joomla CMS
- Intro to Cybersecurity
- Introduction to Cloud Technology
- Recorded Live Webinars and Classes
Self-Paced Blockchain Courses
If you like to learn more about Hyperledger Fabric, Hyperledger Sawtooth, Ethereum or Corda, taking the following self-paced classes is highly recommended:
- Intro to Blockchain Technology
- Blockchain Management in Hyperledger for System Admins
- Hyperledger Fabric for Developers
- Intro to Blockchain Cybersecurity
- Learn Solidity Programming by Examples
- Introduction to Ethereum Blockchain Development
- Learn Blockchain Dev with Corda R3
- Intro to Hyperledger Sawtooth for System Admins
Live Blockchain Courses
If you want to master Hyperledger Fabric, Ethereum or Corda, taking the following live classes is highly recommended:
- Live and self-paced blockchain development with Ethereum
- Live and self-paced blockchain development with Hyperledger Fabric
- Live and self-paced blockchain development with Corda
- Immersive Blockchain Bootcamp with live and self-paced courses
- Live crash course for learning Ethereum with Solidity
- Live crash course for building DApps with Hyperledger Fabric
- Live crash course for building DApps with Corda
- Live full-stack blockchain development in Hyperledger and Ethereum
Articles and Tutorials on Blockchain Technology
If you like to learn more about blockchain technology and how it works, reading the following articles is highly recommended:
- History and Evolution of Blockchain Technology from Bitcoin
- Overview of Blockchain evolution and phases from Ethereum to Hyperledger
- Comprehensive overview and analysis of blockchain use cases in many industries
- Blockchain Crowdfunding Security Token or Initial Coin Offerings
- A beginner Guide to Blockchain Technology
- How Decentralized Peer-To-Peer Network Works
- How blocks are added to the blockchain
- How Public and Private Keys of Cryptography Work
- What Is A Cryptographic Hash Function
- How Digital Signature Works In Blockchain
- The role and types of consensus mechanism in blockchain
- How Proof-of-Work Consensus Works in Blockchain
- How Proof of Stake Consensus works in Blockchain
Articles and Tutorials on Ethereum and Solidity
If you like to learn more about blockchain development in Ethereum with Solidity, reading the following articles and tutorials is highly recommended:
- Review of Architecture and Components of Ethereum
- Comprehensive Blockchain Ethereum Developer Guide from Beginner to Advance Level
- How to Write Ethereum Smart Contracts with Solidity in 1 hour
- Review of Architecture and Components of Ethereum
- How Ethereum Manages Accounts
- How Ethereum Manages Transactions
- How Smart Contracts Work in Ethereum
- How Ether and Gas Work in Ethereum
- How Ethereum Virtual Machine works
- How address and wallet work in Ethereum
- How mining works in Ethereum
- List of Tools and Technologies in Ethereum Ecosystem
- Review of challenges in distributed systems
- Review of Cap Theorem in Distributed Systems
- Horizontal Scaling versus Vertical Scaling in Distributed Systems
- How to Scale up Ethereum Blockchain Applications
- Review of scaling solutions for Ethereum
- How to Manage Ethereum State Channel with Raiden
- How Plasma Chains Work in Ethereum
- How Sharding and Gasper work in Ethereum
- How Proof-of-Stack Consensus Works in Ethereum
- A roadmap for Implementing Ethereum 2.0
- How to work with Decentralized Data and Content Storage in Ethereum
- How Decentralized Messaging with Whisper Works in Ethereum
- Review of Infura for Ethereum Development
- Review of Infura Ethereum API
- How to Use Remix with Infura for Ethereum Development
- How Ethereum Client API Works
- How Ethereum IPFS Storage Works
- How to Install and Start Ethereum IPFS Storage
- How to Run Ethereum IPFS Storage
- How to Work with Ethereum Swarm Storage
- How to Install Ethereum Swarm Storage
- How to Handle Ethereum Messages with Whisper
- Review of Popular Ethereum Smart Contract Libraries
- Review of Private and Permissioned blockchain
- How to Set up a Local Private Ethereum Blockchain
- How to Run Geth on a Local Private Ethereum Blockchain
- How to Build a Local Private Ethereum Blockchain with Mining
- How to Run Geth on a Local Private Ethereum Blockchain with Mining
- How to Create an Account on a Local Private Ethereum Blockchain
- How to Use Ethereum Optional Flags with New Chains
- Review of Ethereum Options for Development and Testing
- Review of Ethereum Developer Chain Options
- Review of Ethereum API and Console Options
- Review of Ethereum Networking Options
- Review of Ethereum Transaction Pool Options
Articles and Tutorials on Hyperledger Family
If you like to learn more about blockchain development with Hyperledger, reading the following articles and tutorials is highly recommended:
- Introduction to Hyperledger Architecture, Projects, Tools and Libraries
- Complete Review of Hyperledger Fabric Architecture and Components
- Hyperledger Fabric for System Administers versus Developers
- How to use Prometheus and Grafana to monitor Hyperledger Fabric
- Blockchain Developer Guide- How to Install Hyperledger Fabric on AWS
- Blockchain Developer Guide- How to Install and work with Hyperledger Sawtooth
- Blockchain Developer Guide- How to Install Hyperledger Burrow on AWS
- Blockchain Developer Guide- How to Install Hyperledger Iroha on AWS
- Blockchain Developer Guide- How to Install Hyperledger Indy and Indy CLI on AWS
- Blockchain Developer Guide- How to Install Hyperledger Seth and Docker on AWS
- Blockchain Developer Guide- How to Configure Hyperledger Sawtooth Validator and REST API on AWS
- Blockchain Developer Guide- How to Build Transaction Processor as a Service and Python Egg for Hyperledger Sawtooth
- Blockchain Developer Guide- How to Deploy Ethereum Smart Contracts with Hyperledger Burrow
- Blockchain Developer Guide- How to Create Cryptocurrency Using Hyperledger Iroha CLI
- Blockchain Developer Guide- How to Explore Hyperledger Indy Command Line Interface
- Blockchain Developer Guide- Comprehensive Blockchain Hyperledger Developer Guide from Beginner to Advance Level
- Introduction to Hyperledger Sawtooth Blockchain Development
Articles and Tutorials on R3 Corda
If you like to learn more about blockchain development on Corda , reading the following articles and tutorials is highly recommended:
Articles and Tutorials on Other Blockchain Platforms
If you like to learn more about blockchain development in other platforms, reading the following articles and tutorials is highly recommended: