Hyperledger’s Sawtooth Lake Bets on Modular Blockchains and Elapsed-Time Consensus

by Carlo GutierrezFebruary 17, 2017
Intel's Dan Middleton explains what makes the Sawtooth Lake distributed ledger platform—one of the Hyperledger's incubations—different and how it works.

What is Sawtooth Lake?

At a recent Hyperledger meetup, Intel’s Head of Technology for Blockchain and Distributed Ledger Technology Dan Middleton gave an overview of the organization’s new distributed ledger platform, Sawtooth Lake.

Hyperledger Intel Sawtooth Lake System Architecture

Intel describes Sawtooth Lake as a highly modular platform for building, deploying, and running distributed ledgers. The key components for a distributed ledger are as follows:

  • A data model that captures the current state of the ledger.
  • A language of transactions that change the ledger state.
  • A protocol used to build consensus among participants around which transactions will be accepted by the ledger.

Sawtooth Lake is also Intel’s contribution to the Hyperledger Project incubation.

 

What makes it different?

According to Dan, Sawtooth Lake heavily emphasizes the distributed aspect in distributed ledger technology as well as modularity. To achieve this, Sawtooth Lake makes use of the following features:

  • Proof of Elapsed Time (PoET)
  • Transaction families

Hyperledger Intel Sawtooth Lake Dan Middleton v2

“A distributed ledger should be both of those things.” —Dan Middleton, Intel

While Sawtooth Lake allows for pluggable consensus, the project does have its own method for consensus available—PoET. The PoET consensus provides fair leader election across a large number of nodes without the computational race of Proof of Work (PoW). Based on the Nakamoto consensus algorithm, PoET achieves distributed consensus through a lottery function with several characteristics:

  • Fairness. The function should distribute leader election across the broadest possible population of participants.
  • Investment. The cost of controlling the leader election process should be proportional to the value gained from it.
  • Verification. It should be relatively simple for all participants to verify that the leader was legitimately selected.

Hyperledger Intel Sawtooth Lake difference

PoET uses a trusted execution environment like Intel Software Guard Extensions (SGX) to ensure the safety and randomness of the leader election process without requiring the costly investment of power and specialized hardware. Intel claims that this algorithm scales to thousands of participants and will run efficiently on any Intel processor that supports SGX.

 

What’s the data model?

Sawtooth Lake makes use of transaction families to encapsulate business logic. According to the presentation, a transaction family can be either:

  • Something as simple as a single transaction format with associated validity and state update logic.
  • Something as complex as a virtual machine with opcode accounting and bytecode stored in smart contracts.

Sawtooth Lake allows these concepts to coexist in the same instance of the blockchain. The choice is up to the developer.

While Intel expects its users to build custom transaction families to cater to individual requirements of their ledgers, Sawtooth Lake does provide three transaction families sufficient for building, testing, and deploying a marketplace for digital assets.

  • EndPointRegistry. A transaction family for registering ledger services.
  • IntegerKey. A transaction family used for testing deployed ledgers.
  • MarketPlace. A transaction family for buying, selling, and trading digital assets.

Sawtooth Lakes architecture segregates transaction payload definition, validation, and state management logic from the core system.

Hyperledger Intel Sawtooth Lake Transaction Family

The core system is responsible for:

  • Message handling
  • Block publishing/validation
  • Consensus
  • Global state management

Hyperledger Intel Sawtooth Lake Transaction Family batch header v2

Based on the presentation, transaction flow proceeds as follows:

  • Transactions are wrapped in batches, which provide an atomic unit of commit for multiple transactions.
  • Transactions declare input and output addresses to allow for state access isolation calculations in the scheduler.
  • These inputs and outputs are enforced by the Context Manager on the context established for the transaction.
  • This enables parallel validation and state delta aggregation across a potentially large number of transactions.

 

What’s next?

Sawtooth Lake has been a part of the Hyperledger Project incubation since last year. Since then, a number proofs of concept have undergone development. One such application is the Marketplace Navigator, which is a browser-based GUI designed to allow users to inspect blocks and to create marketplace transactions.

Hyperledger Intel Sawtooth Lake Marketplace Navigator v3

Intel has a more comprehensive guide to Sawtooth Lake for anyone interested to learn the more technical aspects of the project. Anyone looking to contribute can find Sawtooth Lake in GitHub and in Slack.

Additionally, Dan will be leading a Sawtooth Lake webinar on March 7, 2017. Stay tuned!

 

Want details? Watch the video!

Table of contents

  1. What is Sawtooth Lake? (1’01”)
  2. Are there applications for Sawtooth Lake? (5’40”)
  3. What does the Sawtooth Lake architecture design look like? (10’15”)
  4. How does consensus work? (12’45”)
  5. What are transaction families? (15’00”)
  6. Q&A. What makes Sawtooth Lake different? (19’05”)
  7. Q&A. Can Sawtooth Lake integrate with different blockchain technologies? (22’00”)

 

 

Related slides

 

Related video

The meetup included other speakers including Linux Foundation’s Brian Behlendorf who talked about general updates regarding the Hyperledger Project, Iroha’s Makoto Takemiya who went over the basics of the Iroha blockchain, and Hitachi’s Satoshi Oshima who gave an update of Hyperledger Fabric v1.0. The rest of the presentations can be seen in the following video:

 

 

Related reading


About the speaker

Dan Middleton, Intel bio
Dan Middleton is Head of Technology for Intel’s Blockchain and Distributed Ledger program. He joined Intel in 2000 to work on emerging web and distributed systems technologies. His early accomplishments include optimizations of matching engines for major stock exchanges and multi-tier system designs at a variety of financial institutions. Working with industry consortia in 2007, Dan led Intel’s contributions on a privacy preserving network leveraging proof of work and anonymous credentials. Since 2009, he has incubated new business ventures in Intel’s New Technology Group.