1. FastKitten: Practical Smart Contracts on Bitcoin 2019 Bitcoin SmartContracts Usenix
    Poulami Das, Lisa Eckey, Tommaso Frassetto, David Gens, Kristina Hostáková, Patrick Jauernig, Sebastian Faust, and Ahmad-Reza Sadeghi
    [View PDF on usenix.org]
    [Show BibTex Citation]

    @inproceedings {235483,
    author = {Poulami Das and Lisa Eckey and Tommaso Frassetto and David Gens and Kristina Host{\'a}kov{\'a} and Patrick Jauernig and Sebastian Faust and Ahmad-Reza Sadeghi},
    title = {FastKitten: Practical Smart Contracts on Bitcoin},
    booktitle = {28th {USENIX} Security Symposium ({USENIX} Security 19)},
    year = {2019},
    isbn = {978-1-939133-06-9},
    address = {Santa Clara, CA},
    pages = {801--818},
    url = {https://www.usenix.org/conference/usenixsecurity19/presentation/das},
    publisher = {{USENIX} Association},
    month = aug,
    }

Smart contracts are envisioned to be one of the killer applications of decentralized cryptocurrencies. They enable self-enforcing payments between users depending on complex program logic. Unfortunately, Bitcoin – the largest and by far most widely used cryptocurrency – does not offer support for complex smart contracts. Moreover, simple contracts that can be executed on Bitcoin are often cumbersome to design and very costly to execute. In this work we present FastKitten, a practical framework for executing arbitrarily complex smart contracts at low costs over decentralized cryptocurrencies which are designed to only support simple transactions. To this end, FastKitten leverages the power of trusted computing environments (TEEs), in which contracts are run off-chain to enable efficient contract execution at low cost. We formally prove that FastKitten satisfies strong security properties when all but one party are malicious. Finally, we report on a prototype implementation which supports arbitrary contracts through a scripting engine, and evaluate performance through benchmarking a provably fair online poker game. Our implementation illustrates that FastKitten is practical for complex multi-round applications with a very small latency. Combining these features, FastKitten is the first truly practical framework for complex smart contract execution over Bitcoin.

  1.