In this paper we investigate the relationship between two problems, related to distributed systems, that are of particular interest in the context of Service Oriented Computing: atomic commit and negotiation. We will show that there exists a rather strict interdependency between the two problems by discussing how negotiation could be expressed as an instance of the atomic commit problem, and vice versa. To this end we exploit the Contract Net Protocol, a well known negotiation protocol, that will be described by means of the asynchronous pi calculus (Pi-CNP). Besides modeling CNP we also formally describe some basic properties of the CNP protocol.