p2p und Tauschbörsen

Tauschbörsen sind für mich eine Revolution in der Art, wie wir Informationen und Daten wahrnehmen. Wo wir früher noch darüber nachdenken mussten, woher wir bestimmte Inhalte bekommen, müssen wir heute nur noch wissen, wie sie heißen.

Und das ist eine der Folgen eines wahrhaft freien Informationszeitalters: Um etwas zu finden, müssen wir nur seinen (wahren) Namen kennen.

Tauschbörsen sind dabei eine der großen Errungenschaften, weil sie von Menschen zu Menschen gehen und so zum ersten Mal eine Sammlung an Wissen eröffnen, das nur davon begrenzt wird, was die Teilnehmer des Netzes freigeben wollen.

Wenn sich die Gesetze in Richtung Freiheit ändern, wird das unsere Welt zu einem besseren Ort machen (auch wenn das abgedroschen klingt), an dem wir Kunstschaffende bezahlen, weil wir ihre Werke mögen, und an dem Kunst und Wissen für JedeN frei zugänglich sind, (fast) völlig unabhängig von Einkommen und Status.

Wenn die Gesetze sich damit noch etwas Zeit lassen, wird diese bessere Welt eine Weile lang illegal sein, bis die Kunstschaffenden selbst erkennen, dass sie ihr neues Zuhause sein kann und darauf ihre Werke unter freien Lizenzen veröffentlichen.

Und falls das nicht sofort passieren sollte: Wir haben die bessere Welt erlebt. Lasst uns dafür kämpfen.

Oh, nicht zu vergessen: Tauschbörsen, p2p und alles was in ihrem Dunstkreis liegt, sind das Thema dieses Bereiches meiner Seite, und Phex ist die Tauschbörse meiner Wahl.

Studie: Auswirkungen von Tauschbörsen auf Musikverkäufe nicht von Null unterscheidbar.

Gerade hat eine weitere Studie nachgewiesen, dass Tauschbörsen die Musikindustrie nicht schädigen, und sie kam im Gegenteil zu dem Schluss, dass Tauschbörsen den allgemeinen Wohlstand steigern.

Um die Auswirkungen von Tauschbörsen auf die Musikverkäufe zu prüfen, wurde der Effekt der deutschen Schulferien auf den Musikmarkt in Amerika geprüft. Da jede 6. von Amerikanern heruntergeladene Datei aus Deutschland kommt, steigt das Angebot von Musik in Tauschbörsen für Amerikaner in unseren Ferien merklich.

Aus diesen Untersuchungen ergab sich, dass der Effekt, den eine leichteren Verfügbarkeit von Musik in Tauschbörsen auf die Musikverkäufe hat, nicht von Null unterscheidbar ist.
Nach Präsentation dieser Ergebnisse untersuchten die Forscher, welche anderen Ursachen der Rückgang der Musikverkäufe hatte, und sie kamen wenig überraschend zu dem Ergebnis, dass billigere Verkäufe und Diskounter, größere Konkurrenz durch andere Arten der Unterhaltung (Spiele, Filme, Internet, u.ä. z.B. sind DVD und VHS Verkäufe um 5 Milliarden Dollar gestiegen) und Handykosten sehr viel wahrscheinlichere Kandidaten für den Rückgang der Verkäufe sind.

Und sie vermuten, dass diese Ergebnisse auch auf andere Medien anwendbar sind.

Abschließend fügen sie hinzu, dass der soziale Nutzen von Tauschbörsen enorm ist, da durch sie der Zugang zu Kultur sehr viel leichter wird und Musik weit größere Verbreitung erfährt. Der effektive Wohlstand in der Gesellschaft nimmt durch Tauschbörsen also deutlich zu.

Genauere Infos zum Verfahren gibt es in dem Journal of Political Economy der Universität von Chicago:
http://www.journals.uchicago.edu/JPE/journal/issues/v115n1/31618/31618.h...

Die Studie wurde das erste Mal 2004 veröffentlicht und 2007 noch einmal überarbeitet.

-> Artikel im Register in Großbritannien:
- http://www.theregister.co.uk/2007/11/05/birkbeck_canada_p2p_cd_sales/

