I would like to ask if it was possible to somehow transfer a public key and guarantee it without having to physically meet and verify that the person I met is who they say they are and without having to rely on a third party that may not be trustworthy (because of government mandates or because of the currency of data). I have thought of several ideas such as Convergence by Moxie Marlinspike, but that requires trusting that every notary out their is not evil and I have also thought of China's Quantum Satellite, but that would require a physical and secure exchange (am I right?). Cost is not an issue as I just want to know if it can be done.
The last thing I can think of is the shared secret and I think it may work, but I do not understand how can both computers generate the shared secret and know what the other computer generated, or does it matter (as the Wikipedia entry for Diffie-Hellman seems to indicate with the paint example that both secrets are different colors)?
Basically, I want to know if it is even possible to guarantee that a Man in the Middle Attack is not possible without either physically meeting or trusting a third party. Thanks!
Edit: Well, something I did figure out based off of Mike Ounsworth's answer is that since it isn't realistic for me to meet every person who wants me to verify keys, I could do things like print the key's fingerprint on business cards and post it in as many places as possible as it is a lot less likely that an attacker could modify every copy of the key or fingerprint and a person that really wants to confirm my identity could check multiple sources to do so even if they don't know me. This would be a combination of "meeting in person" and third party distribution that would satisfy me. After all, in order to modify everything in this world, one would need control of the whole world and if that happens, then we all have bigger problems on our hands. (This sounds a lot like the Tor Timing Correlation Attacks which shows we all have problems if this happened).