This is a major milestone for the Hyperledger community, as it marks the second blockchain framework that has reached production ready status. This Hyperledger Sawtooth 1.0 release is the culmination of work from several companies intent on creating a distributed ledger designed for the enterprise.
Stretching back to at least 2014, the journey began with a research project code-named Sawtooth Lake inside Intel Labs. Its purpose was to explore the security and scalability questions arising from the adoption of Bitcoin and understand the requirements to move blockchain technology into enterprise. By 2016 research had produced Proof of Elapsed Time (PoET), to provide a green and performant alternative consensus to Proof of Work, and Transaction Families, an approach to building safe smart contracts. In the same year, Hyperledger was getting underway and Intel contributed Sawtooth Lake to Hyperledger as an incubated project. From incubation the community rapidly grew with code contributors from diverse companies and individuals and winning an ‘Open Source Rookie of the Year’ award. In May of the following year, Sawtooth dropped the “Lake” and graduated from incubation to “active” status within Hyperledger - a recognition of the maturity of its open source process and community.
We would not have the rich features or deployment maturity today without the collaboration and contributions from these organizations (alphabetically): Active Ticketing, Amazon Web Services, Bitwise.io, Cloudsoft, Context Labs, Dot BC Media, Ericsson, Hacera, Huawei, IBM, Intel, Microsoft Azure, Monax, Open Music Initiative, PokitDok, R3, T-Mobile, Wind River, and several independent engineers.
Throughout this time, we’ve maintained our focus on making smart contracts safe and bringing blockchain to the enterprise without cutting the benefits of blockchain that inspired interest to begin with. While maintaining that focus, we’ve not rested on PoET and Transaction Families. With the launch of Sawtooth 1.0 we introduce several new enterprise features:
On-chain governance - Utilize smart contracts to vote on blockchain configuration settings such as the allowed participants and smart contracts.
Advanced transaction execution engine - Process transactions in parallel to accelerate block creation and validation.
Support for Ethereum - Run solidity smart contracts and integrate with Ethereum tooling.
Dynamic consensus - Upgrade or swap the blockchain consensus protocol on the fly as your network grows, enabling the integration of more scalable algorithms as they are available.
Projects over the last 2 years with various consortia, startups, and established companies guided this set of features. For example, we found that it was difficult and error-prone to have manual configuration files on each system deployed at n different companies. If a configuration setting is required to be the same across the network, that seemed a lot like needing shared state agreement, which is after all the goal of a blockchain. Subsequently we added “On-Chain Governance” as a first class feature of Sawtooth. This also satisfies auditability goals that are driving many companies’ interest in blockchain.
When it comes to business logic, we learned how to manage and isolate applications on the blockchain. The resulting design enables parallel execution for better performance. It also enforces complete separation between the core blockchain and the apps, such that you can write the app in just about any language. In fact, that worked so well, that we were able to bring Hyperledger Burrow’s EVM on board as an application we call Seth (a play on words for Sawtooth and Ethereum).
A little more on the decision to prioritize the Seth / Ethereum contract compatibility - We found that a lot of companies had been experimenting with Ethereum but wanted the enterprise features offered in Hyperledger Sawtooth. Seth turned out to be an easy way to enable those companies to bring across their existing business logic and pick up new features like Permissioning and Un-pluggable Consensus.
Sawtooth Integration Testnet Console
For those close to Sawtooth, a lot of this is old news. Many of these features have been in test networks for three to six months by this point. During that period we’ve been focused on stability and performance. The engineering you won’t see are automated integration test networks we’ve built to run each release candidate build through a rigorous 7-day, multi-node test. This is in addition to the existing continuous integration testing we’ve had in place for years.
Where will Hyperledger Sawtooth focus its efforts in 2018? Well, we are already in motion on more work in performance and new work in privacy. To the former, we are looking at both consensus and core implementation. We’d like to add another consensus option for those planning to run small networks. Within the core, we are looking at replacing targeted python modules with optimized components in languages like Rust. On the privacy front, we have contributors investigating both trusted execution and zero-knowledge cryptographic approaches. We look forward to our enterprise users contributing back pilot implementations in these spaces as well.
We get feedback that application development is easier in Hyperledger Sawtooth than other platforms. Nonetheless, we’ll be making some changes to make it even easier. In a related vein, we’ve had great collaboration with Hyperledger Burrow, and we want to expand that collaboration to other Hyperledger projects including Fabric, Indy, and Composer.
We encourage developers to join our efforts on Hyperledger Sawtooth. You can download the code, read the documentation or join the discussion on Rocket.Chat.