I've been thinking about "weak subjectivity" lately as a method of securing blockchains, after Vitalik started advocating it as a good form of consensus. It embraces a different security model than Bitcoin, requiring more trust. The Bitcoin wizards are very skeptical of this, saying the security model basically boils down to "just ask coinbase which chain is the real one." However it seems to me that in practice, weak subjectivity might end up approximating full trustlessness very closely. My argument is below. I'm very interested in getting critiques about how specifically this model is likely to be attacked.
For anyone not familiar with weak subjectivity, see Vitalik's explanation at
https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/The tl:dr version is that in this system, if you're not online for some period of time, say 4 months, you need to get a blockchain checkpoint from other people, because you won't be able to tell which one is valid on your own. For anyone who has been online since the genesis block, they don't need to trust anyone. Also, once you do get a checkpoint, you don't need to trust people further going forward (beyond your continued trust that you got the right checkpoint), unless you go offline for > 4 months in the future and come back. Given this, all new nodes need to use trust to get an initial checkpoint.
So the obvious argument against this is: "if new or returning nodes have to ask coinbase what the correct chain is, why don't we just use a fully centralized system operated by coinbase?"
However, it seems that no one who actually cares about security would put their trust in one entity, instead you'd want to ask a lot of entities which chain is correct. Let's imagine in the future Bitcoin has switched to a weak subjective security model, and I'm coming online after 4 months away. Here's who I would ask about the correct chain:
Peter Todd, Gavin Andressen, the Darkwallet guys, Coinbase, my friend who I used to work with who operates a full Bitcoin node, Bitstamp, the Electronic Frontier Foundation, Julian Assange, Greg Maxwell, Mike Hearn, Bram Cohen, Paul Sztorc, Nick Szabo, Robert Sams, Adam Back, Matthew Green, Andrew Miller, Richard Gendal Brown, Bilaji Srinivasan, Naval Ravikant.
So that's 20 entities who I think would (a) have an opinion on which chain is real, and (b) be fairly likely to give me an honest answer.
Let's assume I ask all of these 20 sources, and they all tell me the same chain is the legit one. In that case, what should I think is the probability that they are all giving me the same wrong information? Since I have to trust them, there's some chance that they're all wrong. But under what realistic circumstances could this happen? And is that really significantly more likely than some hacker having taken over my computer in the current Bitcoin world, and feeding me info about about a false chain?
The general idea is that similar to how zero-knowledge proofs work (where you can keep asking questions until the probability that the proover doesn't have a real solution is arbitrarily small), in a world of weak subjectivity I can keep asking different sources and investigating their trustworthiness until the probability that they're all lying to me is extremely small (The analogy isn't perfect because people lying to me about checkpoints aren't fully independent events). Because anyone can run a full node, there's not some easy set of people for governments or other censors to go after if they want to suppress info about the real chain.
My intuition though is that asking the 20 sources above is millions of times less likely to result in me getting a wrong checkpoint than asking just Coinbase, and that this probability is so close to 0 as to be negligible.
Can someone who is more skeptical of weak subjectivity describe a concrete scenario in which someone like me taking steps like I outline above would fail to get the right chain?