KOSPubKey is needed for the ability to check that a BLS public key includes a proof of "Knowledge of Secret" to stop rouge key attacks. This could be done through an IsValid function with #102 though.
For AggregatableSignature we definitely need some way to scale and add signatures, but the multisignature verification function doesn't necessarily need to be attached to the signature itself.
I think this interface should be decided through an ADR on tendermint/tendermint, where we can discuss / comment on that, and be made with Davros in mind. Feel free to open the same issue on tendermint though.
WIP #109 adds two new interfaces:
https://github.com/tendermint/go-crypto/blob/f2d45a438487bf0d052f3b567859234772395eca/signature.go#L86-L91
and
https://github.com/tendermint/go-crypto/blob/f2d45a438487bf0d052f3b567859234772395eca/pub_key.go#L153-L156
KOSPubKey is needed for the ability to check that a BLS public key includes a proof of "Knowledge of Secret" to stop rouge key attacks. This could be done through an
IsValid
function with #102 though.For AggregatableSignature we definitely need some way to scale and add signatures, but the multisignature verification function doesn't necessarily need to be attached to the signature itself.