diff --git a/packages/binary/drng/subtypes/collectiveBeacon/collective_beacon.go b/packages/binary/drng/subtypes/collectiveBeacon/collective_beacon.go index f5f3a560c0cae831d7e8f521000140a9e971c92d..3e5d8fa0a3867116cd634a96ea4bfd41a5f2d0cc 100644 --- a/packages/binary/drng/subtypes/collectiveBeacon/collective_beacon.go +++ b/packages/binary/drng/subtypes/collectiveBeacon/collective_beacon.go @@ -52,6 +52,14 @@ func VerifyCollectiveBeacon(state *state.State, data *events.CollectiveBeaconEve return errors.New("Distributed Public Key does not match") } + if data.Round <= state.Randomness().Round { + return errors.New("invalid Round") + } + + if data.InstanceID != state.Committee().InstanceID { + return errors.New("invalid instanceID") + } + if err := verifySignature(data); err != nil { return err }