ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts

Smart contracts are programmable, decentralized and transparent financial applications. Because smart contract platforms typically support Turing-complete programming languages, such systems are often said to enable arbitrary applications. However, the current permissionless smart contract systems impose heavy restrictions on the types of computations that can be implemented. For example, the globally-replicated and sequential execution model of Ethereum requires low gas limits that make many computations infeasible. In this paper, we propose a novel system called ACE whose main goal is to enable more complex smart contracts on permissionless blockchains. ACE is based on an off-chain execution model where the contract issuers appoint a set of service providers to execute the contract code independent from the consensus layer. The primary advantage of ACE over previous solutions is that it allows one contract to safely call another contract that is executed by a different set of service providers. Thus, ACE is the first solution to enable off-chain execution of interactive smart contracts with flexible trust assumptions. Our evaluation shows that ACE enables several orders of magnitude more complex smart contracts than standard Ethereum.

[1]  Daniel J. Abadi,et al.  An Evaluation of the Advantages and Disadvantages of Deterministic Database Systems , 2014, Proc. VLDB Endow..

[2]  Yuan Xiao,et al.  SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution , 2018, ArXiv.

[3]  An Zhang,et al.  Enabling Concurrency on Smart Contracts Using Multiversion Ordering , 2018, APWeb/WAIM.

[4]  Rüdiger Kapitza,et al.  Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric , 2018, ArXiv.

[5]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[6]  Sourav Das,et al.  YODA: Enabling computationally intensive contracts on blockchains with Byzantine and Selfish nodes , 2019, NDSS.

[7]  Srdjan Capkun,et al.  Software Grand Exposure: SGX Cache Attacks Are Practical , 2017, WOOT.

[8]  Yubin Xia,et al.  ShadowEth: Private Smart Contract on Public Blockchain , 2018, Journal of Computer Science and Technology.

[9]  Jason Teutsch,et al.  Demystifying Incentives in the Consensus Computer , 2015, CCS.

[10]  Hovav Shacham,et al.  Short Signatures from the Weil Pairing , 2001, J. Cryptol..

[11]  Michael J. Fischer,et al.  Scalable Bias-Resistant Distributed Randomness , 2017, 2017 IEEE Symposium on Security and Privacy (SP).

[12]  Hubert Ritzdorf,et al.  TLS-N: Non-repudiation over TLS Enablign Ubiquitous Content Signing , 2018, NDSS.

[13]  Ethan Heilman,et al.  Eclipse Attacks on Bitcoin's Peer-to-Peer Network , 2015, USENIX Security Symposium.

[14]  Johannes Götzfried,et al.  Cache Attacks on Intel SGX , 2017, EUROSEC.

[15]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[16]  Brian F. Cooper Spanner: Google's globally-distributed database , 2013, SYSTOR '13.

[17]  S. Matthew Weinberg,et al.  Arbitrum: Scalable, private smart contracts , 2018, USENIX Security Symposium.

[18]  Elaine Shi,et al.  Rethinking Large-Scale Consensus , 2017, 2017 IEEE 30th Computer Security Foundations Symposium (CSF).

[19]  Marcus Peinado,et al.  Controlled-Channel Attacks: Deterministic Side Channels for Untrusted Operating Systems , 2015, 2015 IEEE Symposium on Security and Privacy.

[20]  Philipp Jovanovic,et al.  OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[21]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[22]  Maurice Herlihy,et al.  Adding concurrency to smart contracts , 2017, Distributed Computing.

[23]  Hubert Ritzdorf,et al.  On the Security and Performance of Proof of Work Blockchains , 2016, IACR Cryptol. ePrint Arch..

[24]  Srinivas Devadas,et al.  Intel SGX Explained , 2016, IACR Cryptol. ePrint Arch..

[25]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[26]  Dawn Xiaodong Song,et al.  Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contract Execution , 2018, ArXiv.

[27]  Adi Shamir,et al.  Physical key extraction attacks on PCs , 2016, Commun. ACM.

[28]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[29]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[30]  George Danezis,et al.  Chainspace: A Sharded Smart Contracts Platform , 2017, NDSS.

[31]  Gorka Irazoqui Apecechea,et al.  CacheZoom: How SGX Amplifies The Power of Cache Attacks , 2017, CHES.

[32]  Joseph Poon,et al.  Plasma : Scalable Autonomous Smart Contracts , 2017 .

[33]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[34]  Thomas F. Wenisch,et al.  Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution , 2018, USENIX Security Symposium.

[35]  Daniel J. Abadi,et al.  Calvin: fast distributed transactions for partitioned database systems , 2012, SIGMOD Conference.