POSE: Practical Off-chain Smart Contract Execution

Smart contracts enable users to execute payments depending on complex program logic. Ethereum is the most notable example of a blockchain that supports smart contracts leveraged for countless applications including games, auctions and financial products. Unfortunately, the traditional method of running contract code on-chain is very expensive, for instance, on the Ethereum platform, fees have dramatically increased, rendering the system unsuitable for complex applications. A prominent solution to address this problem is to execute code off-chain and only use the blockchain as a trust anchor. While there has been significant progress in developing off-chain systems over the last years, current off-chain solutions suffer from various drawbacks including costly blockchain interactions, lack of data privacy, huge capital costs from locked collateral, or supporting only a restricted set of applications. In this paper, we present POSE -- a practical off-chain protocol for smart contracts that addresses the aforementioned shortcomings of existing solutions. POSE leverages a pool of Trusted Execution Environments (TEEs) to execute the computation efficiently and to swiftly recover from accidental or malicious failures. We show that POSE provides strong security guarantees even if a large subset of parties is corrupted. We evaluate our proof-of-concept implementation with respect to its efficiency and effectiveness.

[1]  Zhenfei Zhang,et al.  Pointproofs: Aggregating Proofs for Multiple Vector Commitments , 2020, IACR Cryptol. ePrint Arch..

[2]  Srdjan Capkun,et al.  ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts , 2020, IACR Cryptol. ePrint Arch..

[3]  Ghada Dessouky,et al.  CURE: A Security Architecture with CUstomizable and Resilient Enclaves , 2020, USENIX Security Symposium.

[4]  Jelle Hellings,et al.  Scalable, resilient, and configurable permissioned blockchain fabric , 2020, Proc. VLDB Endow..

[5]  Ahmed E. Hassan,et al.  An exploratory study of smart contracts in the Ethereum blockchain platform , 2020, Empirical Software Engineering.

[6]  Jason Teutsch,et al.  A scalable verification solution for blockchains , 2019, ArXiv.

[7]  Tommaso Frassetto,et al.  FastKitten: Practical Smart Contracts on Bitcoin , 2019, IACR Cryptol. ePrint Arch..

[8]  Ahmad-Reza Sadeghi,et al.  SANCTUARY: ARMing TrustZone with User-space Enclaves , 2019, NDSS.

[9]  Stefan Dziembowski,et al.  General State Channel Networks , 2018, CCS.

[10]  Mic Bowman,et al.  Private Data Objects: an Overview , 2018, ArXiv.

[11]  Emin Gün Sirer,et al.  Teechain: Reducing Storage Costs on the Blockchain With Offline Payment Channels , 2018, SYSTOR.

[12]  Dominic Williams,et al.  DFINITY Technology Overview Series, Consensus System , 2018, ArXiv.

[13]  Fan Zhang,et al.  Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts , 2018, 2019 IEEE European Symposium on Security and Privacy (EuroS&P).

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

[15]  Elaine Shi,et al.  Formal Abstractions for Attested Execution Secure Processors , 2017, EUROCRYPT.

[16]  Andrew Miller,et al.  Sprites: Payment Channels that Go Faster than Lightning , 2017, ArXiv.

[17]  Fan Zhang,et al.  Town Crier: An Authenticated Data Feed for Smart Contracts , 2016, CCS.

[18]  Iddo Bentov,et al.  Amortizing Secure Computation with Penalties , 2016, CCS.

[19]  Vinod Vaikuntanathan,et al.  Improvements to Secure Computation with Penalties , 2016, CCS.

[20]  Elaine Shi,et al.  Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[21]  Stefan Mangard,et al.  ARMageddon: Cache Attacks on Mobile Devices , 2015, USENIX Security Symposium.

[22]  Iddo Bentov,et al.  How to Use Bitcoin to Play Decentralized Poker , 2015, CCS.

[23]  S. Shavell Contracts , 1998, Comparative Law of Obligations.

[24]  Jianliang Xu,et al.  SlimChain: Scaling Blockchain Transactions through Off-Chain Storage and Parallel Processing , 2021, Proc. VLDB Endow..

[25]  Ghassan O. Karame,et al.  Bitcontracts: Adding Expressive Smart Contracts to Legacy Cryptocurrencies , 2019, IACR Cryptol. ePrint Arch..

[26]  Rami A. Khalil Commit-Chains: Secure, Scalable Off-Chain Payments , 2019 .

[27]  Fan Zhang,et al.  Paralysis Proofs: Safe Access-Structure Updates for Cryptocurrencies and More , 2018, IACR Cryptol. ePrint Arch..

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

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

[30]  Srdjan Capkun,et al.  ROTE: Rollback Protection for Trusted Execution , 2017, USENIX Security Symposium.

[31]  Fan Zhang,et al.  Tesseract: Real-Time Cryptocurrency Exchange using Trusted Hardware , 2017, IACR Cryptol. ePrint Arch..

[32]  Srinivas Devadas,et al.  Sanctum: Minimal Hardware Extensions for Strong Software Isolation , 2016, USENIX Security Symposium.

[33]  Carlos V. Rozas,et al.  Intel® Software Guard Extensions: EPID Provisioning and Attestation Services , 2016 .

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

[35]  S. Nakamoto,et al.  Bitcoin: A Peer-to-Peer Electronic Cash System , 2008 .