Introduction to Hyperledger Sawtooth

BlockChain Expert 21/November/2017

Hyperledger Sawtooth is blockchain development platform initially developed by Intel and now hosted by Linux foundation under its hyperledger project. Similar to other hyperledger projects sawtooth is also a highly modular open source platform for blockchain development. The sawtooth is mainly proposed for the insurance claim processing, supply chain management based on IOT, and international remittance. Sawtooth already developed some versatile DApps in the above-mentioned areas. 


Components of sawtooth. 

Every distributed ledger must contain the following basic components:

 - A data model:-To represent the current state of the ledger.

 - The language of transactions: - To change ledger state.

 - Protocol:-To makes consensus among participants.


The versatility, security, and simplicity of a hyperledger depend upon the features of these three components. The sawtooth has a well-defined structure for these components. In sawtooth, the data model and language of transactions are combined together as a ‘transaction family’. So each transaction family will have a specific data model for defining the ledger state and a language of the transaction for changing the state. The user can create their own transaction family according to their ledger requirements.


Some transaction family models are 

 1) Validator registry:- Contains the methodology for registering ledger services

 2) Integer Key:- Used for testing deployed ledgers

 3) Settings:- For storing on-chain configuration settings

 4) Identity:- Handles on chain permissioning for transactors and validators. i.e.; for managing identities for the list of public keys.


The user can create the transaction families based on any of the above models. There are some readily available transaction families for some specific areas. 


 - Smallbank:-Used for performance analysis and benchmarking

 - Seth:-Used for creation and execution of smart contracts

 -  Blockinfo:- Used for storing information about the configurable number of historic blocks. 

 -  XO :- To play tic-tac-toe 

 -  Supply chain:- For tracking objects

 -  track & trade:-  For tracking ownership, custodianship 


Consensus in Sawtooth

The consensus-making is a great concern for a distributed ledger. A foolproof consensus mechanism is necessary for maintaining the consistency and security of a distributed ledger. Sawtooth follows some specific protocol which will ensure a universal agreement on transaction validations. This vigorous consensus method differentiates sawtooth from other platforms. In sawtooth blockchain, there will be clients and validators. The validators are selected randomly for each transaction. It employs an algorithm to choose the validators then the selected validators will engage in transaction validation process. 

Sawtooth provides two consensus implementation method they are Dev-mode and PoET.


Dev-Mode: It is a simplified random leader algorithm used for consensus implementation. This is useful for developers and testers of sawtooth blockchain apps.


PoET (Proof of Elapsed time): Which is a production-grade protocol for large networks, were consensus-making is a bit heavy task

In this method, the network uses a lottery functions for implementing consensus. A lottery algorithm is used for finding the leaders from a set of participants in a blockchain. In the PoET algorithm, all the validators will request for a wait time to an enclave function. Once they got the wait time the validator with the shortest wait time will consider as the leader for validating that transaction. The function is broadcasted to all eligible participants in the blockchain to maintain fairness in the selection process so that the leadership will be distributed randomly among these validators.


The sawtooth can be downloaded from the Github repository. The repository contains all the necessary codes like validation process implementation, different language SDKs for writing transaction codes, docker files to support network integration and so on

The hyperledger sawtooth already implemented some DApps. The Main apps are
 1) Seafood supply chain traceability.
 2) Bond asset settlement.
 3) Marketplace digital asset management.

Seafood supply chain traceability
This application will provide the traceability and accountability of seafood from the harvest to the end customer. Basically, it works on IoT, the physical objects are traced through the blockchain network. The sawtooth app will trace the entire journey of a seafood from the ocean to the dining table with the help of IOT sensors. It can trace the ownership, possession and other parameters like location, temperature, humidity, motion, shock, and tilt etc. 

The customers will also get the opportunity to trace the ‘journey’ of their food. They can verify the quality themselves through the blockchain network.

Bond Asset Settlement
This will provide a secure and trustworthy solution for the bond settlement. Sawtooth provides bond asset settlement application with highly secure smart contract facility. The app provides a user interface to create, buy, sell and settle the bonds.

Marketplace Digital Asset Exchange
This application provides an infrastructure for transferring digital assets. The user can easily create participants and asset and can easily manage all the asset transactions.

Maybe it is too early to make a definite conclusion on future of sawtooth. However, by considering the features it provides and the developments happened so far, we can definitely say that the sawtooth has the potential to make game-changing applications.