I. Introduction and Problem Statement
Blockchains are distributed and decentralized ledgers, storing the data across many networked nodes without a central all-powerful authority (see [1] for a detailed introduction). Many blockchain products exhibit a WORM (write once, read many) behaviour, usually through an append-only implementation which concatenates data blocks using hashes. "Smart Contracts" are blockchain-stored executable rules; the execution results are also stored on the blockchain.