Undergrad ﬁnal year, 2002.
Naanou was a massive design and coding undertaking. In short, it was novel as it was the ﬁrst system to offer peer-to-peer ﬁle sharing over a scalable network substrate rather than ﬂood-based approaches such as Gnutella which were the norm. Moreover, Naanou made use of some (at the time) recent ﬁndings relating to human behaviour and altruistic punishment, in order to improve people’s behaviour in a peer-to-peer network.
As far as I am aware, Naanou was the world’s ﬁrst implementation of a distributed hashtable system for ﬁle sharing.
Here is the abstract from the thesis:
With the increased growth of peer-to-peer (P2P) ﬁle sharing communitiesm comes emerging problems. Inefﬁciencies present in the network structure hamper the scalability of the community. As the population exceeds the network’s limits, the associated increase in bandwidth usage causes a slowing of the entire network and potentially leads to failure of network functions. Originally designed for only small-scale usage, many P2P systems are faced with two options: redesign or restrict network growth, thus limiting the full potential of a peer-to-peer network.
With the introduction of a new class of peer-to-peer network algorthim, distributed hashtables, high performance and efﬁcient scalability is possible, far beyond the capabilities of existing systems. This thesis explores utilising a distributed hashtable algorithm in the P2P ﬁle-sharing domain. A user-centred designed client is introduced, which offers features available in other ﬁle sharing clients but providing a significantly higher degree of scalability and performance. The means by which traditional P2P ﬁle sharing features could be mapped to the novel distributed hashtable-based system had not been explored at the commencement of this work and many important issues in the area are yet to be explored. The thesis presents a variety of designs and an implementation for metadata-based key publishing and searching and distributed ﬁle exchanging.
Also central to this work is how online communities, and in particular ﬁle sharing communities can achieve a level of self governance. Antisocial behaviours are discussed, as well as the results of two questionnaires conducted on the subject. These results demonstrated the level of antisocial behaviours present in ﬁle sharing communities - and how participants react to these behaviours. Altruistic punishment is suggested as a novel method for reducing antisocial behaviour within a ﬁle sharing community. Research on the positive effects of altruistic punishment on group cooperation levels is discussed, along with how this research applies to the P2P domain. A method for implementing decentralised moderation in a distributed hashtable system is introduced and the security implications of the method are explored.
When I started designing and building Naanou, it was the ﬁrst of its kind, a traditional P2P ﬁlesharing system built on top of a scalable network substrate. This substrate - Chord - is a distributed hashtable network, and is highly efﬁcient in mapping a given key to a value stored on the network.
Naanou builds on the distributed hashtable substrace and provides the full gamut of ﬁle sharing features users expect. Another problem currently present in ﬁlesharing communities - and online communities in general - is antisocial behaviour. Naanou tries to tackle this using decentralised peer moderation.
- Heyer, C. Naanou: A Scalable, Moderated P2P Network Unpublished thesis, School of Information Technology and Electrical Engineering, The University of Queensland, 2002. St. Lucia, Queensland, Australia.