I've learned that the different criptocurrencies have their own P2P software which uses their own blockchain network to work. So how does exactly occurs the process of exchanging one coin to another as the blockchains are different? Do they have some kind of special protocol communication? What the exchanges perfoms under the hood to make it happen?
And if the different blockchains really communicate to each other, how is that communication done?