At the time of writing of this article, the glorious Hyperledger family now counts fifteen projects, with the latest one, Hyperledger Besu, announced in August.
Hyperledger is an open book for the general public, with the current status on every project visible to anyone interested. So far, four projects are active, and one of them is Hyperledger Sawtooth — the subject of our today’s article.
Hyperledger Sawtooth: Starting with Basics
Hyperledger Sawtooth is an enterprise-level blockchain framework for building decentralized applications and networks. As in the case of Hyperledger Fabric, the platform focuses on versatility and scalability purposes. Sawtooth is an open-source project initially contributed by Intel.
Developers position Sawtooth as a “one-stop” solution able to adjust to the requirements of multiple industries and verticals by supporting both permissioned and permissionless networks unlike Hyperledger Fabric initially designed exclusively for permissioned networks.
For this project, a core architecture was built separately from the application domain, which allows developers to write business rules in preferred languages without knowing the internal structure of the system.
So, let’s dive deeper into platform specifics.
Main Features of Hyperledger Sawtooth
The system was designed in a way that lets developers specify own policy, rules, permissions, and consensus algorithms. Thus, you can create applications with native business logic or build smart contract-based virtual machines, and both types can run on the same blockchain.
Such design decisions can be made on the transaction layer, and thereby multiple transaction types can exist in the same instance of the blockchain network. Each app defines custom transaction processors for its unique requirements.
Sawtooth has several example transaction families serving as models for low-level functions (chain-wide settings, on-chain permissions) and individual applications (performance analysis, storing blockchain information).
In the Hyperledger language, transaction processors are smart contracts you can build or install much like any other application. More specifically, a transaction processor is a platform that initiates smart contracts.
At a deeper level, this process looks as follows:
- A validator checks and ensures that a transaction has a valid signature and directs it to the appropriate processor.
- The business logic implemented in the processor verifies that the transaction is processed correctly.
- When the processor validated the business logic, the message is sent back to the validator.
- Then, the validator “packs” the transaction in a block, adds it to the blockchain, and broadcasts it to other validators.
Advanced Parallel Scheduling
In Sawtooth, the network splits transactions into parallel flows. Based on the state location of a particular transaction, transactions run autonomously while maintaining contextual changes.
Sawtooth allows creating and broadcasting events, which in turn enables the following:
- Subscribing to on-chain events — a node commits a new block or switches to a new fork;
- Subscribing to an application — specific events defined by a transaction family;
- Sending info about the execution of each transaction back to clients without keeping that data in the state.
The platform allows running different types of consensus algorithms on the same blockchain by plugging them in the system. Admins can select required consensus during the initial network setup. If needed, they can choose those on a running blockchain through a corresponding transaction.
The distinctive feature of Hyperledger Sawtooth is the support of the Proof of Elapsed Time (PoET) consensus algorithm. It works in the following way: each network participant waits a randomly-assigned amount of time. The first one to finish waiting becomes the producer of the next block.
To participate in PoET, the system provides the following workflow:
- A newly joined member downloads a valid code onto a blockchain.
- Upon initialization, the code generates a new key pair.
- The member sends Intel SGX an attestation (along with the code’s public key) to the network included in a join request.
- Then, the participant obtains a signed timer object from the trusted code.
- Then, he waits for the time assigned by the timer object and then gets a certificate (signed with the valid code’s private key) confirming that the wait time has been completed.
- Having received the certificate, the participant sends it to the rest of the network along with a newly produced block.
Hyperledger Sawtooth: Events and Training
Sawtooth training became an essential part of Linux Foundation’s Hyperledger events along with courses about other Hyperledger frameworks.
At last year’s Hyperledger Global Forum, the company shared practical insights about Sawtooth, including its high-level architecture, benefits for businesses, and application examples.
Hyperledger offers regular training and workshops about its frameworks along with professional Hyperledger Fabric and Hyperledger Sawtooth certifications on its website. Individual courses covering general blockchain topics, from definition to business values and use cases, are available for free.
Some blockchain companies are also spreading valuable Hyperledger knowledge among enterprises and startups through training and workshops.
For example, the Aetsoft blockchain development company conducts individual blockchain workshops for enterprise decision-makers along with in-depth technical training for software engineers, explaining possible blockchain applications (of both private and public blockchains) in detail.
Hyperledger Sawtooth: Path Ahead
Hyperledger Sawtooth brings additional flexibility that Hyperledger Fabric lacks so far. Now businesses can benefit from parallel transaction scheduling, modular design, and high scalability on public blockchain networks. The support of the PoET consensus algorithm provides an additional layer of protection.
The future seems bright: Sawtooth might become a go-to private solution for enterprise needs the same way as Fabric now.
You may also like:
What are the current possibilities and future prospects of the Hyperledger Fabric network for enterprises?