Earlier this summer, I initiated a blog series to help put blockchain news and technical advances into perspective for enterprise technologists. It took longer to write this next one as we’ve been busy working blockchain collaborations with Microsoft, R3, Tencent and other partners.
In this blog, I’m back to discuss three innovative projects in blockchain consensus methodology. The projects are:
- FastBFT research paper published in June
- Intel’s Proof of Elapsed Time (PoET) open source release in July
- Microsoft’s Coco Framework announcement in August.
The common ingredient is Intel® Software Guard Extensions (Intel® SGX) technology, used to promote trust and improve performance. Collectively, the three projects and their associated innovation in consensus methodologies could lead one to call this summer, the “summer of consensus”.
Consensus is the process that a blockchain uses to reach agreement on the order and validity of transactions. It is a vital part of a blockchain network as it enables transacting network participants to agree, without a trusted intermediary. Consensus’ programmatic trust, and the reduced use of intermediaries, are key value drivers for blockchain deployments. These features can reduce transaction settlement time and transaction costs. More detail on consensus strategies can be found in this white paper from the Linux Foundation’s Hyperledger Architecture Working Group.
June: FastBFT Research – NEC Laboratories Europe and Aalto University
On June 12, NEC and Aalto University published a research paper on a novel consensus mechanism called FastBFT. Their research shows that FastBFT’s use of Intel® SGX could deliver unprecedented blockchain network scale for Byzantine Fault-Tolerant consensus.
BFT consensus mechanisms typically deliver fast throughput (100s of transactions per second) but have limited scale (10s of nodes). The scale limitation is a result of the messaging required among validating nodes to achieve consensus—it grows at a rate proportional to the square of the total number of validating nodes (i.e., O(n2). Adding even a few more nodes leads to considerably more messaging, slowing transaction rates. As a result, most BFT algorithms limit their validation to 10s of nodes. That creates a challenge for blockchain networks with 100s or 1,000s of participants, all of whom want to participate.
FastBFT uses Intel® SGX to substantially reduce messaging by establishing trust among validating nodes, thus eliminating the need for the O(n2) messaging of conventional BFT algorithms. The FastBFT research demonstrated modeled performance for FastBFT at nearly 1,000 transactions per second (6X faster than traditional BFT systems), and maintenance of fast transaction rates, even as the modeled networks scaled to 100s of validation nodes. The research shows how Intel® SGX can be used as a scale mechanism for enterprise blockchain networks.
July: Proof of Elapsed Time – Intel and Hyperledger Sawtooth
On July 14, the Linux Foundation released v.87 of its Hyperledger Sawtooth project, which contains a novel consensus mechanism called Proof of Elapsed Time (PoET). PoET utilizes Intel® SGX to achieve consensus scale in the 1,000s of nodes, with minimal use of computational energy.
PoET is a lottery style consensus mechanism, which means it selects a leader at random from a large population of validators, and that leader commits the next block to the blockchain. Bitcoin’s Proof of Work (PoW), described in the article titled: “The Ridiculous Amount of Energy It Takes to Run Bitcoin”, was the first blockchain lottery consensus. It uses a hashing algorithm to select its leader. PoW supports more than 9,000 consensus nodes today, which means that its hashing consumes enough energy to power more than 1.5 million homes!
PoET does not use hashing for its lottery mechanism. Instead, it utilizes a secure timer running in Intel® SGX. The consensus node that times-out first is the elected leader that will commit the next block. The PoET secure timer doesn’t compute, it counts, which means it needs only nominal amounts of compute and energy to achieve consensus across thousands of nodes.
August: Coco Framework Announcement – Microsoft
Microsoft announced a new blockchain framework on August 10, called Coco, developed in collaboration with Intel. The Coco Framework aims to achieve an unprecedented throughput of 1600+ transactions per second. Microsoft’s throughput advancement arises from its use of Intel SGX to protect the consensus process.
Traditional blockchain consensus processes involve two transaction verification steps before a new block is committed. First, the leader verifies the transactions as a block is assembled. Then the leader sends the block to all other consensus nodes, which re-verify the transactions in the proposed block. The Coco Framework utilizes Intel SGX to avoid the re-verification step, speeding-up transaction throughput. With Coco, the leader creates and verifies the new block in Intel SGX and immediately commits the block. Then the leader sends the new block to other consensus nodes with a secure attestation, indicating that the block has been validated. As a result, the other nodes can simply check the leader’s signature and accept the block without having to re-verify all the transactions contained within the block. The Coco Framework thus far represents a novel use of Intel SGX to speed-up transaction throughput while maintaining network trust.
The summer of 2017 was a good season for blockchain advances, showing what is possible for secure, scalable, energy-efficient consensus. The advancements summarized above show how innovators from different corporate, non-profit and academic backgrounds are converging on a common theme: the use of Intel SGX to protect blockchain consensus and deliver improvements in scalability. In future blogs, I will focus on throughput, identity and open source projects.
For more complete information about compiler optimizations, see our Optimization Notice.