Freenet


Ein interessanter Vertreter aus der Reihe der Peer-to-Peer Filesharing Programme ist das Projekt Freenet (nicht zu verwechseln mit dem deutschen Internet-Provider "Freenet.de"). Die Grundidee, die hinter Freenet steckt, ist die absolute Anonymität von Produzenten und Konsumenten von Informationen. Es soll nicht mehr nachweisbar sein, wer die Informationen in das Netz eingefügt hat und wer Informationen aus dem Netz abgerufen hat. Das Ziel ist die völlige Abschaffung von Urheberrechten. Es soll ein freier Zugang zu allen Daten im Netz für jedermann möglich sein. Der Kontrolle und Zensur von Daten soll damit ein Riegel vorgeschoben werden.

Freenet funktioniert (ähnlich wie das Gnutella-Netz) dezentral ohne Index-Server, welche ja sofort einen möglichen Angriffspunkt darstellen würden. Jeder, der sich aktiv am Freent beteiligen möchte, lässt auf seinem Rechner die Freenet-Software laufen. Sein Rechner wird zu einem Node und ist damit Bestandteil des Freenet-Netzes. Jeder stellt somit einen ungenutzten Teil seiner Festplatte als Datenspeicher zur Verfügung. Man kann das gesamte System als eine weltweit verteilte "virtuelle Festplatte" ansehen. Die Daten werden auf den einzelnen Nodes verschlüsselt gespeichert, somit weiß nicht einmal der Betreiber eines Nodes was auf seinem Rechner für Daten gespeichert sind. Er kann glaubhaft versichern, von nichts gewusst zu haben und kann deshalb auch nicht für den Inhalt seines Nodes zur Verantwortung gezogen werden.

Freenet basiert auf einem Paper von Ian Clarke mit dem Titel "A distributed decentralized information storage and retrieval system" von 1999. Darin beschreibt er die Grundgedanken, die letztendlich im Freenet Projekt verwirklicht wurden. Die aktuelle Version von Freenet kann man sich von der Homepage des Projektes (http://www.freenetproject.org) downloaden. Momentan liegt Freenet in der Version 0.4 vor, befindet sich aber noch im Beta-Stadium. Die Freenet-Software ist in Java implementiert und läuft auf Linux, Windows und Mac Plattformen. Als Java-Laufzeitumgebung wird Sun's 1.4 JVM empfohlen. Mittlerweile existieren auch verschiedene Applikationen, die Freenet als Kommunikationsmedium nutzen. Mit dem Tool "frost" kann klassisches Filesharing betrieben werden, so wie es von Napster her bekannt ist. "FreeWeb" ist ein grafisches Frontend, mit dem das Einfügen und die Pflege von Webseiten im Freenet erleichtert werden. "Freenews" stellt ein NNTP Gateway bereit, so dass sich Freenet wie das altbekannte Usenet nutzen lässt. Man kann jeden beliebigen Newsreader verwenden, genießt aber die Vorteile von Freenet, nämlich Anonymität beim Informationsaustausch.

Die Dateien, die in Freenet gespeichert sind, werden über Keys identifiziert, welche durch Anwendung einer Hash-Funktion über den gesamten Dateiinhalt erzeugt werden. Wenn man also eine Datei aus dem Freenet downloaden möchte, so benötigt man den Key dieser Datei. Aber woher bekommt man solche Keys? Man erhält sie z. B. aus thematisch sortierten Key-Listen, welche im World Wide Web zu finden sind und von den Usern angelegt und aktualisiert werden. Die Benutzung von Freenet funktioniert im Prinzip genauso wie beim WWW, nur dass man statt mit URLs mit den Keys arbeitet. Zum Abrufen von Dateien sendet man den Key als Request zu einem bekannten Node. Der Request wird von Node zu Node über einen intelligenten Routing-Algorithmus weitergeleitet, solange bis ein Node erreicht wird, der die zum Key passende Datei gespeichert hat. Auf der dadurch gebildeten Kette von Nodes wird die Datei zurückgeliefert und außerdem noch gespeichert. Das hat den Nebeneffekt einer transparenten Migration und Replizierung hin in Richtung des Konsumenten der Information. Häufig nachgefragte Informationen werden dadurch schnell zugänglich und weiträumig verbreitet. Ein hops-to-live Mechanismus ähnlich dem TTL bei IP verhindert endloses Weiterreichen der Requests.

Ob Freenet wirklich das halten kann, was es verspricht, wird sich aber erst in Zukunft zeigen. Auch kann man die momentane Größe und damit die Anzahl der Nutzer von Freenet aufgrund seiner Architektur nicht abschätzen. Zur Skalierbarkeit und Ausfallsicherheit wurden Untersuchungen mittels Simulation durchgeführt, aber erst im praktischen Einsatz kann man erkennen, ob sich Freenet so wie erwartet verhält. Viele Nutzer wird sicherlich auch der mehr oder weniger komplizierte Umgang mit den Keys abschrecken, solange es andere, einfach zu benutzende Filesharing Tools wie Gnutella, Morpheus, Audiognome etc gibt. Auch solange die Film- und Musikindustrie noch kein ernstzunehmendes Mittel zur Verfolgung des Austausches urheberrechtlich geschützter Dateien in der Hand hat, wird Freenet wohl eher eine untergeordnete Rolle spielen. Bei entsprechenden Rahmenbedingungen ist es aber durchaus möglich, dass Systeme mit den Architektureigenschaften von Freenet zukünftig Akzeptanz und Verbreitung finden.

Weiterführende Informationen, Literatur und Quellenangaben:

http://www.freenetproject.org
Software und Dokumentation zu Freenet, unter anderem auch das Paper von Ian Clarke.
http://home.t-online.de/home/juergen.brauer/freenet.htm
deutsche Beschreibung zu Freenet
http://www.openp2p.com/pub/a/p2p/2000/11/21/freenetcontent.html
Sehr interessante Untersuchung von Jon Orwant über den Inhalt von Freenet, allerdings von 2000 und sicher nicht mehr ganz aktuell.
http://gutweiler.net/xml/index.php/html/~/sebastian/freenet.xml
FAQ über Freenet, hilfreich beim Ausprobieren der Freenet-Software.
http://www.platypus.ro/content/topic.php?freenet
kritische Einschätzung zur Architektur und Benutzung von Freenet
"Kopieren ohne Grenzen" von Erik Moeller, c't Ausgabe 6/2001, Seite 150
Vorstellung bekannter zentraler und dezentraler P2P Filesharing Protokolle und Programme, vor allem in Bezug auf rechtliche Aspekte, Copyrights und Zensur.

Heiko Jehmlich, Fakultät für Informatik, April 2002