How does Hyperledger Sawtooth Work?
What are the advantages of Hyperledger Sawtooth?
Who Uses and Supports HyperLedger Sawtooth?
If you’ve been wondering, “what is Hyperledger Sawtooth? Why Hyperledger Sawtooth? What are Hyperledger Sawtooth’s advantages?” this article is for you then.
Hyperledger Sawtooth – is an open-source business blockchain (distributed ledger) platform. The blockchain is definitely a lasting trend, and giving fancy names to blockchain platforms is a trend within a trend
The primary aim behind Hyperledger was to create a blockchain platform that could be easily implemented by different businesses and communities. The creators put it this way:
“[Hyperledger Sawtooth is] an operating system for marketplaces, data-sharing networks, micro-currencies, and decentralized digital communities. Our design philosophy targets keeping distributed ledgers [basically, blockchain] distributed and making smart contracts safe – particularly for enterprise use.”
And, apparently, the developers of Sawtooth managed to do so.
How does Hyperledger Sawtooth Work?
1. Hyperledger’s Ledger
So, we have already established that Sawtooth is a distributed ledger platform, which means that it is a decentralized network (shared database). Each participant of the network operates a copy of the database and “engages in a protocol that ensures universal agreement of the state of the ledger.” Basically, it is a networking democracy, to which a randomly chosen participant can contribute at a given time.
HyperLedger Sawtooth consists of three primary components
1) A data model to capture the current state of the ledger
2) A language of transactions that participants use to change the state of the ledger
3) A protocol used to build consensus among the participants.
In Sawtooth, a data model and a language of transactions are bundled together in a transaction family. Hyperledger’s users are expected to build custom transaction families, but some default options are available as well.
2. Proof-elapsed-time (PoET) Consensus Algorithm
Hyperledger Sawtooth decides who can participate (submit transaction) in the distributed ledger platform at the moment and who cannot. In order to make such a decision, blockchain platforms use so-called consensus algorithms. These algorithms come in different shapes. Hyperledger Sawtooth uses a proof-of-elapsed time consensus algorithm.
So how does Proof-of-elapsed (PoET) time works?
Each participant of the Sawtooth’s network requests a certain amount of randomly chosen time, and the one who waits the least amount of time commits a new block to the ledger. To say more PoETically, each node sleeps for a random amount of time, and the one that wakes up first commits the block and informs about it the whole network to update its state.
You can ask how does the distributed ledger platform knows that participants do not cheat by purposefully implementing shorter durations of time in order to win a block? It may undermine the security of the blockchain platform.
Don’t worry, PoET relies on Intel’s Software Guard Extension Algorithm, which “protects selected data from disclosure and modification.” Intel’s solution allows running “protected code in a trusted environment.” Long story short, SGX is a hardware component that developers can use to ensure that code works the way it should work.
Moreover, the proof-of-elapsed time is less power-hungry than the proof-of-work algorithm, which is used in Bitcoin, for example. The security and optimal energy consumption make proof-of-elapsed time an attractive option for the business-oriented blockchain platform.
What are the advantages of Hyperledger Sawtooth?
Hyperledger Sawtooth has a lot of benefits that make it an effective and flexible blockchain platform, which is perfectly suitable for business needs. Those advantages are
1) Energy-efficiency. As it was mentioned, the specifics of the proof-of-elapsed time consensus algorithm make Sawtooth energy-efficient if compared to other blockchain platforms, which may use proof-of-work, for example.
2) Byzantine-fault tolerant. In a few words, the ledger network is protected against failure that occurs when the network is not sure whether a certain node has failed or not.
3) Parallel Scheduling. Hyperledger Sawtooth supports serial and parallel scheduling of transactions. Parallel scheduling increases productivity by reducing latency that occurs during serial scheduling.
4) Multilanguage support. Sawtooth allows developing smart contracts in Python, Javascript, Rust, C++, and Go.
5) Dynamic Consensus. Sawtooth allows easily changing all the blockchain settings as well as the consensus algorithm without taking the network down.
6) Loose coupling architecture. The blocks within the Sawtooth’s network are not highly dependent on each other, which means that the change that is made to one element would not affect the network as a whole. It also significantly decreases the possibility of unexpected errors, simplifies testing, and maintenance of the leger.
7) Events. Sawtooth supports creating and broadcasting events across the network.
8) Permissioned/Permissionless. Sawtooth can be configured to be either permission (closed networks; users cannot freely join the distributed ledger system) or permissionless (every user can start interacting with the network, submitting transactions). By default, Hyperledger Sawtooth is permitted.
Who Uses and Supports HyperLedger Sawtooth?
Even though Hyperledger Sawtooth is a relatively fresh and young blockchain platform it has already been supported by such companies as
– Intel
– T-Mobile
– Huawei
– IBM
Recently Hyperledger Sawtooth has been used to develop Bitagora, a decentralized voting platform.
Considering the features and architecture of Hyperledger Sawtooth, it could be stated that the blockchain platform can be easily implemented by Finance, HealthCare, Retail, and other organizations in order to develop decentralized, safe, and reliable environments for their operations.