Paper 2020/138

Smart Contract Derivatives

Kostis Karantias, Aggelos Kiayias, and Dionysis Zindros


The abilities of smart contracts today are confined to reading from their own state. It is useful for a smart contract to be able to react to events and read the state of other smart contracts. In this paper, we devise a mechanism by which a derivative smart contract can read data, observe the state evolution, and react to events that take place in one or more underlying smart contracts of its choice. Our mechanism works even if the underlying smart contract is not designed to operate with the derivative smart contract. Like in traditional finance, derivatives derive their value (and more generally state) through potentially complex dependencies. We show how derivative smart contracts can be deployed in practice on the Ethereum blockchain without any forks or additional assumptions. We leverage any NIPoPoWs mechanism (such as FlyClient or superblocks) to obtain succinct proofs for arbitrary events, making proving them inexpensive for users. The latter construction is of particular interest, as it forms the first introspective SPV client: an SPV client for Ethereum in Ethereum. Last, we describe applications of smart contract derivatives which were not possible prior to our work, in particular the ability to create decentralized insurance smart contracts which insure an underlying on-chain security such as an ICO, as well as futures and options.

Available format(s)
Publication info
Preprint. MINOR revision.
derivativessmart contractsspvethereumnipopows
Contact author(s)
kkarantias @ gmail com
dionyziz @ gmail com
2020-02-10: received
Short URL
Creative Commons Attribution


      author = {Kostis Karantias and Aggelos Kiayias and Dionysis Zindros},
      title = {Smart Contract Derivatives},
      howpublished = {Cryptology ePrint Archive, Paper 2020/138},
      year = {2020},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.