If you are thinking of learning blockchain and do not know anything about the buzz word “Fabric”, then you are at the right place. I will also try my best to cover every concept associated with the Hyperledger Fabric.
Firstly, let’s start with a gentle introduction to “Hyperledger Fabric” and learn what it is.
So, Hyperledger Fabric is one of the projects carried by the Hyperledger Tree. It is an open-source permissioned distributed ledger that is specially designed for enterprise context only. It delivers some key differentiating capabilities or services over other ledgers and blockchain platforms.
Well, we all know that Hyperledger is a blockchain platform that provides distributed ledger solutions which are built based on the modular architecture due to which these solutions provide a high level of confidentiality, flexibility, & scalability.
The project has a diverse set of maintainers belonging to multiple organizations since its earliest commit.
It can provide you with innovations, versatility, and optimization because of its high level of modular and configurable architecture. As we know it is purely enterprise based so few of the use cases where it has been prominent in use are banking, finance, insurance, supply chain, healthcare, etc.
Smart contract in Fabric
In fabric language, smart contract is known as “Chain code” which functions as a trusted distributed application. It gains its trust & security from the blockchain and consensus algorithm used amongst the peers. It also serves as a business logic of the application.
Many blockchain platforms having smart contracts are able to follow “Order - Implement” flow in which the decision taking protocols are used as consensus protocol,
- Validates the transactions in order and send them to all the peer nodes that are part of that specific blockchain.
- Then the transactions are executed sequentially by all the peers.
The Oder - Implement architecture can be found in all the blockchain systems whether they are permissioned / public platforms. In order to reach a specific final decision, smart contracts must be deterministic. Non - deterministic issues are handled by the smart contracts which are written in a non - standard or domain-specific language (such as Solidity).
There comes limitation in the performance and the scale just because the transactions are executed sequentially.
A New Approach
Fabric has introduced a new flow for transactions done on the chain which is known as “ Execute - Order - Validate ”. It solves the challenges like resiliency, flexibility, scalability, performance, and confidentiality faced by the flow described above.
This flow divides the transaction into 3 steps,
- Execute: Transaction is executed and verifying it’s correctness, thereby approving it.
- Order Transactions are ordered with the help of consensus protocol.
- Validate Transactions are again verified as per the application-specific approval policy before committing them in the ledger.
Here, application-specific approval policy can be described as which peer nodes or how many nodes are needed to assure the correct execution of a given smart contract. Thus, there is a subset of nodes which are allowed to verify or validate the transactions which satisfy the approval policy defined. Due to this parallel execution, performance and scale of the system can be increased.
Fabric is the 1st blockchain technology that allows the use of standard programming languages.
Privacy and Confidentiality
Fabric being a permissioned platform provides confidentiality capabilities through its channel model. In a Fabric network, the participants form a “Channel” between the subset of participants granting visibility on a set of transactions. Thus, access to the smart contract and data transacted is provided to only those nodes which are the part of the channel. Thus, in this way, Privacy and Confidentiality can be preserved.



Join the conversation! Your thoughts help the community grow.