Lessons Learned from Implementing a Privacy-Preserving Smart Contract in Ethereum

Real-world smart contracts which preserve the privacy of both, their users and their data, have barely been proposed theoretically, let alone been implemented practically. In this paper, we are the first to implement a privacy-preserving protocol from the energy domain as a smart contract in Ethereum. We elaborate on and present our implementation as well as our practical findings, including more or less subtle traps and pitfalls. Despite major optimizations to our implementation, we find that while it is currently possible, it is not feasible to implement a privacy-preserving protocol of modest complexity in the Ethereum blockchain due to the high cost of operation and the lack of privacy by design.

[1]  Petros Boufounos,et al.  Efficient Coding of Signal Distances Using Universal Quantized Embeddings , 2013, 2013 Data Compression Conference.

[2]  D. Engel,et al.  Privacy-Preserving Smart Grid Tariff Decisions with Blockchain-Based Smart Contracts , 2018 .

[3]  Yuval Ishai,et al.  Founding Cryptography on Oblivious Transfer - Efficiently , 2008, CRYPTO.

[4]  Pascal Paillier,et al.  Public-Key Cryptosystems Based on Composite Degree Residuosity Classes , 1999, EUROCRYPT.

[5]  Chris Dannen,et al.  Introducing Ethereum and Solidity , 2017 .

[6]  Christof Weinhardt,et al.  A blockchain-based smart grid: towards sustainable local energy markets , 2017, Computer Science - Research and Development.

[7]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[8]  Joe Kilian,et al.  Founding crytpography on oblivious transfer , 1988, STOC '88.

[9]  Björn Scheuermann,et al.  Bitcoin and Beyond: A Technical Survey on Decentralized Digital Currencies , 2016, IEEE Communications Surveys & Tutorials.

[10]  Elaine Shi,et al.  Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab , 2016, Financial Cryptography Workshops.

[11]  Anthony Vetro,et al.  Quantized embeddings: an efficient and universal nearest neighbor method for cloud-based image retrieval , 2013, Optics & Photonics - Optical Engineering + Applications.

[12]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[13]  Andreas Unterweger,et al.  Privacy-preserving load profile matching for tariff decisions in smart grids , 2016, EURASIP J. Inf. Secur..

[14]  Fergal Reid,et al.  An Analysis of Anonymity in the Bitcoin System , 2011, PASSAT 2011.

[15]  Michael Devetsikiotis,et al.  Blockchains and Smart Contracts for the Internet of Things , 2016, IEEE Access.

[16]  Gareth W. Peters,et al.  Understanding Modern Banking Ledgers Through Blockchain Technologies: Future of Transaction Processing and Smart Contracts on the Internet of Money , 2015, ArXiv.

[17]  Andreas Unterweger,et al.  Privacy-preserving blockchain-based electric vehicle charging with dynamic tariff decisions , 2018, Computer Science - Research and Development.

[18]  Eli Ben-Sasson,et al.  Zerocash: Decentralized Anonymous Payments from Bitcoin , 2014, 2014 IEEE Symposium on Security and Privacy.

[19]  Ersin Uzun,et al.  Achieving Differential Privacy in Secure Multiparty Data Aggregation Protocols on Star Networks , 2017, CODASPY.

[20]  Petros Boufounos,et al.  Privacy-preserving nearest neighbor methods: comparing signals without revealing them , 2013, IEEE Signal Processing Magazine.

[21]  Fernando Pérez-González,et al.  Privacy-preserving data aggregation in smart metering systems: an overview , 2013, IEEE Signal Processing Magazine.

[22]  Alex Pentland,et al.  Decentralizing Privacy: Using Blockchain to Protect Personal Data , 2015, 2015 IEEE Security and Privacy Workshops.

[23]  Elaine Shi,et al.  Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts , 2016, 2016 IEEE Symposium on Security and Privacy (SP).