Paper 2016/168
Town Crier: An Authenticated Data Feed for Smart Contracts
Fan Zhang, Ethan Cecchetti, Kyle Croman, Ari Juels, and Elaine Shi
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 re- lying smart contracts. TC also supports confidentiality; it enables private data requests with encrypted parameters and secure use of user credentials to scrape access-controlled on- line 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 Composability (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.
Note: Fixed a typo in Definition 2.
Metadata
- Available format(s)
- Publication info
- Preprint. MINOR revision.
- Keywords
- applicationsSGXsmart contracts
- Contact author(s)
- juels @ cornell edu
- History
- 2017-08-28: last of 6 revisions
- 2016-02-19: received
- See all versions
- Short URL
- https://ia.cr/2016/168
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2016/168, author = {Fan Zhang and Ethan Cecchetti and Kyle Croman and Ari Juels and Elaine Shi}, title = {Town Crier: An Authenticated Data Feed for Smart Contracts}, howpublished = {Cryptology {ePrint} Archive, Paper 2016/168}, year = {2016}, url = {https://eprint.iacr.org/2016/168} }