We present a new protocol that allows two players to exchange digital signatures over the Internet in a fair way, so that
either each player gets the other's signature, or neither player does. The obvious application is where the signatures represent
items of value, for example, an electronic check or airline ticket. The protocol can also be adapted to exchange encrypted
data. The protocol relies on a trusted third party, but is “optimistic,” in that the third party is only needed in cases where
one player attempts to cheat or simply crashes. A key feature of our protocol is that a player can always force a timely and
fair termination, without the cooperation of the other player.