@Article{BOGMR90, author = { Michael Ben-Or and Oded Goldreich and Silvio Micali and Ronald L. Rivest }, title = { A Fair Protocol for Signing Contracts }, journal = { IEEE Transactions on Information Theory }, OPTyear = { 1990 }, OPTmonth = { January }, date = { 1990-01 }, volume = { 36 }, OPTnumber = { 1 }, doi = { 10.1109/18.50372 }, pages = { 40--46 }, abstract = { Two parties, $A$ and $B$, want to sign a contract $C$ over a communications network. To do so, they must ``simultaneously'' exchange their commitments to $C$. Since simultaneous exchange is usually impossible in practice, protocols are needed to approximate simultaneity by exchanging partial commitments in piece by piece manner. During such a protocol, one party or another may have a slight advantage; a ``fair'' protocol keeps this advantage within acceptable limits. We present a new protocol that is fair in the sense that, at any stage in its execution, the conditional probability that one party cannot commit both parties to the contract given that the other party can, is close to zero. This is true even if $A$ and $B$ have vastly different computing powers, and is proved under very weak cryptographic assumptions. Our protocol has the following additional properties: \begin{itemize} \item during the procedure the parties exchange probabilistic options for commiting both parties to the contract; \item the protocol never terminates in an asymmetric situation where party $A$ knows that party $B$ is committed to the contract while he is not; \item the protocol makes use of a weak form of a third party (judge). If both $A$ and $B$ are honest, the judge will never be called upon. Otherwise, the judge rules by performing a simple computation. No bookkeeping is required of the judge. \end{itemize} }, }