A multi-party contract signing (MPCS) protocol allows a set of parties to exchange messages with each other to arrive in a state in which either each of them has a pre-agreed contract text signed by all the others, or none of them does. This paper proposed an improvement on the optimistic MPCS protocol described by Baum-Waidner and Waidner (BW). The number of rounds is reduced to two and the message transmission number to O(n2 ), which is the best known so far. Protocol modeling and formal definition of fairness are presented in the strand space model, and formal analysis shows that fairness is satisfied in the new protocol.