Accounting in Peer-to-Peer Networks

There are numerous important reasons why we at KOM work on accounting mechanisms for Peer-to-Peer systems.

The most discussed and also well known problem is free-riding in these systems. Peer-to-peer networks are based on the assumption that participating peers share their own resources with other peers, as long as they are able to benefit from the resources shared by others. Practical experience has shown that in today's peer-to-peer file sharing application, this ideal situation will not be achieved due to the majority of users who do not behave altruistically and do not voluntarily share their resources (resulting in the so-called free-rider problem). Consequently, the absence of economically efficient mechanisms (which balance the utilization and provision of resources) system performance is heavily reduced. Several incentive schemes have been proposed in order to motivate users to share their resources.

We at KOM take on a far broader view when approaching this problem. Instead of developing another incentive scheme, we have split the problem into two sub-problems – information collection and information usage. Our research is targeted towards information collection, or accounting. The information collected by an accounting mechanism holds a wide variety of purposes, e.g. to introduce incentives for resource sharing into Peer-to-Peer systems.

An even more important usage for accounting data is the future commercialization of Peer-to-Peer applications. This application type requires legally binding accounting information. Therefore, our research has also focused on accounting mechanisms which provide a high level of security and reliability.

We have proposed a token-based accounting mechanism for Peer-to-Peer Systems.

Each peer holds a local account which contains a specific amount of tokens issued to it. In order to receive a service, a peer must spend a specific amount of token by sending them to the service provider. Accordingly, when a peer provides a service it collects tokens from its customer peers.

Without enough tokens, a peer is not able to receive a service. Foreign tokens cannot be reused. Therefore, a peer must exchange received “foreign” tokens against new own ones. New tokens must be signed with a system private key to make them valid and prevent forgery. In order to issue new tokens, the token-based accounting mechanism uses a distributed process employing threshold cryptography. The private key is split into several parts. Peers with a high trust value (requiring a reputation system), so-called trusted peers hold one part of the private key. A small number of trusted peers have to sign new tokens with their key part before the owner peer may combine these partial tokens to new signed tokens.

To avoid double spending by a peer, a set of so-called account holders is assigned. These account holders are third party peers who hold a list of the tokens issued to the account owner. By using this list before any transaction is executed, a service provider (the token receiver) is able to check if the tokens the customer intends to spend are valid.

The proposed system was published in [1] and received at KiVS 2005 the Best Paper Award. Also the system was applied as patent under EU patent application No. 04 101 386.3.

This research has be carried out in the context of the project "Erlösmodelle zur Effizenzsteigerung von Peer-to-Peer Netzwerken" (EMEPPS). You can find further information and material here.


[1] N. Liebau, V. Darlagiannis, A. Mauthe, and R. Steinmetz: Token-based Accounting for P2P-Systems; In Proceeding of Kommunikation in Verteilten Systemen KiVS 2005, pages 16-28, February 2005. (Received Best Paper Award).