Establishing and maintaining cooperation is an enduring problem in multi-agent systems and, although several solutions exist, the increased use of online trading systems, peerto-peer networks, and ubiquitous computing environments mean that it remains an important question. Environments are emerging in which large numbers of agents are required to cooperate, but where repeat interactions between agents may be rare or non-existent. Most existing approaches to cooperation rely on reciprocity to establish notions of trust and reputation. However, where repeat interactions are rare such approaches are not always effective. In this paper we use ideas from biology and the social sciences to provide a mechanism that supports cooperation in such environments. Our mechanism combines a tag-based method to enable cooperation given a lack of reciprocity, with an adaptation of a simple image scoring reputation model to cope with cheating agents. Using a simple peer-to-peer scenario we show how coo...