I'm curious if you used something like the blockchain (but not bitcoin necessarily) to have a public ledger of published public keys (identities) would that problem be essentially solved? (IE if the keys and any signing for a web of trust be on a distributed public ledger, then you could be reasonably sure that you're dealing with the person really behind that public key?)