opendp / smartnoise-core

Differential privacy validator and runtime
MIT License
289 stars 33 forks source link

Disallow multi-submission usage of private randomized components #268

Open Shoeboxam opened 4 years ago

Shoeboxam commented 4 years ago

Randomized components have a different value every time they are run. At this point, the only randomized private component is the even partition. Unfortunately, you can extend partitioned portions of the graph across multiple submissions. In this case, you may be expecting the same underlying partition, but since the even partition is private, it is not stored, and is thus recomputed every submission. This can lead you to unintentionally match up statistics from different random partitions, trashing results.

Alternatively, provide a way of caching the node. But to do node caching right, we'd ideally need to persist to the filesystem, because partitions are typically run before aggregation.