Peer to Peer Publishing

In den letzten Wochen war es geradezu ein Volkssport für Geeks und Nerds die Whistleblower-Website Wikileaks zu spiegeln. Doch das führt zu einer Frage: Welche diese Mirror sind überhaupt aktuell? Am ehesten noch die eigentliche Hauptseite wikileaks.ch.

Um der Zensur durch große Konzerne und Regierungen keine Chance zu geben, wurde vor zwei Wochen die Idee eines Peer-to-Peer-Domainname-Systems geboten. Dazu gibt es mittlerweile schon einen Wiki und ein Blog. Solchermaßen verteilte DNS-Server könnten nicht so einfach durch einen willkürlichen Akt wie jenen von EveryDNS.net zum Stillstand werden.

Die Zeit ist also reif für weitere verteilte System. Wie wäre es etwa mit Peer to Peer-Publishing?

Network, Credit: University of Virginia

Und so könnte das funktionieren:

  • Auf mehreren Servern läuft ein CMS á la WordPress.
  • Als Plugin ist eine Erweiterung mit Publishing-Rechten installiert.
  • Es gibt einen Public Key, die Erlaubnis zum Publishen wird durch einen Private Key gewährt.
  • Ist ein Artikel gepostet, repliziert sich dieser über alle Server in diesem P2P-Publishing-Netzwerk.
  • Eine Anzeige meldet dem Nutzer, ob der Spiegel auf dem letzten Stand ist.

Ergebnis 1: War es bislang nötig, auf einem Server zu publizieren, ist dies nun auf jedem möglich. Somit ist das System nicht mehr ausschaltbar.
Ergebnis 2: Alle Mirrors wären automatisch up to date.

Fragen:

  • Ist das überhaupt möglich? Ich denke schon. Aber was meint ihr?
  • Welche anderen Techniken gibt es dafür? Die Replikation von Mirrors per FTP braucht auch einen Anfangspunkt, ist somit fehleranfällig.
  • Wäre das ein Projekt für das CreateCamp vom 4. bis 6. Februar in Klagenfurt? Hier geht’s zum BarCamp-Wiki und hier zur Erklärung, was das CreatCamp sein soll.
  • Wie kann man Missbrauch verhindern? Mir ist bewusst, dass diese Technik nicht nur gute Anwendungen findet. Auch Neonazi-Gruppen oder Kinderschänder könnten vom verteilten Publizieren profitieren.

