nymtech / nym

Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.
https://nymtech.net
1.25k stars 231 forks source link

Pull the network-monitor routes out of the validator #395

Open futurechimp opened 3 years ago

futurechimp commented 3 years ago

At the moment we've been using the network monitor to find out what nodes are functional, and send the info the directory servers (in 0.9.x, the validators). But there is a different way to think about it. Is it really useful to check on one distributed system using the network monitor, and then shoot the results of what it finds out at one node of a different distributed system (the validators), but then not put the result in the blockchain?

Something feels wrong about this.

The network monitor could in fact be its own standalone piece of functionality which checks on whether packets make it through the system, writes the result to a database (we're using SQLite in the validator right now), and then presents the info via both REST API and an HTML interface. Anyone might run it to make their staking decisions, or provide a guide as to the honesty of validators.

We should consider taking the mixmining section out of the validator /directory code and just building it into the network-monitor as database + REST API built in Rocket.

jstuczyn commented 3 years ago

While I like the idea and agree with it, I think a prerequisite to this would be to remove hardcoded "good" nodes from the network monitor in favour of choosing couple of nodes with highest reputation.

futurechimp commented 3 years ago

I think that's also a good one, but it's a separate issue. I don't see any dependencies between them, both are good (and could be implemented independently of each other).