The title of this blog post was intentionally and simply named “Hyperledger”. That is because in this post I intend to focus my view of blockchains in relation to Hyperledger. In the world of blockchains there are many layers of abstraction, thus keeping a simple title allows me to touch base with a lot of key concepts we will be learning about further on in this post. In my previous post I discussed what a blockchain was; as well as the different industries, companies, and use cases that are associated with them. If you have not read it, I highly recommend you check that out before continuing on with this post.
Hyperledger is an open source collaborative effort which focuses on developing frameworks, tools, and libraries for enterprise level blockchain deployments. They are the community which is pushing blockchain technology into the mainstream world by being a main pillar of support. Hyperledger was launched in 2016 and was built by the Linux Foundation. It was launched with the support of 30 founding corporate members, however, currently it has over 200 members. These members being corporate giants like IBM, intel, JPMorgan Chase; as well as various academia institutions, governments, etc. Point being, they are very well supported.
The key point to take away from what Hyperledger does, is it to understand the many frameworks they create and home, the different libraries they provide access to, and lastly the tools they provide to work in tandem with the ledgers and libraries. These frameworks, libraries, and tools are created for all kinds of different intents and purposes.
To refresh some of the information discussed in depth in my previous blog post, I will repeat that blockchains are a distributed ledger. More specifically it is a sort of database on a peer to peer network, with no central trusted authority. The data that is held by these distributed ledgers are in linked blocks that are essentially immutable. Hyperledger hosts and promotes a wide variety of these distributed ledgers. Currently they have six different ledgers deployed. Those being Hyperledger Besu, Hyperledger Burrow, Hyperledger Fabric, Hyperledger Indy, Hyperledger IROHA, and lastly Hyperledger SAWTOOTH.
To go further into detail about these ledgers, i will say that some of them have a few similarities. For example, SAWTOOTH, FABRIC, and IROHA all have a sort of modular architecture. Meaning it allows for different services to be able to be of a plug-and-play nature. However, differences are present as well, such as IROHA being more of an easy to use platform, or FABRIC including a unique approach of consensus to add new blocks to a blockchain. The other ledgers of course are fairly different as well, for example, INDY deals with rooting digital identities on a blockchain, and BESU works with Ethereum smart contracts. So we can now see how these similarities relate these different ledgers, but importantly how their differences warrant completely different ledgers.
Since Hyperledger creates, hosts, and oversees these ledgers; they have also created different libraries to provide extra resources and to bridge gaps for developers. Some libraries initially may have been built specifically for one ledger but eventually spun off to become their own independent libraries. This allows for consolidating shared code and allowing reuse of these libraries between all Hyperledger projects. The different libraries Hyperledger has available as of right now are Hyperledger ARIES, Hyperledger GRID, Hyperledger QUILT, Hyperledger TRANSACT, and Hyperledger URSA.
These libraries are fairly different in what kind of services they provide. If we look at QUILT, you will see that it provides services that allow for sending and receiving crypto-currencies. If you look at ARIES, it is used for creating verifiable credentials that will be rooted onto a block chain. Fun fact about ARIES is that it was initially part of Hyperledger INDY, along with URSA. Though eventually they spun off to become their own entity as i mentioned above. Again this was done to support re-usability with the other ledgers.
The third piece of tangible resource that Hyperledger provides are tools to interface with the different ledgers. These tools provide a wide variety of functions. Functions such as monitoring ledgers, integrating ledgers, creating ledgers, etc. The following tools are the ones Hyperledger have provided the public with as of right now: Hyperledger AVALON, Hyperledger CACTUS, Hyperledger CALIPER, Hyperledger CELLO, and Hyperledger EXPLORER.
I particularly like the purpose of CALIPER and EXPLORER. CALIPER being a tool meant for benchmarking purposes. It measures the performance of a specific blockchain implementation with a predefined use case. Where as Explorer is a tool which allows for querying, viewing, invoking, or deploying of different data relating to a Hyperledger blockchain.
Now that we have identified what Hyperledger is and as well as what Hyperledger does and provides; it is now time for us to go into another level of abstraction. That is, we need to choose a specific ledger to investigate and understand the different libraries and tools that interface with it. It would be too time consuming to understand the innerworkings of each ledger as they are all unique. Each ledger has different members supporting it, different protocols, different processes, etc. So, the goal moving forward from here is to narrow down our focus to one specific ledger, and hopefully to utilize it in some way. I look forward to you guys tuning in for my next post that will explore just that.