Hyperledger Fabric, A Blockchain Technology for Smart Contracts Development
Wikipedia definition of Blockchain is,
A Blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. It is “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”.
One of the best things about Blockchain Technology is its decentralized network, which exists between all permitted parties. There is no need for an intermediate party, and it saves you time and conflict. Blockchains have their problems, but they are rated faster and cheaper than traditional systems, which is why governments, banks and other financial institutes are turning to them.
SMART CONTRACTS
The Wikipedia definition of Smart Contract says,
A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible.
The best way to describe smart contracts is to compare it to the technology of a bank. Generally, to transfer some credits from one user to another, you have to deal with the bank entities, which is a time consuming process. You can simply drop the transaction in the ledger with smart contracts and it’s done. Even more, not only smart contracts define the rules and agreements like the traditional system, but also automatically enforce those obligations. Below is a graphical representation to understand it simply.
There are a few distributed ledger technologies and platforms available currently, which may help you in smart contracts development, one of them is Hyperledger Fabric.
HYPERLEDGER FABRIC
Hyperledger fabric is a platform for distributed ledger solutions. The modular architecture, which works in the backend is resilient, flexible, confidential and scalable. It is designed to be pluggable on different systems and to accommodate with the complexity of the existing systems.
Hyperledger fabric allows components; consensus and membership services to be plug-and-play. Hyperledger fabric leverages container technology to host smart contracts called “chaincode” that comprise of the application logic of the framework.
Hyperledger Fabric delivers a uniquely elastic and extensible architecture, distinguishing it from alternative blockchain solutions. Planning for the future of enterprise blockchain development requires building on top of a fully-vetted, open source architecture. Hyperledger Fabric is your starting point.
HYPERLEDGER FABRIC FEATURES / MODEL
This section outlines the key features of the Hyperledger fabric.
- Assets: Asset definitions enable the exchange of almost anything with monetary value over the network, from whole foods to antique cars to currency futures.
- Chaincode: Chaincode execution is partitioned from transaction ordering, limiting the required levels of trust and verification across node types, and optimizing network scalability and performance.
- Ledger Features: The immutable, shared ledger encodes the entire transaction history for each channel, and includes SQL-like query capability for efficient auditing and dispute resolution.
- Privacy through Channels: Channels enable multi-lateral transactions with high degrees of privacy and confidentiality required by competing businesses and regulated industries that exchange assets on a common network.
- Security & Membership Services: Permissioned membership provides a trusted blockchain network, where participants know that all transactions can be detected and traced by authorized regulators and auditors.
- Consensus: A unique approach to consensus enables the flexibility and scalability needed for the enterprise.
ADVANTAGES OF HYPERLEDGER FABRIC
Permissioned Membership
Consider a private equity company. By definition, it is not publicly traded on the stock exchange, and its investors are mainly venture capital firms and private equity firms. The participants in this network need to be known to be able to transact in blockchain.
Performance, Scalability and Level of Trust
Only the signatures and read/write queries (Ledger entries) are only sent around the network from the V1.0 architecture onwards. Hence, the scalability and performance are optimized. Moreover, only endorsers and the committers see the transaction. That offers more security, as fewer level of trust are required in the blockchain network.
Data on a need-to-know basis
Many financial organizations do not consider “cryptography” enough. As the hardware is becoming more mature and fast. There may come a day after few years, when the private data becomes public. Channels help provide a data-partitioning capability where only those that need to know the data will see the number of transactions and the data itself.
Rich queries over an immutable distributed ledger
The ledger is a sequence record of state transactions for the blockchain application. After the v1.0 update, the new file system for the peer nodes is immutable, which also has LevelDB. There is also an option for using CouchDB, the content of which is in JSON and it is fully queryable. This JSON support helps in minimizing the work required for reports and performing audit forms.
Modular architecture supporting plug-in components
The modularity of Hyperledger Fabric architecture enables network designers to plug in their preferred implementations for components, which is an advantage.
Protection of digital keys and sensitive data
HSM (Hardware Security Module) provides a way to keep private keys secured. Private keys does not go outside of the HSM to ensure greater security. PKCS#11 is a standard that HSMs support to allow for applications a generic way to interface with an HSM.
LIMITATIONS OF HYPERLEDGER FABRIC
It’s new and changing
The tech community has devoted themselves in producing distributed ledger technologies. The Fabric project has more than 150 blockchain developers from 28 organizations working and that’s a pretty huge number. So the Hyperledger Fabric Technology will continue to improve and change with the needs.
Network fault tolerance
While Kafka is crash fault tolerant, it is not Byzantine fault tolerant, which prevents the system from reaching agreement in the case of malicious or faulty nodes. For comparison, tolerating two Byzantine nodes would require f=(7[Number of nodes]-1)/3=2, or a minimum 7-node PBFT blockchain network.
Limit in SDKs and APIs
There are SDKs available in Java, Node and Go for hyperledger development. But none of them are completely user-friendly. Being a blockchain developer, you will have to understand a bit of underlying code of the hyperledger fabric, to implement things as per your need. Plus, not all of the SDKs are fully compatible to create/fetch/update everything and lack of documentation will also bug you out. Additionally, Java support for chaincode is not available from the version 1.0.
Complex Architecture
Hyperledge Fabric Technology is new and with complex architecture and the lack of proper documentation further makes it more complex to understand.
INDUSTRY USE CASES OF HYPERLEDGER FABRIC, A BLOCKCHAIN TECHNOLOGY
Below are few use cases of hyperledger fabric to give you an idea about applications of blockchain technology in different industries with example.
Capital Markets
- Credit default swaps
- Trade capturing (A case study on trade lifecycle)
- Equity Contracts
- Currency swap
- Commodities
- Foreign exchange (American Express)
Financial Services
- Banking (Successful blockchain trial by ANZ, Westpac and Scentre Group teamed up with IBM for the bank guarantees process.)
- Payments-interbank (Project Ubin [Accenture, MAS (Monetary Authority of Singapore) and The Association of Banks in Singapore (ABS)])
- Credit cards
- Escrow
- Bond Assurance & Trading (Bondchain [Provided by altoros])
Government
- Citizen ID tracking
- Global KYC database
- Charity
- Property ownership
- Voting
Healthcare
- Electronic health record
- Medical transaction system
- Clinical trial results
Supply chain and Logistics
- Shipping manifests
- Supply chain logistics (A case study by Hyperledger Group)
- Luxury goods tracking
Other
- Agriculture disintermediation
- Project management
- Airline miles and travel (Interview of Thierry Chevalier of Airbus)
- Blockchain Development services
CONCLUSION
It is getting harder to ignore the fact that blockchain technologies are on the rise, especially after the adoption of the technology by banks and other financial institutes way faster than anticipated.
Case in point, A report by MarketsandMarkets states that,
The blockchain technology market size is expected to grow from USD 241.9 Million in 2016 to USD 7,683.7 Million by 2022, at a Compound Annual Growth Rate (CAGR) of 79.6%.
Thats a huge number and this is just a prediction. Looking at the current pace of adoption of blockchain technology, we foresee the market size will be much higher by the end of 2022. Putting it simply, there is a wealth of opportunities in the growing market of blockchain technology, and Hyperledger Fabric gives you the power to get into the game.
We have been working on blockchain technology since sometime now. So if you need any help in adopting this upcoming technology and explore how it can help your business grow, then simply drop a message to us, our blockchain engineer / technology consultant will be in touch with you in no time.
Originally published at www.weblineindia.com on February 16, 2018.