Divide peers into three categories and apply proper limitation to them #2867
Labels
C. Network Communication
An issue which is related to network communication
Milestone
Currently, our only check for our peers is as follow:
agora/source/agora/network/Manager.d
Lines 84 to 88 in 14459dd
However, this check is incorrect: First, any node configured as a
validator
will have a public key, regardless of its enrollment status:agora/source/agora/node/Validator.d
Lines 337 to 341 in 14459dd
What we should do is check for the
utxo
not beingHash.init
, and compare this against theLedger
.However, that would only leave us with two kinds of peers: full nodes and validators. The list of validators is not very stable by definition, and we've been moving towards using the presence of a stake as a criteria, rather than the enrollment itself, e.g. #2859
The same should probably be done for the network manager, so that it can differentiate nodes with identities and nodes without.
The text was updated successfully, but these errors were encountered: