pool
pool copied to clipboard
Node rating model
To start: very happy with Pool! It's great stuff.
It seems though, that Pool has a dependency on BOS, which over time has appeared to become imperfect:
- The list is very small. I believe more than 1.7% (246/14585*100) of nodes are good peers. Why not publish a list of 2000 nodes, and have people/nodes/software decide a minimum score to act on (in Pool give a minimum score for example)
- Criteria are unclear. I believe the list criteria should become open. Earlier thoughts have been that if that was done, people could game the system. I do not believe that's bad, as long as criteria are good ("Oh no! Someone opened 10 channels with low fees to other well connected nodes!" is not something someone would be worried about :wink: ).
Bidders will want to choose:
- Nodes with high uptime. A sensor node will have to keep track of this, and this will make the list inherently non-reproducible. We should accept this. 1000 points for
- Nodes well-connected. Look at amount of channels, and connectivity to other top-50/100 nodes in last week's list.
- Fees, score for fees lower than (mean+20%)
- Nodes which are over n (90?) days old
- Nodes with a % of capacity of the network
- Nodes which are reachable over both tor and clearnet
Someone should take some time I think, with actual data from the network, and tune these parameters. Output of actual network data could also become variables in calculations (some score being [this node's mean rate] vs [network mean rate]).
An even better idea would be to change the complete model, where one would only get some input (sensor data) from a monitoring node (uptime) and calculate the rest itself. People would use the default model, but would also be able to tune to their liking (some might want more decentralized nodes, not valuing connectivity-to-top15% so high).
Bottom line: I believe the rating model should be more open, and node owners should be able to decide how they rank peers. Lightning Labs could publish an interactive dashboard where node owners could do their calculations, and change their behavior in a way the network likes. Changes to the model ("node age is much more important!", "ipv4 is not worth 50k points but 30k!") would be done in a git repo.
Working on giving more insights into this, and improve the scoring system! Stay tuned 👀
Seems like we're not relying specifically on BOS anymore (it's no longer updated since 2022-01-20).
The rest of the issue still looks just as relevant as before, though?
Pool does rely on the same list that Terminal Web (terminal.lightning.engineering) depends on. There is a bit more information about how to improve your node score available on said page. And a node that doesn't get a score value (e.g. doesn't pass all 6 health checks) will still show up on the list and improvement suggestions are displayed.
I know that doesn't answer all your all your questions/concerns, but should at least address some of them.