Bitcoin Forum
June 21, 2024, 11:15:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: What good is a "network only" Node?  (Read 1228 times)
cypherblock (OP)
Jr. Member
*
Offline Offline

Activity: 43
Merit: 1


View Profile
January 08, 2016, 11:04:39 PM
 #1

Lots of people are running full nodes that are not used for mining, not using a bitcoin core wallet with it, and not using an SPV wallet linked directly to that node. In other words it is a network node (is there another name for this?) that validates transactions and validates blocks, and interacts with other network and non-network nodes.

Are these needed? How do they improve overall security of bitcoin?  I'm really asking here, not really sure one way or the other what effect they have.

If we had no network nodes and only mining nodes and nodes directly connected to wallets would bitcoin be less safe, more safe or the same? Like we might end up with just 100 nodes or something (1 for each large mining pool, a few for the large bitcoin service providers like coinbase, etc, and a bunch for people using their nodes with the bitcoin core wallet, and a handful of SPV users. Maybe 100 is a bit too small a number (what would the number be?).

achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3430
Merit: 6720


Just writing some code


View Profile WWW
January 08, 2016, 11:14:46 PM
 #2

Lots of people are running full nodes that are not used for mining, not using a bitcoin core wallet with it, and not using an SPV wallet linked directly to that node. In other words it is a network node (is there another name for this?) that validates transactions and validates blocks, and interacts with other network and non-network nodes.

Are these needed? How do they improve overall security of bitcoin?  I'm really asking here, not really sure one way or the other what effect they have.
Those nodes further verify and validate transactions and blocks. It reduces the likelihood of a few people colluding and spreading around bad blocks and invalid transactions. Also, they do verifying and validating of the blocks that miners produce since a lot of miners don't actually run full nodes, they use SPV mining which does not validate the blocks. Supposedly SPV mining is faster and reduces orphan blocks.

If we had no network nodes and only mining nodes and nodes directly connected to wallets would bitcoin be less safe, more safe or the same? Like we might end up with just 100 nodes or something (1 for each large mining pool, a few for the large bitcoin service providers like coinbase, etc, and a bunch for people using their nodes with the bitcoin core wallet, and a handful of SPV users. Maybe 100 is a bit too small a number (what would the number be?).
It would be less safe. Less nodes means that a few individuals could collude and force the blockchain to go in a certain manner. They could introduce checkpoints that essentially fork the blockchain, and SPV nodes would have to follow them and trust that they are correct, even though they may not be. More nodes reduces the likelihood of that. More nodes are also a lot harder to DDoS. If an attacker were to DDoS a network with only a few nodes, he could do a lot of damage and essentially shut the whole thing down. With more nodes spread out over the earth, it becomes much harder to do that. More nodes everywhere also prevents governments from being able to seize nodes and shutdown the network as they will be people operating nodes outside of those governments jurisdictions.

cypherblock (OP)
Jr. Member
*
Offline Offline

Activity: 43
Merit: 1


View Profile
January 08, 2016, 11:45:42 PM
 #3

and SPV nodes would have to follow them and trust that they are correct, even though they may not be.

But there are no SPV "nodes" in this scenario. There are SPV wallets connected to a full node (and lets assume it is one they trust or have some control over for now), there are mining full nodes, and there wallets with nodes running on same machine.

Quote from: knightdk
..spreading around bad blocks and invalid transactions

But any full node (mining, wallet node) then would reject it.

Anyway I don't really doubt you are correct. This has always been my assumption and part of why I run a full network node myself. However I see things like https://twitter.com/adam3us/status/683678942398644224 and it makes me wonder (note: vps nodes worth zero), whether my assumption is flawed.

Maybe you could point me to some more info on how the checkpoints and forking issues you mentioned. Have there been any simulations done for this, or detailed write-ups on the exploits? On the one hand, yes it seems fairly obvious that full nodes improve security. On the other hand if everyone with a wallet is already directly connected to a full node, then it is less clear how the exploits progress.

Quote
More nodes are also a lot harder to DDoS

This part makes sense. As well as your comments about the government shutdown.

Maybe a more technical way of phrasing the question is: what is the minimum number of network nodes needed to protect against current known attacks?
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3430
Merit: 6720


Just writing some code


View Profile WWW
January 09, 2016, 12:07:19 AM
 #4

Quote from: knightdk
..spreading around bad blocks and invalid transactions

But any full node (mining, wallet node) then would reject it.
Not if those full nodes were running software that was not in line with the consensus of all of the users. Those node operators could be in consensus, but they may not be in consensus with users, so they could force Bitcoin to go in one direction and any SPV wallet users (pretty much everyone else) would have to follow or start running their own full nodes.

Anyway I don't really doubt you are correct. This has always been my assumption and part of why I run a full network node myself. However I see things like https://twitter.com/adam3us/status/683678942398644224 and it makes me wonder (note: vps nodes worth zero), whether my assumption is flawed.
The problem with VPS nodes is that they aren't all that decentralized. With nodes in homes, it spreads out the node distribution. On the other hand, VPS nodes are hosted in data centers. If something were to happen to a data center, all of the nodes there would go out at once. This is about as useful as one node since there is essentially one point of failure for many nodes. Those nodes are also susceptible to the actual server owners taking them down.

Maybe you could point me to some more info on how the checkpoints and forking issues you mentioned. Have there been any simulations done for this, or detailed write-ups on the exploits?
No, I don't have any info on those issues. Basically if enough nodes ran a certain software that used certain checkpoints, then they could fork the blockchain and force a shorter chain to continue to grow. It would ignore the longest chain rule. Should both chains continue to survive, there could be some very problematic issues that arise, including double spends and long confirmation times. In the case of a fork, it may not be good to assume that a confirmed transaction is truly non-reversible.

On the one hand, yes it seems fairly obvious that full nodes improve security. On the other hand if everyone with a wallet is already directly connected to a full node, then it is less clear how the exploits progress.
Everyone connected to that full node with an SPV wallet is trusting that node. They are trusting that that node is giving the correct information. That one full node could, in theory, change its consensus rules and force everyone relying on it onto an alternate blockchain that that person controls and can do whatever he wants with.

Jet Cash
Legendary
*
Offline Offline

Activity: 2744
Merit: 2462


https://JetCash.com


View Profile WWW
January 09, 2016, 06:27:07 AM
 #5

I think users running full nodes should be given some sort of small reward for maintaining the integrity of the network. This would increase the number of full nodes, and make the Bitcoin network more secure. Maybe the transaction fees could be taken away from the SPV miners and shared between the nodes (who are doing the verification work).

Offgrid campers allow you to enjoy life and preserve your health and wealth.
Save old Cars - my project to save old cars from scrapage schemes, and to reduce the sale of new cars.
My new Bitcoin transfer address is - bc1q9gtz8e40en6glgxwk4eujuau2fk5wxrprs6fys
cypherblock (OP)
Jr. Member
*
Offline Offline

Activity: 43
Merit: 1


View Profile
January 09, 2016, 03:51:58 PM
 #6

Everyone connected to that full node with an SPV wallet is trusting that node. They are trusting that that node is giving the correct information.

Yes I don't dispute this. But what is unclear is if adding additional "network only" nodes (is "relay nodes" a better term?) improves that situation.

For example how do SPV wallets determine what nodes they get information from? Do they always connect to the same one? Is it random and they get messages from many nodes (from the whole network??)? If they get messages from many nodes then having more network nodes (and assuming the majority are honest nodes) somewhat increases the security of SPV wallets.

If you have more info on how SPV wallets get their info (typically from one node or whole network?) then that might help. I'm not that familiar with SPV wallet protocol.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3430
Merit: 6720


Just writing some code


View Profile WWW
January 09, 2016, 04:56:20 PM
 #7

Everyone connected to that full node with an SPV wallet is trusting that node. They are trusting that that node is giving the correct information.

Yes I don't dispute this. But what is unclear is if adding additional "network only" nodes (is "relay nodes" a better term?) improves that situation.

For example how do SPV wallets determine what nodes they get information from? Do they always connect to the same one? Is it random and they get messages from many nodes (from the whole network??)? If they get messages from many nodes then having more network nodes (and assuming the majority are honest nodes) somewhat increases the security of SPV wallets.

If you have more info on how SPV wallets get their info (typically from one node or whole network?) then that might help. I'm not that familiar with SPV wallet protocol.
It depends on the SPV wallet as they use different methods of getting their data. Most of them will connect directly to nodes just as a normal full node does, except they don't relay, store, or validate blocks and transactions. These nodes will connect to the network like a full node, so their connections are not always the same and having a diversity of nodes makes it more secure as it is less likely that all of its connections are colluding to provide false information.

belcher
Sr. Member
****
Offline Offline

Activity: 261
Merit: 521


View Profile
January 11, 2016, 06:04:54 PM
 #8

More of these network nodes help bootstrap new nodes by uploading the blockchain to them.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
indstove
Newbie
*
Offline Offline

Activity: 33
Merit: 0


View Profile
January 12, 2016, 12:49:10 PM
 #9

The network is much healthy when there are more number of nodes. Nodes make the network healthier in reverse.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!