I think he way is out of line, trying to force everybody to proof their identity by verifying their passport.
It's obvious you either didn't watch the video of my talk or didn't understand it. If you had understood it, you would know the difference between someone verifying their identity, and providing a
zero-knowledge proof that they own a passport. These are entirely different things: the purpose of one is to avoid anonymity and the purpose of the second (what I was talking about) is to preserve it.
I must say, this is one of the most tiresome things about doing research on Bitcoin development - people who simply
do not listen or understand yet have strong opinions anyway.
To summarise for other people who didn't/won't watch the talk: in a peer to peer network, there are times when it would be useful to know that the peers you connected to are not cooperating against you. This is obviously impossible to guarantee but we can make it significantly less likely with a variety of techniques, which we call anti-sybil techniques. Cases where it's useful to know this:
- Unconfirmed transactions with lightweight clients with no trusted third party, i.e. SPV clients like MultiBit, the Android wallet or Hive. Once you get a confirmation or two you can put your faith in majority hash power, but with Bitcoin as it works today, until then you have to just ask a bunch of peers if they believe it's valid. If you think you're talking to the real P2P network but in fact you're talking to a man in the middle attack, you could be misled into believing in a transaction that isn't valid.
- For floating fees, you need to poll random peers. You can't rely on the block chain here because it's being created by the parties that have most to gain from lying about fee levels.
- In Tor, you want to pick nodes/relays that aren't cooperating because if they were they could deanonymize you and Tor wouldn't work.
None of today's solutions are satisfying. Bitcoin Core relies on picking nodes spread out across a big range of IP addresses, but anyone with a botnet can beat that. SPV wallets (bitcoinj) just ask the DNS seeds and hope they're doing a good job, but DNS is insecure and the responses could be faked. Tor places much less emphasis on decentralisation than Bitcoin does and relies on a kind of central control by a group of "directory authorities", which can (and do) ban nodes.
So I discussed a couple of other solutions. One is proof of sacrifice, also known as fidelity bonds. For a while I called them "anonymous passports" but given the second line of research this name is ambiguous so I don't call them that anymore. Basically you throw some money away to miner fees and then use the Bitcoin addresses associated with that transaction to prove it was you who did it. With such a scheme if someone wanted to bring up 10,000 bitcoin or Tor nodes that were all run by the same person, that'd be very expensive.
But we don't want running Bitcoin or Tor nodes to require expensive sacrifices. We want them to be as cheap and numerous as possible. So, I suggest a second line of research - use some very advanced and modern mathematics to create a mathematical proof that you possess a passport (the government issued kind)
without revealing any information from it. You would literally produce just a mathematical proof that you own a passport which hashes to a certain value. This does not require any co-operation from governments, it just processes data they already issued and they can't stop us doing it. This idea is useful because most people have one (or maybe two/three) passports, but it's very hard to own 10,000 of them. So you can easily get good diversity of nodes, and it's hard for Joe Hacker to flood the network with botnet bitcoinds that screw around with our system. Same for Tor.
Some people have noticed that although this approach would stop a large variety of different attackers, governments could make fake passports and use them. Yes, this is true. However they could also run fake Bitcoin/Tor nodes today too, so it's not making things any worse. And in fact there's a neat move we can make here too - an interesting thing about this new mathematical technique is you can potentially (I think) selectively reveal particular fields, like the country. So your wallet app could pick nodes run by citizens of the USA, Germany, China, Russia and Brazil. Because the worst attacks require the majority of nodes to be bad, this is strong - even if the USA decides to mint a pile of fake passports they still can't do anything bad. It'd require all those governments to co-operate to flood the network, which is a massive upgrade over the situation we have today.
Glancing at Reddit I see comments like "this is a statist solution". I guess a few people don't appreciate the irony of inverting an infrastructure of government control, to build strong anonymous peer to peer networks.