In this paper, we propose smartFHE, a framework to support private smart contracts that utilizes fully homomorphic encryption (FHE). smartFHE allows users to build arbitrary decentralized applications that preserve input/output privacy for an arbitrary number of users' inputs. This is achieved by employing (single and multi-key) FHE to compute over private (encrypted) data and account balances, along with efficient zero-knowledge proof systems (ZKPs) to prove well-formedness of private transactions. Crucially, our framework is modular as any FHE and ZKP scheme can be used so long as they satisfy certain requirements with respect to correctness and security. Furthermore, smartFHE reduces the burden on the users; users provide their private inputs but miners are responsible for performing the private computation. To the best of our knowledge, we are the first to use FHE in the blockchain model.
We define notions for a privacy-preserving smart contract (PPSC) scheme along with its correctness and security. Then, we provide an instantiation of a PPSC using smartFHE and evaluate its performance. Despite common beliefs, our benchmarks show that FHE operations are fast even on a modest machine. This is reflected in the performance of our instantiation; private payments and smart contract computations are faster on our modest machine than state-of-the-art schemes using much more powerful machines.
Category / Keywords: cryptographic protocols / fully homomorphic encryption, zero knowledge proofs, blockchain Date: received 6 Feb 2021, last revised 1 Mar 2021 Contact author: ravital at nucypher com,ghada almashaqbeh@uconn edu Available format(s): PDF | BibTeX Citation Version: 20210302:013738 (All versions of this report) Short URL: ia.cr/2021/133