You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the fast_aggregate_verify returns true if the aggregate_public_key is an identity key because we don't run key_validate checks for the input public keys.
The IETF spec defines the behavior of FastAggregateVerify when the preconditions are met. But whether to check those preconditions are left for implementors to decide.
Here are some options:
In Eth2's test cases, the validation is expected. It might be safer if all the client teams implement the same behavior.
The nim-blscurve implements two versions, one with the check and one without.
The text was updated successfully, but these errors were encountered:
This is a good point. I think it is safe to not check these pre-conditions for fast_aggregate_verify().
This is because one of the pre-conditions is that the public key is verified by proof of possession before calling fast_aggregate_verify().
However since the check is so cheap it's beneficial to add it :)
I have prevented PublicKeys from being infinity by doing subgroup checks and infinity checks during deserialisation so this should no longer be an issue.
Hi Kirk,
Currently, the
fast_aggregate_verify
returnstrue
if theaggregate_public_key
is an identity key because we don't runkey_validate
checks for the input public keys.The IETF spec defines the behavior of FastAggregateVerify when the preconditions are met. But whether to check those preconditions are left for implementors to decide.
Here are some options:
The text was updated successfully, but these errors were encountered: