Paper 2024/1260
zk-Promises: Making Zero-Knowledge Objects Accept the Call for Banning and Reputation
Abstract
Privacy preserving systems often need to allow anonymity while requiring accountability. For anonymous clients, depending on application, this may mean banning/revoking their accounts, docking their reputation, or updating their state in some complex access control scheme. Frequently, these operations happen asynchronously when some violation, e.g., a forum post, is found well after the offending action occurred. Malicious clients, naturally, wish to evade this asynchronous negative feedback. Considering privacy-preserving analogues of modern access control and reputation schemes raises a more fundamental technical challenge with far broader applications: how do we allow multiple parties to interact with private state stored by an anonymous client while ensuring state integrity and supporting oblivious updates? We propose zk-promises, a framework which supports Turing-complete state machines with arbitrary asynchronous callbacks. In zk-promises, client state is stored in a zk-object. Updates to the zk-object, represented as a cryptographic commitment to the new, modified object, require a zkSNARK that ensures integrity and atomicity while providing confidentiality. Clients can modify and prove their state by calling valid methods (e.g, to show they are authorized to post) and can give callbacks to third parties (e.g., to later hold them accountable). Through careful protocol design, we ensure clients who advance their state-machine are forced to ingest callbacks that are called by a third party. zk-promises allows us to build a privacy-preserving account model. State that would normally be stored on a trusted server can be privately outsourced to the client while preserving the server's ability to update the account. To demonstrate the feasibility of our approach, we build an anonymous reputation system with better than state-of-the-art performance and features, supporting asynchronous reputation updates, banning, and reputation-dependent rate limiting to better protect against Sybil attacks.
Metadata
- Available format(s)
- Category
- Applications
- Publication info
- Preprint.
- Contact author(s)
-
maurices @ umd edu
micro @ umd edu
harikeshkailad @ gmail com
imiers @ umd edu - History
- 2024-08-12: last of 2 revisions
- 2024-08-08: received
- See all versions
- Short URL
- https://ia.cr/2024/1260
- License
-
CC BY-NC-ND
BibTeX
@misc{cryptoeprint:2024/1260, author = {Maurice Shih and Michael Rosenberg and Hari Kailad and Ian Miers}, title = {zk-Promises: Making Zero-Knowledge Objects Accept the Call for Banning and Reputation}, howpublished = {Cryptology {ePrint} Archive, Paper 2024/1260}, year = {2024}, url = {https://eprint.iacr.org/2024/1260} }