Follow-up from "Proto/validate: update sig check of DAL attestation with BLS key"
The following discussion from !17642 (merged) should be addressed:
-
@4dam started a discussion: (+1 comment) It seems that the
Dal_dependent_signingfunctions are specializations ofBls.aggregate_public_key_weighted_optandBls.aggregate_signature_weighted_optfor the specific casea * x + y. In this respect, it would make more sense to place them in the BLS module — for example, asBls.public_key_weighted_add_optandBls.signature_weighted_add_opt.Their implementations could be optimized for the case
a = 1, as you've already done, and might even benefit from using low-level primitives likeBls12_381.G2.addandBls12_381.G2.mul, if relevant.With these functions, the consensus/companion aggregation logic becomes more straightforward, and we can keep everything self-contained in validate, without needing to touch
dal_attestation_repr.ml.