private-attribution / ipa

A raw implementation of Interoperable Private Attribution
MIT License
41 stars 23 forks source link

Adapt `Downgrade` to new malicious API #1222

Open akoshelev opened 1 month ago

akoshelev commented 1 month ago

After #1213 and #1218 the original purpose of Downgrade trait can no longer be satisfied. It was part of the validate API, allowing to go from malicious to semi-honest setting right after validate in one go.

With validate_record API, it does not seem to be applicable in all cases anymore. Some protocols want to validate and then call reveal (prf_eval), but others may want to validate and get the semi-honest share back. Given that validate_record cannot operate on a batch, the shape of Downgrade trait needs to change.

I don't have a good proposal yet, maybe we can wait until we actually have a need to downgrade (OPRF IPA doesn't need that as of today) and then decide what to do