Tribler: A social-based Peer-to-Peer System
Einführung
Die 5 grossen Herausforderungen
Heutige Systeme werden von über 1 Million User genutzt, so dass Performance und Verhaltensweisen die so ein System zu Tage bringt nur unter speziellen Voraussetzugen wirklich getetstet werden kann. Die Autoren von Tribler hatten jedoch selbst eine mehrjährige Studie seit 2003 in der Sie BitTorrent sehr genau untersucht haben. Basierend darauf formulieren Sie nun 5 grosse Herausforderungen für die Forschung und wie gerade der sozialbasierende Ansatz hilft, diese zu lösen.
- Dezentralisierung
- Die schwierigste Herausforderung ist die dezentalisierung der Funktionalität eines P2P-Netzwerks über die einzelnen Peers. Volle D. hiesse wir bräuchten keine zentralen Elemente mehr, die ja auch von jmd aufgesetzt und verwaltet werden müssten und zudem auch zu einem Sicherheitsrisiko werden könnten.
- Soziale Gruppen hingegen bilden eine natürliche Art der Dezentralisation, da Kommunikation meist nur unter Gruppenmitgliedern stattfindet.
- Verfügbarkeit
- Die zweite Herausforderung ist die Verfügbarkeit des Systems als Ganzes, d.h. Daten sollten immer verfügbar sein.
- Im sozialen Zusammenhang könnten Anreize wie Belohnungen oder Anerkennung dazu führen das die Software länger an bleibt, was zu einer vergrösserten Verfügbarkeit des gesamten Systems beiträgt.
- Integrität & Vertrauen
- Die dritte Herausforderung is die Integrität des Systems und das Vertrauen unter den Peers zu wahren. Per Definition benutzten P2P-Systeme freiwillig gespendete bzw. bereitgestellte Daten - nur leider kann man dem Spender nicht immer trauen.
- Bei einen sozialen Netzwerk hingegen helfen die Nutzer selbst dabei schlechte Daten auszusortieren und vertrauenswürdige Peers zu identifizieren.
- Anreize schaffen
- P2P-Systeme hängen sehr stark davon ab wieviel die Nutzer bereit sind zu teilen bzw. überhaupt Daten bereitzustellen. Richtigen Anreize sind daher lebenswichtig um Kooperation und Performance im Netz zu erhöhen.
- Auch hier hilft wieder der schon erwähnte soziale Anreiz.
- Netzwerk Tranzparenz
- Dank dynamicIPs, NAT-Boxen und Firewalls hat sich die Benutzung des Internets verändert. Ein peer hat nichtmehr die Freiheit irgendetwas an irgendwem zu schicken, ohne das ein anderer Peer als Vermittler dazwischen steht.
- Dank Social Networks können wir nun aber vertrauenswürdige Peers auswählen die für uns den Mittler spielen.
Architektur
|
|
Social Networking
Die Idee des Social Networking ist es, bestehende soziale Gruppen bzw. Kontakte in das Peer-to-Peer-System zu übertragen und somit vertrauenbasierte soziale Gruppen zu etablieren. Um dies zu bewerkstelligen, ist es nötig permanente IDs einzuführen und so das Problem der session boundary, also den Verlust sämtlicher Kontext-Informationen eines Peers nach dessen Disconnect, zu umgehen.
Sicherheit und Effizienz
Daraus ergeben sich unmittelbar zwei neue Probleme. Zum einen müssen die IDs sicher sein und zum anderen müssen diese Informationen irgendwie verbreitet werden ohne auf zentrale Dienste zugreifen zu können.
Der Sicherheitsaspekt wird mittels zweier Mechanismen erreicht. Das erste dieser Verfahren ist die Einführung von elliptisch verschlüsselten public keys, die einen Peer eindeutig identifizieren. Der zweite Mechanismus ist ein challenge-response-Verfahren, was dazu dient das spoofing von public keys, d.h. das Vortäuschen einer anderen Identität unter Verwendung eines fremden public key, zu verhindern.
Um das Problem der Verteilung der Kontextinformationen ohne dabei das Netzwerk übermäßig zu belasten zu lösen, verwendet man eine Technologie, die in der Datenbanktechnik seit längerem bekannt ist, die sogenannten Bloom-Filter. Diese sind Hash-Tabellen-ähnliche Datenstrukturen, die es mittels Hashfunktionen ermöglichen, die zu sendenden Daten auf ein Minimum zu reduzieren. Anhand einer Fallstudie zu dem Social Network friendster.com zeigen die Autoren des Papers, dass es genügt 260 Bytes zu transferieren, um die Kontextinformationen zweier Peers auszutauschen. Damit ist ein simultantes Austauschen von Kontext-Informationen zwischen tausenden von Peers möglich ohne das Netzwerk zu überlasten.