Closed akoshelev closed 1 month ago
Attention: Patch coverage is 97.32143%
with 3 lines
in your changes missing coverage. Please review.
Project coverage is 92.68%. Comparing base (
c8f1788
) to head (eb1afc9
).
Files | Patch % | Lines |
---|---|---|
ipa-core/src/protocol/context/semi_honest.rs | 0.00% | 3 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
When working on vectorizing malicious shares, we noticed that the existing upgrade API does not work for vectorized shares. It either required contexts to be vectorization-aware which we tried to avoid up to this point, or a different mechanism to specify how upgrades occur for vectorized shares.
For example:
Replicated<F, N>
when upgraded, gets transformed toMaliciousReplicated<F, N>
and differentN
values, require different bounds on functions.That was a blocker for PRF evaluation upgrade and the solution we came up with was to introduce
Upgradable
trait.The functionality of this trait is very similar to
UpgradeToMalicious
andUpgrade
but upgrade now is bound explicitly toRecordId
. This optimizes for protocols readability. Malicious upgrades in tests had to find a way around this limitation, and it is a bit hacky. I don't think it is significantly different from what we've been doing before though.