The network will still be decentralized as many businesses will want to run a full node in order to be able to directly verify transactions.
Why? I've found it hard to convince people that full nodes offer additional security. (Indeed, I've found it hard to convince people that SPV clients provide more security than JS web wallets).
Doubly so because the inflationary threat running full nodes is most uniquely suited to fighting is generally not that relevant to businesses. We do not see businesses standing up to fight fiat inflation. Generally businesses care more about differential advantages with their competition, can avoid fixing contract prices in inflation resistant terms, and can afford the resources to invest away (self or otherwise) inflation risks.
In some ways I'd expect businesses to prefer running SPV nodes that get blocks from a single source which cryptographically signs them. The security model is more traditional and thus easier to understand, it completely closes some kinds of risks, and gives them someone to sue if things go wrong (except when the wrongness is produced by a state level threat, but see above). Today we see businesses very frequently depending on parties like bitinstant for their whole transaction processing needs, a step even further towards centralization end of the spectrum then SPV with signed blocks.
Decentralization is hard and it's costly. Anyone who believe it will be easily retained in Bitcoin if Bitcoin grows is fooling themselves.
My answers have been short as I've been writing on a phone, but I've fired up a laptop to answer this one.
I believe we'll see a huge expansion of off-chain payments as opposed to on-chain transactions. There are two advantages: instant payments, and scalable micropayments. Privacy can also be an added advantage with decentralized off-chain payments as they don't hit the blockchain. How decentralized we can make the off-chain payment solution determines how many intermediaries there will be. I believe most intermediaries will want to have a full node for a number of reasons (verify inflation, fully verify transactions, and get routing/reputation data from the blockchain), and will be able to fund running one with fees they earn by passing payments. My signature has a link to my own (badly-written, for now) proof-of-concept of one such scheme, and I'm (slowly) working on bringing it closer to alpha.
I think the number of full nodes that will eventually be running will be determined by necessity and funding. The more applications we can invent which require a decentralized payment network, the more such intermediaries will both need to run a full node and be able to afford it. These applications are precisely why I'm writing libtxchain-java. Some examples are:
- Virtual meshnet ISPs (ISP runs intermediary, independently-owned WAPs contract with multiple ISPs to route traffic for them, client has contract with one or more ISPs, payments chain from client to ISP to WAP)
- Peer-to-peer networks which use Bitcoin micropayments for resource allocation, especially for scientific computing (first node to find a lower potential energy configuration than currently known for amino acid sequence X gets a payment, rinse, repeat, and your protein is folded without investment in infrastructure)
To answer your questions more specifically:
- Full validation will be important to off-chain payment intermediaries for self-defense against malicious input by peers in contract setup/teardown
- Access to the full blockchain will give such intermediaries the opportunity to gain differential advantage in being able to identify potentially profitable nodes with which to peer and potentially risky nodes with which to avoid peering
Yes I think this is a fair point. I have not studied the network side of Bitcoin much - is there any way to know how many full nodes are running at any one time?
There are some attempts at estimating this number, but all vary in accuracy. Here's one:
http://bitcoinstatus.rowit.co.uk/Luke-Jr also had a page that showed number of nodes by version, but I forgot where it is exactly.