Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: takuma sato on September 20, 2022, 07:02:05 PM



Title: Minimum treshhold of full nodes required for good network health
Post by: takuma sato on September 20, 2022, 07:02:05 PM
I was looking at the way pruning works and I wondered what would happen if less and less people found and incentive to run full nodes. Sure, you need to download the full blockchain at least once, but pruning disincentives that you dedicate all these GBs of data into storing blockchain files which many people would feel tempted to just delete and fill with Steam games, music libraries, movies... so at some point I wondered: how many full nodes (non pruned) is it considered to be the minimum threshold for the network to remain safe from disappearing?
I also wonder how many full copies of the blockchain exist online that get update every once in a while, kind of similar to wayback machine caching webpages every x time. Im hoping there's people out there doing this in case some sort of apocalypse scenario happens where all of a sudden a ton of copies are lost and it would be needed to resort to the most up to date backups possible. If all nodes went offline, and people offline backups of the blockchain at different times, how it would a consensus be reached to continue adding blocks be formed?
I also realized it wouldn't be a simple number of an amount of nodes, but how widespread they are and belonging to different parties.


Title: Re: Minimum treshhold of full nodes required for good network health
Post by: jackg on September 20, 2022, 11:03:48 PM
If all the seed nodes went offline then the new nodes wouldn't be able to connect to the network as easily (they'd have to manually key in nodes to listen to from sites like bitnodes).

If a lot of nodes went offline all at once, a lot more would probably come on to replace them. There's likely more copies of the blockchain than there are accessible nodes too.

For the network to stop, miners would have to stop too and I think that's something that's not going to happen.

Someone on here said it cost $200 a month to run a full node that was cloud hosted, if a mining firm or a dev could sense extra throughput was needed for a short time, that's probably a smaller investment than $8/day which I don't think they'd mind spending.

Also there are jittery nodes that aren't quoted in the numbers on websites too. Ones that come and go from the network and ones that change their ip often enough to go a bit under the radar. These would probably be able to stay online at a fraction of the cost of a cloud instance (probably around 70 cents at most for the day).


Title: Re: Minimum treshhold of full nodes required for good network health
Post by: pooya87 on September 21, 2022, 03:46:56 AM
how many full nodes (non pruned) is it considered to be the minimum threshold for the network to remain safe from disappearing?
The network won't disappear as long as there is at least 1 node. The network will remain decentralized as long as nodes are run by independent individuals around the world (instead of in one jurisdiction).

The only problem I can think of with number of nodes is synchronization of new nodes. I don't think there is an exact number because it depends on both "supply and demand"!
For example if today all at once 1000 people decided to run 1000 nodes and sync from scratch, the network should be able to handle it since we have about 9600 listening nodes which those 1000 new nodes can connect to and download blocks. But if let's say 20,000 people decided to run 20,000 nodes all at once in one day the network can not handle it and things become very slow for those 20,000 nodes (not for the rest) trying to sync.

Quote
If all nodes went offline, and people offline backups of the blockchain at different times, how it would a consensus be reached to continue adding blocks be formed?
The same way we reach consensus right now. We all follow the valid chain with the most amount of work.


Title: Re: Minimum treshhold of full nodes required for good network health
Post by: BlackHatCoiner on September 21, 2022, 01:08:54 PM
Pruned nodes can't exist without non-pruned nodes by default. They're dependent on the latter. I don't believe there's any pruned node that advertises itself as having any blocks. The only thing they do relay is the chain tip, and the mempool[1]. While you do save up space, pruning comes with a significant disadvantage: Re-indexing requires re-syncing. Since a pruned node dumps the blocks, they can't re-index unless they re-download them and re-verify their validity.

There are enough reasons why one shall re-index at least once, from importing more than their main wallet to fixing corrupted database. Re-indexing without the blocks requires a lot of time. I don't know about you, but if I was a merchant I'd absolutely traded a few bucks for a 2TB drive, than have my business on hold for a week or put myself through an SPV, having my privacy essentially invaded. I'm sure there will always be non-pruned full nodes.

[1] https://bitcoin.stackexchange.com/a/63025/134811