- Toshendra Kumar Sharma
- June 16, 2020
The first major release of Hyperledger Fabric since v1.0, Fabric v2.0 delivers an essential brand new features and alterations for users and operators alike, which includes support for new application and privacy patterns, improved governance of smart contracts, and new options for operating nodes. What remained the same is the ability to upgrade network components on your terms, support for rolling upgrades from v1.4.x, and the ability to enable new capabilities only when member organizations are ready. Certified Hyperledger Experts suggest that Fabric 2.0 is a significant milestone for the era of enterprise blockchain.
Learning Of Blog
- Highlights of Hyperledger Fabric 2.0
- Decentralized regulation in smart contracts
- New patterns for collaboration and consensus in the application of chaincode
- External Keycode Launcher
- Final Word
Let’s have a look at various highlights of the Fabric v2.0 update.
Decentralized Regulation in Smart Contracts
Fabric v2.0 launches decentralized governance for smart contracts, with a new method to install a chain code on your peers and launch it on a channel. The latest Fabric chaincode lifecycle allows multiple organizations to agree on the parameters of a chaincode, for instance, the chaincode endorsement policy before it is used to interact with the ledger. The new model provides many enhancements over the previous lifecycle.
-
-
Several Entities Must Agree to the Parameters of the Chaincode
-
With the implementation of 1.x versions of Fabric, one body had the right to set the parameters of the chaincode for all other channel participants who had the power to refuse to activate the chaincode and thus did not take part with transactions in which the chaincode was invoked. The new Fabric chaincode lifecycle is more versatile as it embraces both centralized trust models and decentralized models requiring a large number of organizations to agree on endorsement policies and other information before the chaincode becomes active on the channel.
-
The More Deliberate Chaincode Upgrade Process
In the previous chaincode lifecycle, a single organization could be issued an upgrade transaction, creating a risk for a channel member who has not yet installed a new chaincode. The new model allows the update of the chain code only after a sufficient number of organizations have approved the change.
-
More Straightforward Endorsement Policy and Private Data Collection Updates
The Fabric lifecycle allows you to change your endorsement policy or individual data collection configuration without repacking or reinstall the chain code. Users can take advantage of a new policy for default endorsement that requires support from the majority of channel organizations. This policy is updated when organizations are added to or removed from the channel.
-
Inspected Chaincode Packages
Fabric lifecycle packages chaincode in effortlessly readable tar files. This makes it easier to check the chaincode package and coordinate installation across multiple organizations.
-
Start Multiple Chain Codes on a Channel Using a Single Package
The previous lifecycle identified each chaincode on a circuit using a name and version that was listed when the chaincode package was installed. Now you can use a single chaincode kit and deploy it several times with different names on the same channel or different channels. For example, if you want to track different types of assets in a chain code copy of your own.
-
Chaincode Packages Need Not be Identical Across Channel Members
Organizations that extend a chaincode for their use, e.g., to conduct specific validations in the interest of their organization. As long as the requisite number of organizations endorses chaincode transactions with matching outcomes, the sale will be validated and added to the ledger. This allows organizations to individually implement minor fixes on their schedules without requiring the entire network to proceed in a lock-up phase.
New Patterns For Collaboration and Consensus in The Application of Chaincode
The same decentralized methods of entering into an agreement that underpins the new chaincode lifecycle management can also be used in your chaincode applications to ensure that organizations consent to data transactions before they commit to the ledger.
-
Automated Checks
As stated above, organizations can add automated tests to the chaincode feature to validate additional information before submitting a transaction proposal.
-
Decentralized Agreement
Personal decisions can be modeled on a chain-code mechanism that requires several transactions. The chain code may need actors from different organizations to indicate their terms and conditions of the agreement in the context of a ledger transaction. The final chaincode proposal can then verify that the terms and conditions of all the individual transactors are met and that the business transaction is finalized across all channel members.
External Keycode Launcher
The external chaincode launcher feature authorizes operators to build and launch chaincode using the technology of their choice. The use of foreign builders and launchers is unnecessary as the default behavior makes and runs the chain code in the same way as previous releases using the Docker API.
-
Eliminate Docker Daemon Dependency
Previous versions of Fabric allowed peers to have access to the Docker daemon to create and launch a chaincode that may not be suitable in production environments due to the peer process privileges.
-
Alternatives to Containers
Chaincode is no longer required to run in Docker containers and can be executed in an operator’s environment of choice.
-
External Builder Executables
An operator can provide a collection of external builder executables to override how a peer builds and launches a chain code.
-
Chaincode as an External Service
Traditionally, chain codes are launched by peers and then connected back to peers. Chaincode can now be run as an external service.
Final Words
A significant new release gives rise to some additional upgrade considerations. Be assured, however, that rolling updates from v1.4.x to v2.0 are enabled so that network modules can be upgraded one at a time without downtime. Update documents have significantly been expanded and reworked, and now have a stand-alone home in the documentation: update to the new version.
Hyperledger developer online training programs offer blockchain hyperledger certification as well as hyperledger developer certification try your hands on it today!