give some score weight to the messages topic

This commit is contained in:
vyzo 2020-08-26 15:14:15 +03:00
parent 87e6c0973a
commit bedbdcaf13

View File

@ -126,7 +126,7 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) {
Topics: map[string]*pubsub.TopicScoreParams{ Topics: map[string]*pubsub.TopicScoreParams{
drandTopic: { drandTopic: {
// expected 2 beaconsn/min // expected 2 beaconsn/min
TopicWeight: 0.5, // 5x block topic TopicWeight: 0.5, // 5x block topic; max cap is 62.5
// 1 tick per second, maxes at 1 after 1 hour // 1 tick per second, maxes at 1 after 1 hour
TimeInMeshWeight: 0.00027, // ~1/3600 TimeInMeshWeight: 0.00027, // ~1/3600
@ -154,7 +154,7 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) {
}, },
build.BlocksTopic(in.Nn): { build.BlocksTopic(in.Nn): {
// expected 10 blocks/min // expected 10 blocks/min
TopicWeight: 0.1, // max is 50, max mesh penalty is -10, single invalid message is -100 TopicWeight: 0.1, // max cap is 50, max mesh penalty is -10, single invalid message is -100
// 1 tick per second, maxes at 1 after 1 hour // 1 tick per second, maxes at 1 after 1 hour
TimeInMeshWeight: 0.00027, // ~1/3600 TimeInMeshWeight: 0.00027, // ~1/3600
@ -195,18 +195,17 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) {
}, },
build.MessagesTopic(in.Nn): { build.MessagesTopic(in.Nn): {
// expected > 1 tx/second // expected > 1 tx/second
TopicWeight: 0.05, // max is 25, max mesh penalty is -5, single invalid message is -100 TopicWeight: 0.1, // max cap is 5, single invalid message is -100
// 1 tick per second, maxes at 1 hour // 1 tick per second, maxes at 1 hour
TimeInMeshWeight: 0.0002778, // ~1/3600 TimeInMeshWeight: 0.0002778, // ~1/3600
TimeInMeshQuantum: time.Second, TimeInMeshQuantum: time.Second,
TimeInMeshCap: 1, TimeInMeshCap: 1,
// deliveries decay after 10min, cap at 1000 tx // deliveries decay after 10min, cap at 100 tx
FirstMessageDeliveriesWeight: 0.5, // max value is 500 FirstMessageDeliveriesWeight: 0.5, // max value is 50
FirstMessageDeliveriesDecay: pubsub.ScoreParameterDecay(10 * time.Minute), FirstMessageDeliveriesDecay: pubsub.ScoreParameterDecay(10 * time.Minute),
//FirstMessageDeliveriesCap: 1000, FirstMessageDeliveriesCap: 100, // 100 messages in 10 minutes
FirstMessageDeliveriesCap: 1, // we can't yet properly validate them so only confer a tiny boost from delivery
// Mesh Delivery Failure is currently turned off for messages // Mesh Delivery Failure is currently turned off for messages
// This is on purpose as the network is still too small, which results in // This is on purpose as the network is still too small, which results in
@ -225,7 +224,7 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) {
// MeshFailurePenaltyDecay: pubsub.ScoreParameterDecay(5 * time.Minute), // MeshFailurePenaltyDecay: pubsub.ScoreParameterDecay(5 * time.Minute),
// invalid messages decay after 1 hour // invalid messages decay after 1 hour
InvalidMessageDeliveriesWeight: -2000, InvalidMessageDeliveriesWeight: -1000,
InvalidMessageDeliveriesDecay: pubsub.ScoreParameterDecay(time.Hour), InvalidMessageDeliveriesDecay: pubsub.ScoreParameterDecay(time.Hour),
}, },
}, },