Sawtooth’s Consensus Implementations

Presently these are the algorithms that are supported by Hyperledger Sawtooth.

Proof of Elapsed Time (PoET)

It is a Nakamoto-style algorithm that follows a protocol to manage more extensive networks. The instructions are executed safely to grab the Nakamoto-style benefits but avoid loss during power consumption, relating to the Proof of Work Algorithm.

Practical Byzantine Fault Tolerance (PBFT)

It is a voting-based Sawtooth technique that follows a non-forking system in a consensus algorithm to provide Byzantine Fault Tolerance. PBFT is most suitable for small consortium-style networks and needs a minimum of four nodes.

Sawtooth Raft

It offers one of the most simple consensus algorithms and is crash-tolerant, leader-based consensus that does not follow forking. It is designed for small networks with minimum membership.

Devmode

It is another easy-to-understand random-leader algorithm designed for Sawtooth with one node. It is used for the testing processor but not much for the production network.

Hyperledger Sawtooth: Components in Architecture

The Hyperledger Sawtooth architecture contains some prominent components while the Sawtooth node manages the changes in the blockchains.

Work Experience
Clients

The Sawtooth maintains an asynchronous pattern between the Client & the server, where both can simultaneously send numerous requests & replies without waiting for the other.

Blockchain Development
Rest API

For uninterrupted interaction between the Client & the validator, the Sawtooth has created a pragmatic Rest API that allows the JSON/HTTP standards. The language is no bar in reading the blocks or submitting the transactions.

Relationship Building
Validator

The role of the validator is to manage communication between Rest API, Clients, and Transaction processor. The significant components of Validator are Chain Controler and Block Manager & Publisher.

Quality Code
Transaction Processors

The Transaction Processors have the business logic and serve to authenticate the transactions when it is sent from the Client to the network. For this, the handlers are connected using the “Apply method” or “Metadata Method.”

Transaction Families of Hyperledger Sawtooth

The transaction families in Hyperledger Sawtooth contain the transaction language and the data model to be implemented. The intent is usually to differentiate the rules of a transaction from the content. Here are a few pre-designed models of the families which can be followed while developing a customized ledger as per requirements.

Integer Key

The deployed ledgers are tested using the integer key.

Settings

A reference of the implementation is provided to store on-chain configuration.

Identity

The validator keys with the transactor are streamlined while the identity manages on-chain permissioning.

FAQs

Hyperledger Sawtooth works with the core concept of keeping the ledger in an entirely distributed format. Unlike other blockchain systems where apps & core run over the same platform, which sometimes creates safety & performance issues, the Sawtooth simplifies the blockchain application development process by separating the ledger from the app-specific environment, thus keeping it secure.

The ledger keeps the details about the nodes, permissions, and identities. The parallel transaction execution system gives it an advantage in enhancing the network performance during a more significant number of transactions. Few selective nodes are allowed with specific permissions over the identical blockchain, while the Sawtooth allows multiple apps to execute on the same blockchain.

Some of the popular real-world examples of Hyperledger Sawtooth are explained below.

  • Sawtooth Supply Chain: It helps trace the information &logic related to the assets and offers a decentralized solution while demonstrating how to synchronize the blockchain state with the data.
  • Sawtooth Market Place: In Sawtooth Market Place, the users can share their customized assets with others on the blockchain. It has multiple components that work with the validator to execute on the blockchain providing a RESTful API for interaction.
  • Sawtooth Private UTXO: It shows the process to develop and trade assets. The trading parties have the transactional details and use SGX for assets transferring off the ledger or trading privately.
  • XO: It shows the procedure to build basic transactions by playing tic-tac-toe. The XO command line checks that only two users participate.

Here are some of the noteworthy features of Hyperledger Sawtooth.

  • Sawtooth technically separates the blockchain development application domain from the core system, making it simplistic and development-friendly. Due to the separation between the core system and app development, the core features stay away from errors.
  • It is easy to deploy multiple nodes within a network as the Sawtooth ensures to resolve issues in the private/ permissioned network.
  • Although Sawtooth is utilized in a public environment, it is best suited for enterprises or internal networking because it is a permissioned network, so no one can directly enter the network.
  • The transaction process in other blockchain platforms is in the serial format, while in Hyperledger Sawtooth, the parallel transaction process is applied. Parallel transaction processing ensures quick & efficient working of the blockchain network, especially during heavy usage or multiple transactions.
  • The modular structure of Hyperledger Sawtooth is simple and flexible and hence allows the blockchain developers to apply any consensus algorithm or other features.

Hyperledger Sawtooth portrays much notable functionality that makes it a better choice for many developers to create business enterprises.

  • The consensus algorithm “proof of elapsed time” makes the Sawtooth better and energy-efficient.
  • The ledger network is always secured by the “Byzantine fault-tolerant” from any technical errors & glitches during a node failure.
  • Sawtooth provides parallel transactions that enhance working capacity and makes it fast even during heavy load on the network.
  • The Smart Contracts in Sawtooth can be created in multiple languages like Go, Javascript, Rust, etc.
  • The consensus algorithm can be changed anytime during the blockchain execution.
  • The structure of Sawtooth is simple, and changes made to one block do not affect the other blocks or the network since they do not depend on each other.
  • Hyperledger Sawtooth offers permissioned networking, which ensures not any user can join the distributed ledger without permission.

Like the name suggests, both Hyperledger Fabric & Hyperledger Sawtooth are open-source blockchain developer platforms developed by the Hyperledger community to create a distributed ledger. The Hyperledger Fabric finds its usage in multiple industries and helps increase the performance level in a secure environment.

But though having similar functionalities, Sawtooth is a bit advanced compared to Fabric. The Fabric only supports permissioned working, while Sawtooth offers both public & permissioned formats. The Seth project, which Sawtooth only supports, enables Ethereum Smart Contracts to be easily shared to the platforms. The Kafka algorithm in Hyperledger Fabric allows Kafka batches of transactions to be executed, while in Sawtooth, all transactions are executed together.

Contact Our Experts

For Free App Consultation and Quote