Paper 2021/1577
SNARKBlock: Federated Anonymous Blocklisting from Hidden Common Input Aggregate Proofs
Michael Rosenberg, Mary Maller, and Ian Miers
Abstract
Moderation is an essential tool to fight harassment and prevent spam. The use of strong user identities makes moderation easier, but trends towards strong identity pose serious privacy issues, especially when identities are linked across social media platforms. Zero-knowledge blocklists allow cross-platform blocking of users but, counter-intuitively, do not link users identities inter- or intra-platform, or to the fact they were blocked. Unfortunately, existing approaches (Tsang et al. '10), require that servers do work linear in the size of the blocklist for each verification of a non-membership proof. We design and implement SNARKBlock, a new protocol for zero-knowledge blocklisting with server-side verification that is logarithmic in the size of the blocklist. SnarkBlock is also the first approach to support ad-hoc, federated blocklisting: websites can mix and match their own blocklists from other blocklists and dynamically choose which identity providers they trust. Our core technical advance, of separate interest, is $\mathsf{HICIAP}$, a zero-knowledge proof that aggregates $n$ Groth16 proofs into one $O(\log n)$-sized proof which also shows that the input proofs share a common hidden input.
Note: Uploaded extended version
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Published elsewhere. Major revision. IEEE S&P 2022
- Keywords
- blocklistinganonymityzero-knowledgeanti-abuseimplementation
- Contact author(s)
-
micro @ umd edu
mary maller @ ethereum org
imiers @ umd edu - History
- 2022-02-24: last of 2 revisions
- 2021-12-03: received
- See all versions
- Short URL
- https://ia.cr/2021/1577
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2021/1577, author = {Michael Rosenberg and Mary Maller and Ian Miers}, title = {{SNARKBlock}: Federated Anonymous Blocklisting from Hidden Common Input Aggregate Proofs}, howpublished = {Cryptology {ePrint} Archive, Paper 2021/1577}, year = {2021}, url = {https://eprint.iacr.org/2021/1577} }