The Hyperledger project was initiated in 2015 by the Linux Foundation, a group of members from different industries and a community of developers to meet the application needs.
IBM was one of the first members. The project now has more than 200 members, an active structure (“Fabric”) and 7 other projects under development. Hyperledger is an open source and open governance project that offers its members a technological structure to develop a project based on a blockchain (protocol, blockchain and smart contracts). It also offers an environment and the tools necessary to develop the project and put in relation to the different parts of the project.
The objective is to set up an open source and inter-industries platform to develop blockchain-based projects and enable them to experiment quickly. Hyperledger offers 5 structures (Fabric, Sawtooth, Indy, Iroha and Burrow) and 4 tools to facilitate the development of applications are currently in development (Cello, Quilt Composer and Explorer). Hyperledger goes further than Bitcoin and Ethereum by proposing to align the protocol with the very practical needs of applications developed by companies. Hyperledger Fabric.
HYPERLEDGER FABRIC SERVICES
One of the main features of Hyperldger Fabric is its flexibility. Its goal is to allow the most interaction between hyperledger members while being closer to their operational needs. Hyperledger offers four types of services: Identity Services, Policy Services, Blockchain Services, Smart Contract Services.
– Identity Services: as its name indicates this service allows to manage the identity of the members of the network.
– Policy Services: manages network access issues, privacy issues, consortium rules, and consensus rules.
– Blockchain Services: this service manages the issues related to the peer-to-peer communication protocol, the state of the blockchain, the consensus algorithm used by the consensus mechanism.
– Smart Contract services: provides an execution environment for Chaincode. This service is only available to “full nodes” also known as “validating nodes.” This service also includes secure containers (“secured containers”) corresponding to the Ethereum Virtual Machine (“EVM”) used for the execution of Chaincodes. The applications communicate with each of these services through APIs. CLI is an interface used to invoke these APIs.
MODELS AND FUNCTIONS OF HYPERLEDGER FABRIC
The Hyperledger Fabric model is made up of many elements that we will describe individually:
1- Members (“Peers”): “Peers” are members of the network who initiate transactions and maintain the status of the blockchain. There are three types of members: the Endorsers Peers or Endorsers have the mission to receive, validate and sign the transactions they receive and return them to the application that created them. “Ordering services” have the task of collecting the transactions that have been validated, adding them to the blocks and sending them to the “Committing Peers”. These check that the transactions have not been completed several times and the signature and add them to the blockchain.
2 – Assets: assets represent tangible or intangible assets that are represented on the blockchain and traded over the network, such as financial securities or food. These properties are formalized on Hyperledger in “<key.value>” in a Json file.
3 – Chaincode: these are the smart contracts used on Hyperledger. Their function is to define the assets that we must evoke by organizing their storage, as well as the functions that make it possible to act on these assets and change their state. Smart contracts can also include application-specific policies and policies.
4 – Ledger: the blockchain used by Hyperledger is the same as the other blockchain, that is to say, a register which marks in time the changes of transactions or state of the blockchain. The state changes on the blockchain are initiated by the Chaincode functions itself powered by transactions sent by network members. This operation is not very different from that used by Ethereum. A <key-value> is attached to each transaction which makes the blockchain a storage register for <key-values>.
5 – Channels: these channels offer the possibility of using “Fabric” privately and confidentially, ie only by members who have been shortlisted and on a private blockchain. However, it is possible to make transactions between different channels through Chaincode cross-links according to the rules determined in the Chaincode.
6 – Membership: Unlike public blockchains like bitcoin that are open to all, the blockchains used by Hyperledger are private and therefore imply that the identity of all members is known. The identié of “Peer Nodes”, “Client Applications”, “Business Entities” and “Administrators” is digitally established through an X.509 certificate. These certificates contain the role of each of the entities and their level of access to the information contained on the blockchain.
7- Consensus method: the consensus mode is the technique used by the members of the network to decide which block of transaction will be next to be added to the blockchain and by which member. Verification of the order and validity of transactions is part of the consensus mechanism.
Hyperledger has a significant advantage in this regard. The fact that the members of the network can choose between different methods of consensus. As we have already mentioned in our article on the differences between public and private blockchains, the mode of consensus depends on the level of trust between the members of the network. The more confidence there is, the more the consensus mode can be light. Indeed the mode of consensus ensures the security of the network, so it is normal that a network on which members do not know each other adopts a more secure mode of consensus (like the mechanism of the Proof of Work for example).
In the case of Hyperledger, the members of the network know each other, so the chosen consensus mode may be less secure (such as PBFT, “round robin policy” or “Simple Consensus”). Of course, it is also possible to use the Proof of Work mechanism with Hyperledger.
HYPERLEDGER FABRIC FUNCTIONALITIES
Hyperledger Fabric first offers the ability to use a blockchain and set it to match the needs of network members. Fabric allows to set up private blockchain and to assure the confidentiality of the transactions realized between the members.
It is also possible not to reveal the identity of the members who joined the network. Fabric then segregates the created blockchains, one from the other, while allowing the exchange of information between them using Chaincodes.
Hyperledger thus offers an extremely efficient and flexible development environment for creating a blockchain-based network.