{'fraction_non_alphanumeric': 0.026019690576652602, 'fraction_numerical': 0.012658227848101266, 'mean_word_length': 4.929166666666666, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Incentive P2P networks: a protocol to encourage information sharing and contribution

The rapid growth of decentralized and unstructured peer-topeer (P2P) networks [3, 7] points to a new efficient paradigm for information exchange on the Internet. A P2P network may exhibit a power-law topology [5] such that it can propagate queries quickly and, if implemented efficiently [7], it can locate objects in time, where is the number of nodes in the network. However, there are remaining problems with the P2P paradigm which complicates its deployment. Freeriding and tragedy of the commons are two major problems. As shown in [1], nearly 70% of Gnutella users do not share any file with the P2P community and nearly 50% of all search responses come from the top 1% of content sharing nodes. Therefore, nodes that share resources are always congested and the tragedy of the commons [2] occurs. Another problem is that many users misreport their connection types so as to discourage others from going to their sites for file download. Worse yet, there is no service differentiation between users who do not share any information and users who contribute significantly to the P2P community. The objective of this paper is to design a mechanism that provides incentives for users to share information and offers preferential service to users who contribute to the P2P community. In particular, we address the following questions: