What would you consider to be part of the economy that should be backed by a full node?
-snip-
As many people as possible should use their own independent full nodes --
certainly anyone who accepts transactions automatically.I would agree with the underlined portion.
However I am not so sure about most other users, especially those that are sending property prior to receiving Bitcoin. If I send a wire to coinbase to deposit to my account, buy Bitcoin on their exchange then withdraw to an address I generated on bitaddress then there is really no difference between coinbase sending me nothing and coinbase sending me an invalid transaction.
I've recently been thinking that it might be best for the vast majority of Bitcoin trade to move to dedicated hardware. End-users would have something like a Trezor, which would operate as a lightweight node with fraud proofs,
I would not call a light wallet to be a "full node". I also think that SPV wallets are so popular because of the near zero resources they use and the small amount of loss of security that is lost verses using a full node.
businesses, both online and in-person, would have dedicated Bitcoin-acceptance devices which would contain full nodes. This also helps a lot with the various security issues.
I think that running a full node at the point of sale would open up additional potential security issues, primarily the risk of a Sybil attack against the POS (point of sale). I think a better setup would be a business would have the POS display an address (and amount) to pay to, the customer pays, and a full node (or group of nodes) will report back to the POS that payment has been received. The node would be physically located away from the POS, making it more difficult for an attacker to be know the IP address of the node validating the transaction.
Other possibilities/ideas:
- Everyone runs a full node on all devices. This is possible with aggressive pruning.
I am not sure about this, more and more people are moving toward using things like IPads and phones as their
only "computer", which are not designed to handle the kind of work that nodes require.
I also don't think that the user who only transacts very infrequently and only receives Bitcoin after sending property will have very much interest in investing very much space on their computer to store the blockchain, and if pruning is too aggressive then users will find themselves needing to redownload the blockchain every time they open their node.
- Most people use lightweight wallets with fraud proofs,
I don't think that increasing the maximum block size will increase the cost of using a light client at all.
all merchants run independent full nodes. (Unfortunately, history has so far shown that businesses are even less likely to set up full nodes than end-users.)
It sounds like your answer to my question is that all merchants should be running a full node.
I am surprised by the underlined portion. I am not sure what would reverse this trend. I would argue that this might be an indication that cost is not a major motivating factor when deciding to run a full node as a merchant, so increasing the maximum block size (and this the cost of running a full node incrementally) might not cause the number of full nodes run by merchants to decline. I don't think full nodes run by non-merchants are going to do anything to prevent consensus rules from changing without consensus.
- Everyone has a dedicated Bitcoin "base station" device at home which acts as a full node and something like an Electrum server, and all of their wallets connect to this device.
This sounds very interesting. You should create node software that works this way. I wouldn't run a node at home though (I don't want my ISP knowing that I am using Bitcoin, which they will know, even if I am using tor), I would instead use a VPS.