  Smart contracts are applications that execute on blockchains. Today they
manage billions of dollars in value and motivate visionary plans for pervasive
blockchain deployment. While smart contracts inherit the availability and other
security assurances of blockchains, however, they are impeded by blockchains'
lack of confidentiality and poor performance.
  We present Ekiden, a system that addresses these critical gaps by combining
blockchains with Trusted Execution Environments (TEEs). Ekiden leverages a
novel architecture that separates consensus from execution, enabling efficient
TEE-backed confidentiality-preserving smart-contracts and high scalability. Our
prototype (with Tendermint as the consensus layer) achieves example performance
of 600x more throughput and 400x less latency at 1000x less cost than the
Ethereum mainnet.
  Another contribution of this paper is that we systematically identify and
treat the pitfalls arising from harmonizing TEEs and blockchains. Treated
separately, both TEEs and blockchains provide powerful guarantees, but
hybridized, though, they engender new attacks. For example, in naive designs,
privacy in TEE-backed contracts can be jeopardized by forgery of blocks, a
seemingly unrelated attack vector. We believe the insights learned from Ekiden
will prove to be of broad importance in hybridized TEE-blockchain systems.
