Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Oracle Blockchain Quick Start Guide

You're reading from   Oracle Blockchain Quick Start Guide A practical approach to implementing blockchain in your enterprise

Arrow left icon
Product type Paperback
Published in Sep 2019
Publisher Packt
ISBN-13 9781789804164
Length 350 pages
Edition 1st Edition
Concepts
Arrow right icon
Authors (3):
Arrow left icon
Vivek Acharya Vivek Acharya
Author Profile Icon Vivek Acharya
Vivek Acharya
Nimesh Prakash Nimesh Prakash
Author Profile Icon Nimesh Prakash
Nimesh Prakash
Anand Eswararao Yerrapati Anand Eswararao Yerrapati
Author Profile Icon Anand Eswararao Yerrapati
Anand Eswararao Yerrapati
Arrow right icon
View More author details
Toc

Table of Contents (8) Chapters Close

Preface 1. Exploring Blockchain and BaaS FREE CHAPTER 2. Construing Distributed Ledger Tech and Blockchain 3. Delving into Hyperledger Fabric 4. Engage in Business Case on Blockchain Platform 5. Managing Solutions on Oracle Blockchain Platform 6. Developing Solutions on Oracle Blockchain Platform 7. Other Books You May Enjoy

Blockchain platform

Until now, we have explored different types of blockchain network. In this section, we will quickly look at two major blockchain platforms—Ethereum and Hyperledger Fabric.

Following is the overview of these two platforms:

  • Ethereum: It's an open source, public blockchain network. It is an extension of the core blockchain concept and now supports applications beyond currencies. Developers can build decentralized applications (via smart contracts) and can even build decentralized autonomous organizations (DAOs). It is a generic platform, and transactions are validated by PoW consensus. Ethereum is used as an idea for business-to-consumer (B2C) use cases and applications. It's a public blockchain; hence, all of the participants can access the ledger. It supports Solidity and has built-in currency (Ether).
  • Hyperledger Fabric: It is a platform for enterprise applications. This platform is open source and modular and runs the BFT consensus algorithm. Hyperledger does not truly have a consensus mechanism. Due to its pluggable architecture, consensus can be plugged to it, based on the use case. Ledger is not public and it's mostly suited for business-to-business (B2B) use cases or applications. Chaincode (also known as smart contracts) can be written in standard languages such as Java, Go, and Node.js. It does not have a built-in currency.

Operations include the following:

  • Ethereum: It is a public blockchain, where participants (nodes) can participate any time
  • Hyperledger Fabric: It is a private blockchain, where participants (nodes) are given permission to participate

Consensus is as follows:

  • Ethereum: Roles played by each participating node are similar. All of the nodes need to reach consensus for a transaction to commit. Every node needs to participate in consensus, even if that node is participating in a transaction. Ethereum consensus is based on PoW algorithms or a hybrid of PoW/PoS (called Casper).
  • Hyperledger Fabric: Roles played by each participating node can be different. Some nodes are validating nodes, some are endorsing nodes, some are ordering nodes, and so on. Hence, during the process of establishing a consensus, different nodes will be performing different tasks. Nodes can opt for No consensus (No-op) or an agreement protocol such as PBFT. There is no third party that is forcing the choice of consensus mechanism. In addition to consensus, Hyperledger Fabric also offers identity verification during the life cycle of the transaction. It also supports channels and private data collection for a more private transaction between parties. Transactions are ordered and then added to blocks, which are then distributed across the channel. Channels further control the visibility of transactions to the business network participants.

Choice: Depending on the use case and application, you can opt for Ethereum versus Hyperledger. The following are a few points to note:

  • Ethereum: Ethereum is public and permissionless and offers transparency. Its various advantages listed in the previous section. However, privacy and scalability are low in Ethereum.
  • Hyperledger Fabric: It solves privacy and scalability issues and offers access control, high transaction speed, and resilience. On top of that, it is modular and pluggable, which can suit various B2B enterprise use cases.

Code execution is as follows:

  • Ethereum: Code, also known as smart contracts, is executed on the EVM. Ethereum networks offer services to execute smart contracts and allow them to reach consensus. They also offer services to invoke external oracles. The scope of a smart contract is until the lifetime of the business network concludes. Hence, it's good development practice to write smart contracts with KILL methods.
  • Hyperledger Fabric: Code, also known as chaincode, can be written in a standard programming language such as Java, Node.js, and Go. Chaincode is executed on the business network and validated and endorsed by business network nodes. Unlike Ethereum, Hyperledger Fabric supports chaincode versioning and upgrading. Following are some highlights of Hyperledger fabric from chaincode perspective -
    • Chaincode can be upgraded to a new version, as long as you maintain the same name of the chaincode; otherwise, it will be considered a different chaincode. Update is a transaction on the blockchain network and results in the binding of the new version of the chaincode to the channel. Before you update the chaincode, install a new version of the chaincode on the endorsers.
    • What happens to the old version? All the other channels that are binding to the previous (old) version of the chaincode can continue to execute the older version. You submit the chaincode upgrade transaction to a channel. Hence, only one channel is affected, to which you have executed the upgrade transaction. All other channels, on which the upgrade transaction is not executed, will continue to run the older version.
    • Chaincode can even be stopped. However, the start and stop life cycle transactions are not implemented in v1.4. These are future enhancements. Stop transactions will be a logical way to stop chaincode transactions before upgrading it.
    • Optionally, you can STOP a chaincode by removing the chaincode container from the endorsers. Practically, you can delete the chaincode's container from each host (VM) on which the endorsing peers are running.
Hyperledger Fabric supports Ethereum. With Hyperledger Fabric version 1.3 onward, smart contracts written in Solidity and Vyper can now be executed on Hyperledger Fabric as it supports the EVM. It's a new smart contract runtime and supports web3.js for enhancing the development of dApps (decentralized applications). This further boosts the development of dApps on permissioned blockchain. Visit https://www.hyperledger.org/ for more details on this feature.
You have been reading a chapter from
Oracle Blockchain Quick Start Guide
Published in: Sep 2019
Publisher: Packt
ISBN-13: 9781789804164
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image