CCF: A Framework for Building Confidential Verifiable Replicated Services - Russinovich, Mark; Ashton, Edward; Avanessians, Christine; Castro, Miguel; Chamayou, Amaury; Clebsch, Sylvan; Costa, Manuel; Fournet, Cédric; Kerner, Matthew; Krishna, Sid; Maffre, Julien; Moscibroda, Thomas; et al. (Microsoft, 2019)
We present CCF, a framework to build permissioned confidential blockchains. CCF provides a simple programming model of a highly-available data store and a universally-verifiable log that implements a ledger abstraction. CCF leverages trust in a consortium of governing members and in a network of replicated hardware-protected execution environments to achieve high throughput, low latency, strong integrity and strong confidentiality for application data and code executing on the ledger. CCF embeds consensus protocols with Byzantine and crash faulttolerant configurations. All configurations support strong service integrity based on the ledger contents. Even if some replicas are corrupt or their keys are compromised, they can be blamed based on their signed evidence of malicious activity recorded in the ledger. CCF supports transparent, programmable governance where the power of the consortium members is tunable and their activity is similarly recorded in the ledger for full auditability. We are developing an open-source implementation of CCF based on SGX-enabled Azure Confidential Compute, built on top of the Open Enclave SDK. Experimental results show that this implementation achieves throughput/latency tradeoffs up to 3 orders of magnitude better than previous confidential blockchain designs. Its code and documentation are available at https://github.com/Microsoft/CCF.