Zero-Knowledge Contingent Payments Revisited: Attacks and Payments for Services

被引:88
作者
Campanelli, Matteo [1 ]
Gennaro, Rosario [2 ]
Goldfeder, Steven [3 ]
Nizzardo, Luca [4 ,5 ]
机构
[1] CUNY, Grad Ctr, New York, NY 10016 USA
[2] CUNY, New York, NY USA
[3] Princeton Univ, Princeton, NJ 08544 USA
[4] IMDEA Software Inst, Madrid, Spain
[5] Univ Politecn Madrid, Madrid, Spain
来源
CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY | 2017年
基金
美国国家科学基金会;
关键词
Contingent Payments; Bitcoin; Zero-Knowledge Protocols;
D O I
10.1145/3133956.3134060
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Zero Knowledge Contingent Payment (ZKCP) protocols allow fair exchange of sold goods and payments over the Bitcoin network. In this paper we point out two main shortcomings of current proposals for ZKCP, and propose ways to address them. First we show an attack that allows a buyer to learn partial information about the digital good being sold, without paying for it. This break in the zero-knowledge condition of ZKCP is due to the fact that in the protocols we attack, the buyer is allowed to choose common parameters that normally should be selected by a trusted third party. We implemented and tested this attack: we present code that learns, without paying, the value of a Sudoku cell in the "Pay-to-Sudoku" ZKCP implementation [18]. We also present ways to fix this attack that do not require a trusted third party. Second, we show that ZKCP are not suited for the purchase of digital services rather than goods. Current constructions of ZKCP do not allow a seller to receive payments after proving that a certain service has been rendered, but only for the sale of a specific digital good. We define the notion of Zero-Knowledge Contingent Service Payment (ZKCSP) protocols and construct two new protocols, for either public or private verification. We implemented our ZKCSP protocols for Proofs of Retrievability, where a client pays the server for providing a proof that the client's data is correctly stored by the server. We also implement a secure ZKCP protocol for "Pay-to-Sudoku" via our ZKCSP protocol, which does not require a trusted third party. A side product of our implementation effort is a new optimized circuit for SHA256 with less than a quarter than the number of AND gates of the best previously publicly available one. Our new SHA256 circuit may be of independent use for circuit-based MPC and FHE protocols that require SHA256 circuits.
引用
收藏
页码:229 / 243
页数:15
相关论文
共 48 条
[1]  
Abdolmaleki B., 2017, 2017599 CRYPT EPRINT
[2]  
Andresen G., 2017, GITHUB PROPOSAL OPEN
[3]   On the Malleability of Bitcoin Transactions [J].
Andrychowicz, Marcin ;
Dziembowski, Stefan ;
Malinowski, Daniel ;
Mazurek, Lukasz .
FINANCIAL CRYPTOGRAPHY AND DATA SECURITY (FC 2015), 2015, 8976 :1-18
[4]   Fair Two-Party Computations via Bitcoin Deposits [J].
Andrychowicz, Marcin ;
Dziembowski, Stefan ;
Malinowski, Daniel ;
Mazurek, Lukasz .
FINANCIAL CRYPTOGRAPHY AND DATA SECURITY: FC 2014 WORKSHOPS, BITCOIN AND WAHC 2014, 2014, 8438 :105-121
[5]  
Asokan N, 1998, LECT NOTES COMPUT SC, V1403, P591, DOI 10.1007/BFb0054156
[6]   Efficient Zero-Knowledge Contingent Payments in Cryptocurrencies Without Scripts [J].
Banasik, Waclaw ;
Dziembowski, Stefan ;
Malinowski, Daniel .
COMPUTER SECURITY - ESORICS 2016, PT II, 2016, 9879 :261-280
[7]   NIZKs with an Untrusted CRS: Security in the Face of Parameter Subversion [J].
Bellare, Mihir ;
Fuchsbauer, Georg ;
Scafuro, Alessandra .
ADVANCES IN CRYPTOLOGY - ASIACRYPT 2016, PT II, 2016, 10032 :777-804
[8]  
Ben-Sasson E., 2017, LIBSNARK
[9]  
Ben-Sasson E, 2014, PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, P781
[10]   Secure Sampling of Public Parameters for Succinct Zero Knowledge Proofs [J].
Ben-Sasson, Eli ;
Chiesa, Alessandro ;
Green, Matthew ;
Tromer, Eran ;
Virza, Madars .
2015 IEEE SYMPOSIUM ON SECURITY AND PRIVACY SP 2015, 2015, :287-304