Concise UC Zero-Knowledge Proofs for Oblivious Updatable Databases
Jan L. Camenisch, Maria Dubovitskaya, Alfredo Rial · 2021
We propose an ideal functionalityFCDand a construction ΠCDfor oblivious and updatable committed databases.FCDallows a proverPto read, write, and update values in a database and to prove to a verifierVin zero-knowledge (ZK) that a value is read from or written into a certain position. The following properties must hold: (1) values stored in the database remain hidden fromV; (2) a value read from a certain position is equal to the value previously written into that position; (3) (obliviousness) both the value read or written and its position remain hidden fromV.ΠCDis based on vector commitments. After the initialization phase, the cost of read and write operations is independent of the database size, outperforming other techniques that achieve cost sublinear in the dataset size for prover and/or verifier. Therefore, our construction is especially appealing for large datasets. In existing “commit-and-prove” two-party protocols, the task of maintaining a committed database betweenPandVand reading and writing values into it is not separated from the task of proving statements about the values read or written.FCDallows us to improve modularity in protocol design by separating those tasks. In comparison to simply using a commitment scheme to maintain a committed database,FCDallowsPto hide efficiently the positions read or written fromV. Thanks to this property, we design protocols for e.g. privacy-preserving e-commerce and location-based services whereVgathers aggregate statistics about the statements thatPproves in ZK.