Hyperledger Fabric Software Development

AllCode has been performing Hyperledger Fabric software development since the Summer of 2018.
Hyperledger differs from Bitcoin, Ethereum, and NEO in a number of different ways:

  • Hyperledger is backed by IBM. The others are backed by non-profit decentralized organizations.
  • Hyperledger is private and permisioned where as the others are open.
  • For most Hyperledger installations, the administrator of the system will have administrator privileges of the blockchain. The administrator can:
    • Setup a Membership Service Provider (MSP) to enable access to the blockchain.
    • Create the Genesis block of the blockchain.
    • Create Channels allowing a group of users to create their own ledger of transactions.

Hyperledger Fabric supports smart contracts similar to Ethereum and NEO. The contracts are written in chaincode. The chaincode can be written in GO, Node.js, or Java. The chaincode is typically invoked by external applications to interact with the ledger.
AllCode has a client that leveraged Hyperledger Sawtooth for their supply chain management system. Below is an excerpt from the whitepaper that we wrote for them on Hyperledger Sawtooth.

Philosophy and Design of Hyperledger

When participants share high level of trusts, blockchains can add blocks to the chain with shorter confirmation times by using a more rapid consensus algorithm. However, when there is minimum trust between participants, they must tolerate slower processing for added security. Hyperledger embraces the full spectrum of use cases. Different enterprise scenarios have different requirements for confirmation times, decentralization, trust, and other issues, and that each issue represents a potential “optimization point” for the technology. To address this diversity, all Hyperledger projects follow the same design philosophy. This is outlined below:

  • Modular

Hyperledger is developing modular, extensible frameworks with common building blocks that can be reused. This modular approach enables developers to experiment with different types of components as they evolve. This helps developers to create components that can be combined to build distributed ledger solutions well-suited to different requirements. This modular approach also means that a diverse community of developers can work independently on different modules, and re-use common modules across multiple projects. The functional modules and interfaces include issues such as communication, consensus, cryptography, identity, ledger storage, smart contracts, and policy.

  • Highly Secure

Hyperledger recognizes that security is a fundamental aspect of distributed ledgers since many of the use cases involve high-value transactions or sensitive data. Distributed ledgers must provide a large set of features and functions while resisting persistent adversaries. Security and robustness are the keys to enable enterprise-class blockchains to evolve and provide the critical infrastructure for next-generation business networks.

  • Interoperable

In the future, many different blockchain networks will need to communicate and exchange data to form more complex and powerful networks. At Hyperledger, smart contracts and applications should be portable across different blockchain networks.  The high degree of interoperability will help in meeting the increasing adoption of blockchain and distributed ledger technologies.

  • Cryptocurrency-agnostic

Hyperledger projects are independent and agnostic of all alt-coins, cryptocurrencies, and tokens. Hyperledger projects provide rich and easy-to-use APIs that support interoperability with other systems. However, the design philosophy includes the capability to create a token used to manage digital objects, which may represent currencies.

  • Complete with APIs

All Hyperledger projects provide rich and easy-to-use APIs that support interoperability with other systems. A well-defined set of APIs enables external clients and applications to interface quickly and easily with Hyperledger’s core distributed ledger infrastructure.

Hyperledger and Supply Chain Management: Asset Tracking

Hyperledger Sawtooth

Hyperledger Sawtooth enables for traceability and accountability within the supply chain ecosystem using distributed ledge technologies.
Advantages of Hyperledger Sawtooth

  • Transparency results due to trust established throughout the supply chain;
  • Levels the playing field for suppliers and rewards good practices;
  • Automation saves time and operating costs
  • Vendors and consumers know what they are getting and get what they are paying for.

The ability of Hyperledger Sawtooth to have a traceability prototype that combines the distributed ledger, IoT sensors, and advanced communications to track telemetry parameters makes it a superior Hyperledger system. Sensors are attached to the cargo to record data such as location. The data is recorded in the ledger along with events such as transport company and ownership changes.  Additionally, Hyperledger Sawtooth can also provide analytics for both regulatory and record analysis. This makes Hyperledger Sawtooth the platform for tracing assets. The lightweight, highly decentralized consensus protocol in Sawtooth (proof of elapsed time or PoET) is particularly well-suited to a diverse, distributed ecosystem where thousands of validating nodes are required.
With the Hyperledger Sawtooth, we can use the advantage of the channels that live off the main chain to provide certain degrees of privacy to its admitted participants. It also allows us the option to configure membership in the blockchain, which is a fundamental aspect of supply chains (not everyone should have access to the supply chain information). We can also choose the consensus protocol of choice at runtime without affecting the speed and capacity, just as with proof of work blockchains.
Additionally, asset tracking touches on various issues not generally seen in ledgers for financial products. An example is where asset tracking requires handling diverse data types such as the composite format required for telemetry and environmental sensing.  Sawtooth accommodates both domain-specific data and the transaction families that operate on it, including data constraints such as verifying the calibration of a sensor. Blockchain promises a number of benefits for cross-industry traceability. These technologies can help establish a community of participants and an authoritative record of provenance.
The blockchain’s decentralized fault-tolerance enables updates from a wide range of nodes, including fishing boats, trucks, cold-storage facilities, retail stores, and restaurants. Beyond traceability, digitizing assets opens the door for completely new markets such as, for example, monetization of provenance. Sawtooth aims to keep distributed ledgers distributed and to make smart contracts safe for enterprise use.

Key Features of Hyperledger Sawtooth

  • Dynamic Consensus: Allows consortiums to change consensus algorithms on a running blockchain by issuing a transaction;
  • Proof of elapsed time (PoET): A consensus algorithm with the scalability of proof of work but without the drawback of high power consumption;
  • Transaction families: This is a smart contract abstraction that enables users to write smart contract logic;
  • Compatibility with Ethereum contracts: transaction families can also integrate other smart contracts;
  • Parallel transaction execution: Sawtooth allows for advanced parallel scheduler that splits blocks into parallel flows. This further allows for faster block processing;
  • Private transactions: Sawtooth nodes can easily be deployed with separate permissions. This provides privacy and confidentiality among participants of different distinct chains. There is no centralized service leak transaction patterns or other confidential information
  • a shell container with the dependencies to run any commands and scripts

Hyperledger Sawtooth and PoET have been designed to accommodate decentralized blockchain applications. This means that they can effectively support applications where there are many participants in the consensus process that are physically and administratively distributed. Hyperledger Sawtooth provides enhanced security against bad actors and is specifically designed to manage the arrival and departure of nodes in a large network. It also provides on-chain governance to upgrade the consensus and other business rules the consensus agrees to over the life of the network.