List of full nodes - who and why do you keep them?

It is known that a validating node should run a TTL node aka the blockchain DB should be small because a smaller DB is much more efficient. It was observed that a full DB can take over 5 minutes to start a node which has negative impacts on upgrades and every time you have to restart the node (maintenance, OS or node updates, crashes etc.).

So my questions are:

  • How is it guaranteed that there are enough full nodes running?
  • Who is doing so?
  • And why?

Currently there is no incentive, the opposite is true: following the recommendations you would need a separate machine for that, not a validating node.

Looking at https://cnm.casperlabs.io/network/casper/detail and sorting the “Low Block” and “Reactore State” columns I see:

  • 9 are in “KeepUp” → those are probably full nodes
  • 11 are in “Validate” → that are validators and should be TTL already

I didn’t check whom those nodes belong to or if they are run by the same node operator which would make it worse because if the node operators is switching off lights it will maybe also switch off 2 or more nodes reducing the number of full nodes even more.

I’m aware that not all nodes are included in this tool but I would say the majority without checking all numbers in detail.

I know that @sacherjj said that Casper Labs will run full nodes and I think MAKE as well (@michaelsteuer) but since it was recently announced (or emphasized) that Casper Labs is just a 3rd party this looks pretty risky to me.

What are the plans to enhance this situation? Are any incentives planned?

Thanks for flaggin this @Stakepire - I know that MAKE and Casper (Association) as well as some individuals run full nodes, but you’re right - there is currently no “full node incentive program”.
We also have processes that create full node mainnet db backups on a nightly basis, that make restoring a full node and joining the network a process of a couple hours tops.

But coming up with something more programmatic is definitely something to consider!

To clarify:
My main point is not that there are no incentives to run a full node.

My main point is that the whole network exists on ~20, maybe 30 nodes only.

If this is good or normal and nothing to worry… ok, but I think this is a very low number, isn’t it?

Thanks for raising this. I’ve been running a full node voluntarily/independently, taking it as a responsibility as a Mainnet validator.

About your point of “if we have enough full nodes” → If we have 30 full nodes, I think it’s a good ratio (30% of the validating nodes).

I would also like to emphasize the incentive side of it. The hope is that there would be enough projects building on Casper who are running their full nodes at some point. But we are not there yet, so might be good to have something to incentivize this. (Not talking strictly about direct monetary incentives.)

2 Likes