ABSTRACT
Smart contracts are programs that execute autonomously on blockchains. Their key envisioned uses (e.g. financial instruments) require them to consume data from outside the blockchain (e.g. stock quotes). Trustworthy data feeds that support a broad range of data requests will thus be critical to smart contract ecosystems.
We present an authenticated data feed system called Town Crier (TC). TC acts as a bridge between smart contracts and existing web sites, which are already commonly trusted for non-blockchain applications. It combines a blockchain front end with a trusted hardware back end to scrape HTTPS-enabled websites and serve source-authenticated data to relying smart contracts.
TC also supports confidentiality. It enables private data requests with encrypted parameters. Additionally, in a generalization that executes smart-contract logic within TC, the system permits secure use of user credentials to scrape access-controlled online data sources.
We describe TC's design principles and architecture and report on an implementation that uses Intel's recently introduced Software Guard Extensions (SGX) to furnish data to the Ethereum smart contract system. We formally model TC and define and prove its basic security properties in the Universal Composibility (UC) framework. Our results include definitions and techniques of general interest relating to resource consumption (Ethereum's "gas" fee system) and TCB minimization. We also report on experiments with three example applications.
We plan to launch TC soon as an online public service.
- http://coinmarketcap.com/currencies/ethereum.Google Scholar
- Augur. http://www.augur.net/.Google Scholar
- PriceFeed smart contract. Referenced Feb. 2016 at http://feed.ether.camp/.Google Scholar
- Steam online gaming platform. http://store.steampowered.com/.Google Scholar
- TLSnotary -- a mechanism for independently audited https sessions. https://tlsnotary.org/TLSNotary.pdf, 10 Sept. 2014.Google Scholar
- Cornell researchers unveil a virtual notary. Slashdot, 20 June 2013.Google Scholar
- Oraclize: "The provably honest oracle service". www.oraclize.it, Referenced Feb. 2016.Google Scholar
- I. Anati, S. Gueron, and S. Johnson. Innovative technology for CPU based attestation and sealing. In Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy, 2013.Google Scholar
- ARM Limited. mbedTLS (formerly known as PolarSSL). https://tls.mbed.org/.Google Scholar
- A. Baumann, M. Peinado, and G. Hunt. Shielding Applications from an Untrusted Cloud with Haven. In OSDI, 2014. Google ScholarDigital Library
- J. Bonneau, J. Clark, and S. Goldfeder. On bitcoin as a public randomness source. https://eprint.iacr.org/2015/1015.pdf, 2015.Google Scholar
- E. Brickell and J. Li. Enhanced Privacy ID from Bilinear Pairing. IACR Cryptology ePrint Archive, 2009:95, 2009.Google Scholar
- V. Buterin. Schellingcoin: A minimal-trust universal data feed. https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/.Google Scholar
- V. Buterin. Ethereum: A next-generation smart contract and decentralized application platform. https://github.com/ethereum/wiki/wiki/White-Paper, 2014.Google Scholar
- R. Canetti. Universally composable security: A new paradigm for cryptographic protocols. In FOCS, 2001. Google ScholarDigital Library
- R. Canetti, Y. Dodis, R. Pass, and S. Walfish. Universally composable security with global setup. In Theory of Cryptography, pages 61--85. Springer, 2007. Google ScholarCross Ref
- R. Canetti and T. Rabin. Universal composition with joint state. In CRYPTO, 2003.Google ScholarCross Ref
- V. Costan and S. Devadas. Intel sgx explained. Cryptology ePrint Archive, Report 2016/086, 2016. http://eprint.iacr.org/.Google Scholar
- K. Croman, C. Decker, I. Eyal, A. E. Gencer, A. Juels, A. Kosba, A. Miller, P. Saxena, E. Shi, E. G. Sirer, D. Song, and R. Wattenhofer. On scaling decentralized blockchains (a position paper). In Bitcoin Workshop, 2016.Google Scholar
- G. Greenspan. Why many smart contract use cases are simply impossible. http://www.coindesk.com/three-smart-contract-misconceptions/.Google Scholar
- Intel Corporation. Intel® Software Guard Extensions Programming Reference, 329298-002us edition, 2014.Google Scholar
- Intel Corporation. Intel® Software Guard Extensions Evaluation SDK User's Guide for Windows* OS. https://software.intel.com/sites/products/sgx-sdk-users-guide-windows, 2015.Google Scholar
- Intel Corporation. Intel#174; Software Guard Extensions SDK. https://software.intel.com/en-us/sgx-sdk, 2015.Google Scholar
- M. Jakobsson, K. Sako, and R. Impagliazzo. Designated verifier proofs and their applications. In Advances in Cryptology -- EUROCRYPT '96, pages 143--154. Springer, 2001. Google ScholarDigital Library
- A. Juels, A. Kosba, and E. Shi. The Ring of Gyges: Investigating the future of criminal smart contracts. Online manuscript, 2015.Google Scholar
- A. Kelkar, J. Bernard, S. Joshi, S. Premkumar, and E. G. Sirer. Virtual Notary. http://virtual-notary.org/, 2016.Google Scholar
- A. Kosba, A. Miller, E. Shi, Z. Wen, and C. Papamanthou. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In IEEE Symposium on Security and Privacy, 2016.Google ScholarCross Ref
- F. McKeen, I. Alexandrovich, A. Berenzon, C. V. Rozas, H. Shafi, V. Shanbhogue, and U. R. Savagaonkar. Innovative instructions and software model for isolated execution. In Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy, 2013. Google ScholarDigital Library
- S. Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008.Google Scholar
- V. Phegade and J. Del Cuvillo. Using innovative instructions to create trustworthy software solutions. In Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy, pages 1--1, New York, New York, USA, 2013. ACM Press. Google ScholarDigital Library
- X. Ruan. Platform Embedded Security Technology Revealed: Safeguarding the Future of Computing with Intel Embedded Security and Management Engine. Apress, 2014. Google ScholarDigital Library
- F. Schuster, M. Costa, C. Fournet, C. Gkantsidis, M. Peinado, G. Mainar-Ruiz, and M. Russinovich. VC3: Trustworthy data analytics in the cloud. In IEEE S& P, 2015. Google ScholarDigital Library
- E. Shi. Trusted hardware: Life, the composable university, and everything. Talk at the DIMACS Workshop on Cryptography and Big Data, 2015.Google Scholar
- E. Shi, F. Zhang, R. Pass, S. Devadas, D. Song, and C. Liu. Trusted hardware: Life, the composable universe, and everything. Manuscript, 2015.Google Scholar
- N. Szabo. Smart contracts. http://szabo.best.vwh.net/smart.contracts.html, 1994.Google Scholar
- K. Torpey. The conceptual godfather of augur thinks the project will fail. CoinGecko, 5 Aug. 2015.Google Scholar
- G. Wood. Ethereum: A secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper, 2014.Google Scholar
- Y. Xu, W. Cui, and M. Peinado. Controlled-channel attacks: Deterministic side channels for untrusted operating systems. In Security and Privacy (SP), 2015 IEEE Symposium on, pages 640--656, May 2015. Google ScholarDigital Library
- F. Zhang, E. Cecchetti, K. Croman, A. Juels, and E. Shi. Town crier: An authenticated data feed for smart contracts. Cryptology ePrint Archive, Report 2016/168, 2016. http://eprint.iacr.org/2016/168.Google Scholar
Index Terms
- Town Crier: An Authenticated Data Feed for Smart Contracts
Recommendations
Deconstructing Blockchains: Concepts, Systems, and Insights
DEBS '18: Proceedings of the 12th ACM International Conference on Distributed and Event-based SystemsPopularly known for powering cryptocurrencies such as Bitcoin and Ethereum, blockchains is seen as a disruptive technology capable of impacting a wide variety of domains, ranging from finance to governance, by offering superior security, reliability, ...
MUSCLE: authenticated external data retrieval from multiple sources for smart contracts
SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied ComputingSmart contracts are applications that are deployed and executed on a blockchain's decentralised infrastructure. Many smart contract applications rely on data that resides outside the blockchain. However, while traditional web applications can ...
Empirical vulnerability analysis of automated smart contracts security testing on blockchains
CASCON '18: Proceedings of the 28th Annual International Conference on Computer Science and Software EngineeringThe emerging blockchain technology supports decentralized computing paradigm shift and is a rapidly approaching phenomenon. While blockchain is thought primarily as the basis of Bitcoin, its application has grown far beyond cryptocurrencies due to the ...
Comments