Now, we have essentially 10 big mining pools that are the sole authors of the bitcoin block chain. How many copies of that chain do we need to serve, all over the world, in order for me to be able to verify the authenticity (that a piece of it I download, is of the real block chain out there made by these 10 mining pools) ? I would think that a few tens of copies that are publicly available are good enough. That my neighbour cannot have a server in his basement, is, just like before, no problem.
I can easily check, from the moment that I have access to any public repository of the entire block chain, that the small piece I need, is authentic, that is, belongs to the sole and unique chain that is out there, made by these 10 mining pools, like I could verify that the document I downloaded was cryptographically signed by one of the 10 authors of these documents.
(...)
And nothing is gained by having thousands and thousands of identical copies ; if, in order to have those thousands and thousands of identical copies everywhere, we cripple the system, we're totally out of our minds.
I vaguely, sort of, kinda see your point, but the simple fact remains that thousands of copies is more resistant to regulatory shutdown than 10. Thousands of copies is more resistant to bribery and corruption than 10. Thousands of copies is more resistant to any other kind of collusion, manipulation or attack than 10.
The point is that you cannot lie. You cannot present a FAKE block chain. The only thing needed for that, is checking the chain of block
headers. There's no way you can invent a fake chain of block headers. Of course, every participant (as Satoshi said) should download the full chain of block headers. That chain is, well, a chain, and it contains the proof of work.
It is very small. You can also find the most up-to-date block header the mining pools are working on, so you can verify that this is the genuine chain they are working on.
That is not a lot of data, and independent of the block size.
Once you have the header chain, and hence, the proof of work, you can verify the authenticity of every single transaction if one gives you:
1) the transaction
2) in what block it is
3) the path of the Merkle tree in that block to that transaction
That is what a light wallet does. If you want to know whether someone paid you (which is the ONLY thing you want to know: do you possess a coin ? and did your transaction to someone else is part of the chain ?), you only need the proof that the transaction to your address is incorporated in the chain. You don't care about all the rest. You want the cryptographic proof that the few transactions that you are concerned with, are in the sole chain out there. That's all.
Strength in numbers and such. The more distributed it is, the stronger it is. We'd be totally out of our minds if we trusted such a small number of people to remain honest when the incentives to be dishonest become inexorably more profitable over time.
That's another matter. If you want to *find out* whether the mining pools are following the rules, you need indeed, to check everything. But the only thing you can do is to find that out. You can't do anything about it: they came to consensus, they decided what the block chain is.
I'm repeating what I wrote in an earlier post:
https://bitcointalksearch.org/topic/m.28591086 somewhat higher up in this thread.
TL;DR: the miner pools are kept in check, not because thousands of Joe's verify independently in their basement their "signature", but rather by the market, and by one another. The miners invested a lot in their mining equipment, and are rewarded in coins, from which they have to get economic value in the market to pay their bills with. They want to play by the rules, because the market would crash if they didn't. Even if there was only one single miner out there, making the block chain all by himself. He would still apply the rules. Or his coins wouldn't be worth zilch.
Of course, some people have to check. There needs to be a whistleblower to find out that the entire miner consensus decided to fail on the rules. But only one whistleblower is enough.
Not every Joe is reading the Core code in his bed, to verify independently whether the Core code implements what is said about Bitcoin's rules. In the same way, not every Joe needs to check the validity of the mining consensus (.... with the Core code he didn't read, and got from a single repository !).
The contrast is here in the high amount of centralization of the code, and the relatively high amount of centralization of the proof of work (mining pools), which are the TRUE power elements in bitcoin's system; but one insists on the "decentralization of holding a copy of the sole document" in such a way that it becomes a technical burden. This is a contradiction. There's no more reason to have thousands of copies of the block chain, but only a few repositories of the code ; there's no reason to require thousands of independent verifications of the block chain by that code, but not thousands of people verifying the code itself. All this is hugely contradictory in its requirements.
If you can trust a single, centralized code depository (github) and the few signatures of the contributors ; if you know that the entire block chain is produced by just 10 mining pools with such an amount of proof of work that nobody can do anything else, but then you introduce technical limitations because of the "need" to keep thousands of copies in all basements, that doesn't make much sense to me.