Warum Gnutella gut skaliert

Vielleicht haben Sie in einigen (fast schon antiken) Texten oder auf verschiedenen technischen Webseiten gelesen, dass ein Netzwerk wie Gnutella nicht skalieren könne, also nur bis zu einer bestimmten Zahl an Nutzern noch laufen würde. Als Gegendarstellung möchte ich ihnen zeigen, warum Gnutella heute sehr gut skaliert.

In früheren Versionen (bis zu 0.4) war Gnutella ein reines Broadcast-Netzwerk. Das heißt, dass jede Suchanfrage jeden Teilnehmer erreicht hat, so dass die Anzahl von Suchanfragen die jeden Knoten erreichen würde in einem idealen Netzwerk exakt gleich der Anzahl von abgeschickten Anfragen gewesen wäre, die alle Knoten im Netzwerk zusammen abschicken. Bei diesem alten Modell können Sie leicht sehen, wieso es nicht skalieren kann.

Aber das galt nur für Gnutella 0.4.

In der aktuellen Version von Gnutella (Gnutella 0.6), ist es nicht länger ein reines Broadcast-Netzwerk. Stattdessen wird nur noch der kleinste Teil der Netzwerklast durch Broadcast-Anfragen verursacht.

Wenn Sie genaueres über die Methoden nachlesen wollen, mit denen das bewerkstelligt wird, können Sie im GnuFU Leitfaden fündig werden (Deutsch, Englisch).

Hier möchte ich die Informationen auf die drei Kernaussagen begrenzen,

  1. Dass es zwei Arten von Knoten gibt: Ultrappeers, die mit vielen anderen Ultrapeers verbunden sind (aktuell etwa 32) und vor allem Nachrichten weiterleiten und Blätter, die mit bis zu 5 Ultrapeers Kontakt haben (jeder Ultrapeer hat etwa 32 Blätter), die ihnen die Last der Suchen abnehmen, und vor allem Inhalte anbieten,
  2. Dass die ersten zwei Schritte einer Suchanfrage durch Dynamische Anfragen (Dynamic Querying: DQ) abgehandelt werden, das Suchanfragen stoppt, sobald es genügend Quellen gefunden hat (auf die Art wird eine Suche gestoppt, sobald sie mindestens 250 Ergebnisse brachte), und
  3. Dass die letzten zwei Schritte durch das Anfragen-Lenkungs-Protokoll (Query Routing Protocol: QRP) geführt werden, das sicherstellt, dass eine suchanfrage nur solche Quellen erreicht, die die Datei auch wirklich haben können (was meistens nur etwa 5% der Knoten sind).

In heutiger Zeit ist Gnutella also ein recht strukturiertes und sehr flexibles Netzwerk.

Um es weiter hochzuskalieren können Ultrapeers die Zahl ihrer Verbindungen über die aktuellen 32 hinaus erhöhen, wodurch Dynamische Anfragen (DQ) und das Anfragen-Lenkungs-Protokoll (QRP) noch ein gutes Stück effizienter werden.

Im Fall von DQ werden die meisten Anfragen nach verbreiteten Dateien nach der gleichen Zahl von angefragten Knoten gestoppt werden, also wird eine Erhöhung der Zahl der Verbindungen pro Knoten die Netzwerklast, die durch die ersten beiden Schritte von Anfragen nach verbreiteten Dateien verursacht wird, in keiner Weise erhöhen.

Im Fall von QRP werden Suchanfragen immernoch nur die Knoten erreichen, die passende Dateien haben können, und wenn Ultrapeers jeweils mit mehr Knoten verbunden sind (indem die Zahl der Verbindungen erhöht wird), kann jede einzelne Verbindung mehr Ergebnisse liefern, so dass DQ sogar früher stoppen wird als mit weniger Verbindungen pro Ultrapeer.

Hiermit ist Gnutella heute weit von dem Broadcast-Modell entfernt, und eine Erhöhung der Größe des Gnutella Netzwerkes kann seine Effizienz bei der Suche nach verbreiteten Dateien sogar erhöhen.

Bei seltenen Dateien schlägt QRP mit geballter Macht zu, und obwohl DQ wahrscheinlich bei allen direkten Verbindungen anfragen wird, stellt QRP sicher, dass nur solche Knoten erreicht werden, die die Inhalten auch wirklich haben können, und das können weit weniger als 0,1% des Netzes sein.

Hierbei bewirkt eine größere Anzahl von Verbindungen pro Ultrapeer, dass Knoten mit seltenen Dateien effektiv näher bei ihnen sind als vorher, so dass Gnutella auch für seltene Dateien effizienter wird, wenn die Größe des Netzwerks erhöht wird.

Hieran können Sie sehen, dass Gnutella inzwischen zu einem Netzwerk geworden ist, das für Anfragen über Schlüsselwörter extrem gut skaliert, so dass es auch für Suchen nach Metadaten und ähnlichen Konzepten sehr effizient genutzt werden kann.

Das Einzige, was Gnutella nicht gut kann, sind Suchen nach Zeichenketten, die nicht in einzelne Wörter geteilt werden können (zum Beispiel Datei-Hashes), weil dadurch QRP zusammebricht, daher werden sie wahrscheinlich kaum Knoten erreichen. Für diese Arten von Suchen arbeiten die Gnutella Programmierer an einem DHT (Distributed Hash table: Verteilte Hashtabelle), das nur für diese Arten von Zeichenketten genutzt werden wird.

Und damit ist das einzige verbleibende Problem der Spam, weil dadurch die Wirksamkeit von DQ für Suchen nach seltenen Dateien eingeschränkt wird (es kommen Antworten, die nicht sofort von sinnvollen Antworten unterschieden werden können), aber ich bin sicher, dass die Entwickler auch einen Weg finden werden, um Spam zu stoppen (zum Beispiel das Netzwerk nochmal zu vergrößern, weil dadurch die Kosten von effektivem Spammen steigen). Und selbst mit Spam ist Gnutella sehr effizient und verbraucht nur sehr wenig Bandbreite, wenn Sie als Blatt (Leaf) im Netz sind.

Ein paar Daten zum Abschluss:

  • Netzwerklast im Blatt-Modus: etwa 1kB/s wenn Sie ausgehende und eingehende Last addieren, also nur etwa 1/7 der Bandbreite eines 56k Modems.
  • Netzwerklast im Ultrapeer-Modus: Etwa 7kB/s, ausgehend und eingehend addiert, also etwa eine komplette DSL Leitung oder etwa 1/8 der ausgehenden Bandbreite eines aktuellen DSL-Modems (und weitaus weniger von seiner Leistung für Downloads, da die bei DSL sehr viel größer ist als die Leistung für Uploads).

Viel Spaß mit Gnutella!

[[Benutzer:ArneBab|ArneBab]] 15:29, 22. Nov 2006 (CET)

Anmerkung: Dieser Leitfaden ignoriert, dass Suchanfragen nicht nur bei den Quellknoten Last verursachen, sondern auch bei den Leitungsknoten dazwischen. Da diese Leitungsknoten nur etwa 3% des Netzes ausmachen und davon nochmal nur 3% von einer Anfrage nach einer seltenen Datei erreicht werden, also die Last nur auf etwa 0,1% der Knoten entsteht (QRP auf den letzten beiden Schritten), wird davon die Gesamtrechnung allerdings kaum berührt.

Gnutella Leistungstests

Ich habe ein paar kleine "Tests" zu Gnutella gemacht.

"Test" ist in Anführungszeichen, weil diese Tests nur Stichproben sind und daher keine Statistisch signifikante Aussage haben.

Aber ich dachte, sie könnten trotzdem interessant sein.

Geschwindigkeit der Suchen

Mit Einschränkung: Es werden nur Dateien über 20MiB angezeigt.

Relativ wenig verbreitete Dateien

Suche nach "anime":
4s, bis die ersten Ergebnisse kommen, 6s bis eine recht große Menge da ist. Nach etwa 30s fließen nur noch wenige neue Ergebnisse rein.

Suche nach "amv" (anime music video):
nach 4s die Ersten 3, nach 23s 25 Ergebnisse, nach 60s ebbt der Fluss ab (77 Ergebnisse).

Extrem weit verbreitete Dateien

Suche nach "mpg" (mpg Videos):
Schon nach 1s einige Ergebnisse, nach 3s mehr als 100, nach 10s mehr als 300, bei 500 Ergebnissen stoppt die Suche.

Suche nach "avi":
Nach 1s erste Ergebnisse, nach 2s mehr als 10, nach 3s mehr als 100, nach 10s mehr als 250, nach etwa 30s über 500. Da stoppt die Suche.

Obskure Dateien

Suche nach "mkv" (Matroschka Video):
5s: 6 Ergebnisse
20s: 23 Ergebnisse
30s: 23 Ergebnisse
60s: 39 Ergebnisse
120s: 70 Ergebnisse
180s: 70 Ergebnisse
Ende (etwa 5 min): 70 Ergebnisse

Weitere Quellen finden, nachdem der Download gestartet wurde (Download Mesh)

AMV - Invader Zim - Mindless Self Indulgence - Bring The Pain.mpg
Am Anfang: 5 Quellen
<2s: 10 Quellen
10s: 25 Quellen.
5min: 25 Quellen.
Ende (etwa 8 min): 32 Quellen.

AMV Naruto - Trapt - Headstrong.mpg
Anfang: 5 Quellen
3s: 30 Quellen
8s: 60 Quellen
Ende (etwa 7 min): 71 Quellen

Abschluss

Die Tests wurden mit Phex erstellt, um einen sehr instabilen Referenzwert für die Metadatenleistung von Gnutella zu haben.

Gnutella Streaming Video - Live Videos über Gnutella, ein Experiment

Links zu Gnutella:
- Phex - Ein freies Gnutella-Programm.
- Gnutella für Benutzer - Eine verständlich geschriebene Erklärung, wie Gnutella funktioniert.
- Gnutella Specification - Die freie Spezifikation von Gnutella.

Ich habe gerade ein Experiment gestartet.

Ich habe mit Phex (ein Gnutella p2p-Programm) einen sehr verbreiteten Film angefangen herunterzuladen (momentan hat er 150 Quellen, 4 davon aus dem Suchergebnis, der Rest aus dem Download-Mesh) und dann den Download gestoppt. Aktuell sind etwa 10MiB von knapp 200MiB heruntergeladen.

Ich habe ihn in kaffeine geöffnet (in einem KDE Film-Abspielprogramm) und das Abspielen nach 23 Sekunden gestoppt.

Direkt nachdem ich diesen Eintrag gespeichert habe, werde ich den Download wieder weiterlaufen lassen und den Film starten.

Ich will testen, ob ich einen Film dieser Größe bereits vollständig über Gnutella streamen, ihn also während dem Herunterladen betrachten, kann.

Meine Beobachtungen werde ich auf dieser Seite festhalten, Datum und Uhrzeit werden so in der Revisionstabelle aufgezeichnet.

Und natürlich werde ich währenddessen den Film genießen. :)

Verlauf der Ereignisse

  • 2:23 Uhr: Download und Film gestartet. Abstand zwischen Downloadstart und Filmstart: Weniger als 10s, aber es gibt bereits etwa 10 MiB Puffer.
  • 2:24 Uhr: Ich sehe dann und wann Artefakte. Der Film wird grünstichig. Aber das kann gut am Codec liegen.
  • 2:25 Uhr: Der Film hat kurz gestockt (unter 1/3 Sekunde). Phex meldet, dass am Anfang noch ein kleines fehlendes Segment war. Jetzt läuft er größtenteils problemlos.
  • 2:27 Uhr: Ein etwa 10 sekündiges Stocken. Danach ein Zweites von 11 Sekunden.
  • 2:30 Uhr: Ein kurzer Sprung. Kurz danach ein 13 Sekunden langes Stocken.
  • 2:35 Uhr: Ein weiteres 13 Sekunden langes Stocken.
  • 2:51 Uhr: Der Download ist abgeschlossen, der Film läuft noch über 70 Minuten. Die durchschnittliche Downloadgeschwindigkeit lag über 40kB/s. 30 Minuten des Films sind erst abgespielt, also wäre auch ein Film mit weit größerer Dateigröße sauber gestreamt. Am Ende hatte der Download 213 Quellen. Der Film läuft sauber weiter.

Experiment abgeschlossen.

Ergebnis des p2p Streaming Tests

Streaming über Gnutella ist für Filme mit niedriger Datenrate gut möglich, wenn es genug Quellen gibt. Größere muss ich ein ander Mal testen.

Filme mit 200MiB und 100 Minuten Laufzeit sollten recht sauber streamen.

Für Filme mit bis zu 600MiB und 100 Minuten Laufzeit sollte das gleiche gelten.

Anmerkung 1: Der Großteil der Quellen kam über das Download-Mesh, so dass die Suche nur für die ersten Quellen benötigt wurde.

Anmerkung 2: Die Download-Strategie "Anfang bevorzugen", die in Phex möglich ist, kommt dem Streaming sehr zu gute.

Offener Brief zu Pay Per Use

Auf den Artikel zu pay per use (zahlen für jede einzelne Nutzung) von Julia Hilden, der DRM bewirbt, gibt es eine Antwort, die ihre Punkte aufgreift und Schwachstellen ihrer Argumentation zeigt.

Für Deutsche Leser habe ich hier ihre Argumentation kurz zusammengefasst und die genannten Gegenargumente beschrieben.

Ursprungsartikel: http://writ.lp.findlaw.com/hilden/20070108.html

Offener Brief dazu: http://arnebab.livejournal.com/9028.html

Sie schrieb, dass der Gedanke sterben muss, dass Käufern das Gekaufte wirklich gehört und dass sie damit machen können, was sie wollen.

Stattdessen sollten sie für jede Nutzung bezahlen, weil Unterhaltung durch ein Buch genauso eine Dienstleistung ist, wie eine Lesestunde bei der der Autor selbst anwesend ist, und daher auch jedes mal bezahlt werden sollte, wenn sie in Anspruch genommen wird.

In dem offenen Brief werden zwei Schwachstellen dieser Argumentation beleuchtet und eine einfache Anregung gegeben, wie ohne Fesselung der Käufer sichergestellt werden kann, dass diejenigen, denen ein Werk gefällt, auch dafür bezahlen.

Die erste Schwachstelle ist, dass kreative Werke erhalten bleiben müssen, damit sie der Gesellschaft wirklichen Nutzen bringen. Ob nämlich die Bezahlstelle, an die für jedes Lesen Geld überwiesen werden muss, in 20 Jahren noch existiert, wenn die Käufer das Buch ihren Kindern vorlesen wollen, kann nicht sichergestellt werden, und so könnten Werke für immer verschwinden, weil die Firma pleite geht, die sie vertrieben hat.

Und gleichzeitig ist fraglich, ob solche Regelungen mit dem aktuellen Urheberrecht verträglich sind, das festlegt, dass jegliche Werke 70 Jahre nach dem Tod des Autors Eigentum der Gemeinschaft werden, eine Regelung, die für die Medienlandschaft der Gesellschaft extrem förderlich ist (so wie zum Beispiel letztes Jahr die Werke von H.P.Lovecraft frei nutzbar wurden und sofort eine Reihe neuer Produkte zu seinen Werken auf den Markt kamen).

Die zweite Schwachstelle ist die technische Realisierung.
Um so ein System effektiv zu verwirklichen, muss festgestellt werden, wie oft ein Nutzer ein bestimtmes Werk nutzt, was heißt, dass irgendjemand Zugriff auf dessen Nutzungsverhalten erhält, was mit Datenschutz in keinster Weise vereinbar ist.

Gleichzeitig muss gesichert werden, dass die Käufer es nicht umgehen können, und im Fall von elektronischen Werken muss dafür das gesamte Computersystem kontrolliert werden, von den Festplatteninhalten bis zur Schnittestelle zu Lautsprechern und Monitor, weil ansonsten die Nutzer dieses System einfach umgehen können, indem sie zum Beispiel bei Hörbüchern einfach die Tonausgabe ihres Rechners digital aufnehmen oder eine Texterkennungssoftware über die Werke laufen lassen, die sie gerade lesen.

