Cooperation and competition are opposing forces in Multi-Provider Distributed Systems (MPDSs) such as the Internet routing infrastructure. Often, competitive needs cause providers to keep certain information confidential thereby hindering cooperation and leading to undesirable behavior. For instance, recent work has shown that lack of inter-domain cooperation in performing intra-domain routing changes may cause more congestion. We argue that MPDSs should be designed with mechanisms that enable cooperation without violating confidentiality requirements. We illustrate this design principle by developing such mechanisms to solve well-known problems in the most successful MPDS, inter-domain routing. We also briefly discuss the need for such mechanisms in MPDSs for content distribution and policy-based resource allocation. Our mechanisms leverage secure multi-party computation primitives.