Alice is trading information with Bob. Alice and Bob are in a Prisoner's Dilemma in that they'd prefer not sending their respective key while receiving each other's but would prefer an exchange taking place to no exchange. Is it possible, with or without a neutral third party, to swap two pieces of information while ensuring that both parties receive the right information, or at least incentivize people to send the right information (eg a method where it's probable they won't receive the right information if they send the wrong information). You can assume Alice and Bob will know the information is correct on complete arrival.
Theoretically it seems to be possible. First idea:
If Alice and Bob have a way to verify that the information is correct one approach would be for them to give the algorithm for that to a trusted third party. Then this third party can check the information and only exchange the values if both of them are correct.
If the third party is not trusted but does not collude with any of the participants an FHE encrypted version of the same scheme might work.
Without a third party it seems impossible. The reason is that one party has to send their information first and then the other party can cheat.
It is well known that it is not possible to achieve complete fairness in the two party setting, to agree on a random unbiased coin. See Limits on the security of coin flips when half the processors are faulty.
The functionality you are looking for seems to reduce to this functionality, which in turn is not possible.