Und diese Kontrolle ist gerade, was DRM erreichen will: Digitales Rechte Management, das ich lieber Digitales Restriktions Management nennen will, weil das der passendere Name dafür ist, was es bewirkt.

Mit DRM wechselt die Kontrolle über den Rechner von seinem Besitzer auf den Hersteller oder den Überwacher des DRM-Systems und der Besitzer hat plötzlich nur noch bestimmte Nutzungsrechte, die nur gelten, solange das DRM-System sie ihm erlaubt.

Der Herrscher über das DRM-System kann damit dann den Einsatz des Rechners überwachen und kontrollieren, aber der Preis ist, dass der persönliche Raum der Benutzer dieses Systems damit in die Hände von Anderen gegeben wird, die nicht notwendigerweise vertrauenswürdig sind.

Weswegen DRM Systeme grundlegend schädlich sind, wird auf der Fairsharing-Seite eingehender behandelt:
http://www.fairsharing.de/infos/drm/index.php

Im Anschluss an eine Rückmeldung der Autorin wurde ihr die einfache Anregung gegeben, ihre Leser doch in ihrem Buch einfach direkt zu bitten, das Buch zu kaufen wenn es ihnen gefällt, weil sie weitere gute Bücher nur dann von ihr bekommen können, wenn sie es sich leisten kann, weitere Bücher zu schreiben, ein Konzept, das bereits von verschiedenen Leuten erfolgreich getestet wurde.

Ein Beispiel für den Erfolg dieser Strategie ist das Rollenspiel Degenesis, das sein gesamtes Werk als gratis Download im Netz anbietet und gerade deswegen zu Erfolg gekommen ist:
http://www.degenesis.de/html_data.html

Freie Mediennutzung ist möglich, wenn die Rechteinhaber den nötigen Mut dafür aufbringen.

Um ihnen zu helfen, diesen Mut zu finden, gibt es das Konzept der Kulturflatrate, bei der eine geschwindigkeitsabhängige Allmende auf die Internetverbindung gezahlt wird, mit der dann diejenigen Künstler vergütet werden, deren Werke im Netz unkommerziell weitergegeben werden.

Infos zu diesem Modell finden sich unter http://www.fairsharing.de/infos/kulturflatrate/index.php

Woran erkenne ich bei Phex / i2phex, ob ich anonym unterwegs bin?

-> geschrieben im i2phex-forum.

> Woran erkenne ich, ob ich anonym unterwegs bin? Wenn unter "Entfernte Rechner" keine IP-Adressen auftauchen, sondern längere Zahlen/Buchstabenkombinationen?

Wenn du i2phex verwendest, kannst du nur anonym unterwegs sein - der nicht-anonyme Netzwerkcode aus Phex wurde komplett auf i2p umgestellt.

Wenn du nicht weißt, ob die Version i2phex oder Phex ist: Jupp, sobald da statt einer IP nur Buchstabensalat steht, bist du anonym verbunden.

Wichtig ist dabei noch, dass du deinen share prüfst - wenn du was sharest, das nur du haben kannst, ist deine Anonymität in ernsthafter Gefahr (solange es sich nicht verbreitet hat).

Um da auf Nummer sicher zu gehen, schau mal in die Bibliothek. Wenn da Dateien drin sind, die dich identifizieren könnten, entfern' entweder den Ordner aus dem Share (hide/verstecken), oder klick auf den "Filter"-Knopf und füg' eine Bedingung hinzu, die die entsprechenden Dateitypen ausblendet (regexp).

Beispielfilter:

.directory
.DS_Store
.dolphinview

> Muss ich irgendwas machen, dass das Programm eine Verbindung bekommt? Bei mir erscheint nur "verbinden".

Wenn im Netzwerktab keine Verbindungen auftauchen, musst du mindestens einen aktiven Knoten finden.

z.B. hier: