Strengthening Fault Tolerance of Private/Consortium Blockchain with Trusted Execution Environment

Consensus is one of the key components of Blockchain. Common public blockchains use Proof-Of-Work or Proof-Of-Stake as their consensus protocols. In contrast, private or consortium blockchains often use Raft, which is only crash fault tolerant. It means that strong trust on node holders in private or consortium blockchains is required. To relax the strong trust requirement, we propose by taking raft as foundation and modification on raft and leveraging threshold signature and trusted execution environment to improve security. We have implemented and integrated our proposed consensus algorithm with ConsenSys Quorum. Our experiment shows that our work has slight performance degradation on blockchain compared to original Raft.