1. ZLiTE: Lightweight Clients for Shielded Zcash Transactions using Trusted Execution 2019 Blockchains FinancialCryptography
    Karl Wüst, Sinisa Matetic, Moritz Schneider, Ian Miers, Kari Kostiainen, and Srdjan Capkun
    [View PDF on eprint.iacr.org]
    [Show BibTex Citation]

    @misc{cryptoeprint:2018:1024,
    author = {Karl Wüst and Sinisa Matetic and Moritz Schneider and Ian Miers and Kari Kostiainen and Srdjan Capkun},
    title = {ZLiTE: Lightweight Clients for Shielded Zcash Transactions using Trusted Execution},
    howpublished = {Cryptology ePrint Archive, Report 2018/1024},
    year = {2018},
    note = {\url{https://eprint.iacr.org/2018/1024}},
    }

Cryptocurrencies record transactions between parties in a blockchain maintained by a peer-to-peer network. In most cryptocurrencies, transactions explicitly identify the previous transaction providing the funds they are spending, revealing the amount and sender/recipient pseudonyms. This is a considerable privacy issue. Zerocash resolves this by using zero-knowledge proofs to hide both the source, destination and amount of the transacted funds. To receive payments in Zerocash, however, the recipient must scan the blockchain, testing if each transaction is destined for them. This is not practical for mobile and other bandwidth constrained devices. In this paper, we build ZLiTE, a system that can support the so-called “light clients”, which can receive transactions aided by a server equipped with a Trusted Execution Environment. Even with the use of a TEE, this is not a trivial problem. First, we must ensure that server processing the blockchain does not leak sensitive information via side channels. Second, we need to design a bandwidth efficient mechanism for the client to keep an up-to-date version of the witness needed in order to spend the funds they previously received.

  1.