With Bitcoin, you can sign messages to prove that you are in possession of a private key associated to a public key. Correct me if I'm wrong, but from my understanding this only works with a separate communication channel, such as email or a central system where you request the other system participant to sign the message for you.
I think this works great if you want to confirm a shipping address in order to make sure the person who paid is aware of where the shipment goes (if you want to accept the fact that everyone in the network can see your shipping address).
But does that work for a notary use case, for example? How can you know, using Bitcoin message signing, that the company "AMCE Ltd." is actually behind the address "XYZ"? Is this only possible if you actually call AMCE Ltd. or email them for them to sign a message for you? What if you can not trust the communication channel (e.g. message gets intercepted by a potential attacker).
The only thing I can think of that can solve the problem is introduce a middlemen you are required to trust (from what I understand, Onename.com is such a middleman) and who does the background check for you. But from my understanding, this would eliminate a significant part of the value of Blockchain. Why would you need a distributed ledger anyways if you already trust the middleman?