From f8d9246cdc2d7812e5afc9f947410e8b7d4e63e2 Mon Sep 17 00:00:00 2001 From: Yilun Date: Tue, 6 Jan 2026 01:41:05 +0800 Subject: [PATCH] use all neighbors for gossip Signed-off-by: Yilun --- lnode/neighbor.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lnode/neighbor.go b/lnode/neighbor.go index efb738d09..bcec26052 100644 --- a/lnode/neighbor.go +++ b/lnode/neighbor.go @@ -4,7 +4,6 @@ import ( "bytes" "errors" "fmt" - pbnode "github.com/nknorg/nnet/protobuf/node" "math" "math/rand" "net" @@ -12,6 +11,8 @@ import ( "sync" "time" + pbnode "github.com/nknorg/nnet/protobuf/node" + "github.com/nknorg/nkn/v2/chain" "github.com/nknorg/nkn/v2/config" "github.com/nknorg/nkn/v2/crypto" @@ -305,7 +306,9 @@ func (localNode *LocalNode) getSampledNeighbors(rn *randomNeighbors, chordNeighb } func (localNode *LocalNode) GetGossipNeighbors(filter func(*node.RemoteNode) bool) []*node.RemoteNode { - return localNode.getSampledNeighbors(localNode.gossipNeighbors, config.GossipSampleChordNeighbor, config.GossipMinChordNeighbor, filter) + // we use all neighbors for gossip to minimize the chance of block proposal not propagating to all nodes when the majority of the network is falling behind + return localNode.GetNeighbors(filter) + // return localNode.getSampledNeighbors(localNode.gossipNeighbors, config.GossipSampleChordNeighbor, config.GossipMinChordNeighbor, filter) } func (localNode *LocalNode) GetVotingNeighbors(filter func(*node.RemoteNode) bool) []*node.RemoteNode {