14 Kommentare
  1. Bruno Hautzenberger
    Bruno Hautzenberger sagte:

    Ich dachte vor einiger Zeit darüber nach wie man sowas wie ein dezentrales Twitter umsetzen könnte, also Twitter ohne zentrale Stelle an die alle Teilnehmer Updates melden und Updates Anderer holen.
    Offensichtlich kam ich zu keiner endgültigen Lösung aber die Funktionsweise von Google Wave also des FedOne Servers war einen Gedanken wert, wenn man diese Funktionsweise adaptieren würde könnte man vielleicht so etwas wie du dir vorstellst realisieren. „Shared State“ also Applikationen welche im Web in Realtime ihre Datendeltas abgleichen können um so effizient ihre Daten abzugleichen ohne zetrale Architektur.
    Technisch habe ich dazu nur Ideen, aber diese wären wohl zu lange für einen Comment. Bin aber jederzeit für eine ausführliche Diskussion zu diesem Thema bereit.

  2. Stefan
    Stefan sagte:

    Bei WL funktioniert das ja so, dass WL eine lange Liste von Servern (IP, User, Passwort) hat und von einem zentralen Server (also von ihnen aus) auf alle Server published..

  3. Georg Holzer
    Georg Holzer sagte:

    @Bruno: Schade, dass man Kommentare hier nicht liken kann 🙂

    @Stefan: Ausgangspunkt: Klar, irgendwer muss publishen können. Mit einem Key. Aber er kann als „Ausgangspunkt“ (blöd gewähltes Wort) jeden Server wählen.
    Was meinst mit WL? Ich meine eher eine Art wie Skype. Weiß nicht, ob Skype eine lange Liste mit allen Clients haben. Die sollten sich gar nicht zentral melden, sondern untereinander signalisieren. Wenn das überhaupt geht …

  4. Stefan
    Stefan sagte:

    Aso, du meinst dass der nicht direkt auf ein „WordPress“ (oder whatever) zugreift, sondern immer eines auf ein anderes, oder wie?

    Naja, Wikileaks hat halt die zentrale Liste, und published dann auf alle Server auf der Liste. Eine Möglichkeit wäre natürlich, dass ich ein paar Server kenne, auf die ich publishe, und die Server kennen dann wieder ein paar Server, auf die sie dann weiter published. Aber ein paar Server kennen muss man schon (oder die Server dich, aber das is glaub ich noch anfälliger..)

  5. Jeffrey
    Jeffrey sagte:

    Ich finde es grundsätzlich eine sehr interessante Idee. Im Prinzip könnte man das auch als eine Art Torrent-Netzwerk lösen. Da wird ja auch gerade das Client zu Client Prinzip genutzt.

    Bezüglich dem Missbrauch: Das kann man nun mal leider nicht vermeiden.

    Ist ja bei Torrent beispielsweise jetzt schon so, dass es viel von Raubkopierern genutzt wird. Aber grundsätzlich wurde es ja erfunden, dass man damit sehr einfach und ohne zentrale Komponente Dateien untereinander austauschen kann. Linux Distributionen wie etwa Ubuntu machen das ja mit ihren ISO-Dateien noch heute so.

  6. Roman
    Roman sagte:

    Die Idee hat was, war schon immer ein Fan von P2P Lösungen.

    Technisch würde ich ähnlich wie bei torrent oder esel auf ein Programm auf einer Lokalen Workstation aufsetzen, von dem aus man die Mirrors bespielt, die sich dann gegenseitig updaten.

    Missbrauch ist halt so eine Sache – lässt sich leider nicht vermeiden. Das ist halt die dunkle Seite des Open Web…

  7. robot
    robot sagte:

    Bei so heiklen Materialien wie denen von Wikileaks dürfte wohl eher eine Form des Bier to Bier publishing sinnvoll sein. Nur durch die Verteilung alleine (das hat Wikileaks schmerzhaft erfahren) ist noch lange keine Information der Bevölkerung zu erzielen und auch keine Verknüpfung und Potenzierung des Wissens.
    Es muss auch darüber geredet werden!

  8. wuchale
    wuchale sagte:

    Gäbe es dabei einen „Master“ oder holt sich jede Peer immer die jeweils aktuellste Version einzelner Files, die es im Verbund findet?

    Gleichberechtigte Peers die gleichzeitig einen dynamischen Inhalt hosten werfen für mich folgende Fragen auf:

    – wie könnten Lock-Mechanismen aussehen? (RaceCondition)
    – Wie könnte man Redakteur-Flame-Wars verhindern?
    – wie kann man einen böswilligen Intruder, der Junk ins System posten will, ausschließen?
    – wie sollte das Key-Management aussehen?
    – wie müsste so ein „Verbund“ verwaltet werden? Wer „spielt“ mit? Authentifizierung?

    Bitte nicht als Kritik verstehen! Hab nur schreibend gedacht. Die Idee finde ich sehr verfolgenswert!

  9. fatmike182
    fatmike182 sagte:

    @ wuchale
    Junk usw kann leicht ausgeschlossen werden mMn:
    Man benötigt ja deswegen nicht gleich 100x mehrere Stellen, die das .torrent anbieten (oder auf welches System man auch immer setzt), sondern hat da ja schon seine Vertrauensbasis. Was es aber bedarf sind mehrere physische Quellen, die ja jeder Beteiligte automatisch ist.
    Ich vermute, dass Junk bei einem Mirror leichter verbreitbar gewesen wäre (keiner schaut sich 3 Mirrors an & gleicht Daten ab)

  10. wuchale
    wuchale sagte:

    @fatmike182
    es scheint sich als grundlegende entscheidung aufzudrängen: gibt es einen geschlossenen oder einen offenen benutzerkreis. denn das beantwortet die frage ob es eine vertrauensbasis zwischen den peers geben kann.

    bin kein erfahrener torrent-user. kann das jemand beantworten: kommt die technik damit zurecht wenn mehrere peers den datenbestand (zur laufzeit) ändern? im schlechtesten aber wahrscheinlichen fall gleichzeitig?

  11. fatmike182
    fatmike182 sagte:

    @ wuchale
    ad Vertrauensbasis: würde ich über Distribution der Adressdatei regulieren, nicht über die peers selbst, darin läge ja der Vorteil.

    Für Zweiteres müsste, soweit ich es verstehe (was leider auch nicht viel ist ;-)) eine neue Technologie her; ein Versionsmanagement oder so.

Kommentare sind deaktiviert.