TEE: with Blockchain
Layer1
Proof-of-X
REM: Resource-Efficient Mining for Blockchains
Video
REM achieves security guarantees similar to PoW, but leverages the partially decentralized trust model inherent in SGX to achieve a fraction of the waste of PoW.
Proof of Luck: an Efficient Blockchain Consensus Protocol
Mitar Milutinovic, Warren He, Howard Wu, Maxinder Kanwal (UC Berkeley)
SysTEX ’16
For block proposer election, TEE provides randomness and wait-time
PoTS—A Secure Proof of TEE-Stake for Permissionless Blockchains
Sébastien Andreina, Jens-Matthias Bohli, Wenting Li, Ghassan O. Karame, Giorgia Azzurra Marson (NEC Laboratories)
Prevent nothing-at-stake, grinding attacks, posterior corruption in PoS
Proof-of-Elapsed-Time
On Security Analysis of Proof-of-Elapsed-Time
PoET 1.0 Spec in Hyperledger Sawtooth
BFT
FastBFT: Scalable Byzantine Consensus via Hardware-assisted Secret Sharing
Jian Liu, Wenting Li,Ghassan O. Karame, and N. Asokan, Fellow
Message aggregation technique that combines TEEs with lightweight secret sharing + optimistic execution, tree topology and failure detection
Hybrids on Steroids: SGX-Based High Performance BFT
Johannes Behl, Tobias Distler, Rudiger Kapitza
Follow up Hybster A Highly Parallelizable Protocol for Hybrid Fault-Tolerant Service Replication
EuroSys'17
Hybrid BFT model with TEE to achieve 2f + 1, also allowing parallelization
BLOXY: Providing Transparent and Generic BFT-Based Ordering Services for Blockchains
SRDS'19 Slide
Consensus proxy for Hyperledger Fabric (ordering services)
Adopt PBFT/Hybster
LgTTBFT : Effective Byzantine Fault Tolerance Algorithm Based on Structured Network and Trusted Execution Environment
Rihong Wang, Na Li, Quanqing Xu, Lifeng Zhang and Congying Xing
2f + 1, only two phase, linear prepare phaase
Towards Scaling Blockchain Systems via Sharding
SIGMOD'19 Video
See in Sharding
PoET, RNG inside enclave for shard shuffling, removing equivocation from PBFT.
HyperledgerLabs MinBFT
GitHub
Based on Efficient Byzantine Fault Tolerance
IEEE Transactions on Computers, 2013
Slide (Japanese)
Off-chain
See also Cross-chain: TEE
Light clients
BITE: Bitcoin Lightweight Client Privacy using Trusted Execution
Siniša Matetić (ETH Zurich), Karl Wüst (ETH Zurich), Moritz Schneider (ETH Zurich), Kari Kostiainen (ETH Zurich), Ghassan Karame (NEC Labs) Srdjan Čapkun (ETH Zurich)
USENIX'19
Enclaves on full nodes serve privacy-preserving requests from light clients
ZLiTE: Lightweight Clients for Shielded Zcash Transactions using Trusted Execution
Karl W¨ust, Sinisa Matetic, Moritz Schneider (ETH Zurich), Ian Miers, KariKostiainen, and Srdjan Capkun
FC'19, Video @Zcon1
See in Zcash
Payment channel
Teechain: A Secure Payment Network with Asynchronous Blockchain Access
Joshua Lind, Oded Naor, Ittay Eyal, Florian Kelbert, Peter Pietzuch, Emin Gun Sirer
Website, Video, Previous version: Teechan @Scailing'17
SOSP'19
Payment channel (for Bitcoin) with a committee of TEEs (w/ on-chain multi-sig) for TEE failures
Against roll-back and state forking Ref
Use chain replication, instead of normal SMR for communication efficiency in P2P network
Dynamic depsits, Asynchronous blockchain access (i.e. safety doesn't depend on a challenge period)
Oracle
Town Crier: An Authenticated Data Feed for Smart Contracts
Fan Zhang, Ethan Cecchetti, Kyle Croman, Ari Juels, Elaine Shi (IC3)
CCS'16, Website, DEVCON Ⅱ Video, Acquired by Chainlink: Explanation
Authenticated data feed system SGX to scrape HTTPS enabled websites
UC Proofs
Example: Oracle for flight Insurance contract
A client creating or relying on a contract that uses T_on is responsible for ensuring that this hardcoded pk_off has an appropriate SGX attestation before interacting with T_on.
Bribing
On-Chain Vote Buying and the Rise of Dark DAOs
Trust minimization for bribers (vote buyers)
Towards Free Will in Cryptographic Systems
Slide Video @DEVCON5
Another idea on CT
Privacy
Ledger
Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts
Euro S&P'19
Ekiden on Oasis
CCF: A Framework for Building Confidential Verifiable Replicated Services
Microsoft
Computation
Private Data Objects: an Overview
Mic Bowman, Andrea Miele, Michael Steiner, Bruno Vavala (Intel Labs)
A technology that enables mutually untrusted parties to run smart contracts over private data
Enclaves are stateless and not contract-specific
Developed under Hyperledger Labs: GitHub
Hyperledger Sawtooth, Microsoft CCF (WIP)
Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric
Marcus Brandenburger (IBM), Christian Cachin (TU Braunschweig), Rüdiger Kapitza (IBM), Alessandro Sorniotti
Notes on Private Data Objects: an Overview:
Similarly to PDOs, only the contract code runs in the chaincode enclave
Differently from PDOs, it uses a ledger enclave to maintain (hashes of) the ledger state. Although it allows to verify the latest ledger state (assuming final consensus), it has to implement part of the Fabric peer and manage a possibly large state.
LucidiTEE: Policy-compliant Fair Computing at Scale
Rohit Sinha, Sivanarayana Gaddam, Ranjit Kumaresan (Visa/Visa Research)
Mixing
Obscuro: A Bitcoin Mixer using Trusted Execution Environments
Muoi Tran, Loi Luu, Min Suk Kang, Iddo Bentov, and Prateek Saxena
See in Privacy: Mixing
Others
Trustee: Full Privacy Preserving Vickrey Auction on top of Ethereum
Hisham S. Galal and Amr M. Youssef (Concordia University)
WTSC'19
GitHub
Tutorials
Can blockchains be made better using hardware-assisted security? Slide
Teechain, FastBFT, PoET, etc.
#TEE