Peer-to-peer computing is an interesting networking paradigm as it offers a high degree of scalability by exploiting the resources of the participants and avoids single-points of failures. Due to these desirable properties, peer-to-peer computing plays a crucial role in many networking applications beyond file-sharing, and the underlying ideas are also discussed as a design principle for the future Internet. Our research is concerned with the question of whether peer-to-peer is mature enough to step outside its "comfort zone". We conduct measurements of state-of-the-art peer-to-peer networks such as Kad and investigate the robustness, e.g., to Sybil attacks or selfish behavior. For example, we implemented the proof-of-concept BitTorrent client "BitThief " which provides evidence that despite the tit-for-tat incentive mechanism, free-riding is possible in BitTorrent. We develop algorithms to improve the performance of peer-to-peer systems: we devise peer-to-peer networks which are robust to worst-case churn (see e.g., our IPTPS paper), which allow for efficient joins and leaves (see e.g., our SHELL system at ICALP), or which are robust to denial of service attacks (see e.g., our Chameleon system at SPAA). Some of these algorithms were successfully implemented in the online storage tool Wuala and the streaming tool Streamforge, two Swiss startups.
|Author||Scheideler, Christian and Schmid, Stefan|
|Title of Book||36th International Colloquium on Automata, Languages and Programming (ICALP)|
|Address||Berlin / Heidelberg, Germany|
|Series||Lecture Notes in Computer Science (LNCS)|
|Abstract||This paper shows how to build and maintain a distributed heap which we call SHELL. In contrast to standard heaps, our heap is oblivious in the sense that its structure only depends on the nodes currently in the network but not on the past. This allows for fast join and leave operations which is desirable in open distributed systems with high levels of churn and frequent faults. In fact, a node fault or departure can be fixed in SHELL in a constant number of communication rounds, which significantly improves the best previous bound for distributed heaps. SHELL has interesting applications. First, we describe a robust distributed information system which is resilient to Sybil attacks of arbitrary scale. Second, we show how to organize heterogeneous nodes of arbitrary non-uniform capabilities in an overlay network such that the paths between any two nodes do not include nodes of lower capacities. This property is useful, e.g., for streaming. All these features can be achieved without sacrificing scalability: our heap has a de Bruijn like topology with node degree O(log^2 n) and network diameter O(log n), n being the total number of nodes in the system.|