Blocksnet, ist ein Open-Source-System zum Speichern und Abfragen von digitalen Daten in einem P2P-Netzwerk.
Das System gewährleistet die Glaubhafte Abstreitbarkeit eines bestimmten Datentausches seiner Benutzer, was manchmal gewünscht wird, da in Netzwerken wie z.*B. Gnutella- und Gnutella2, FastTrack, Kazaa, eDonkey, BitTorrent die Benutzer inzwischen häufiger Ziel von Strafverfolgung und zivilrechtlichen Forderungen werden.
Blocksnet ist nur ein neuer Client für das OFF-Netzwerk, an der eigentlichen Technik hat sich aber noch nichts geändert!
Blocksnet befindet sich noch in der Alpha Phase, Blocksnet Version 0.10.
Blocksnet verfügt über keinen GUI sondern ein Webinterface.
Das 99% Problem besteht bei Blocksnet nicht mehr!
Blocksnet gibt es für Win32 (Win7/Vista 32Bit und 64BIT funktionieren auch) und Linux Ubuntu, Kubuntu!
Konzept
Alle Dateien im OFF-Netzwerk werden in zufällig ausgewählten („randomized“) Datenblöcken gespeichert. Jede angebotene Datei wird vor dem Upload auf der eigenen Festplatte in etliche Einzelteile geteilt (Blöcke) und dann mit den Blöcken anderer Dateien, die nichts mit der eigentlichen Datei zu tun haben, gemischt. Dies erfolgt über eine XOR-Verknüpfung und sorgt dafür, dass die Blöcke unkenntlich gemacht werden. Zu diesem Zeitpunkt ist es nicht mehr möglich zu sehen, welcher Block zu welchen ehemalig eingefügten Dateien gehört.
Jeder Teilnehmer des OFF-Netzwerks gibt je nach Bedarf eine bestimmte Menge Festplattenspeicher frei, auf welchem daraufhin die einzelnen vermischten Dateien in Form von Blöcken verteilt gespeichert werden, die jedoch nicht den Inhalt der Dateien als Klartext haben, da sie zuvor über die oben genannte XOR-Verknüpfung mit anderen willkürlich gewählten Blöcken vermischt wurden. Man speichert somit nicht die Dateien anderer oder die eingelagerte Originaldatei auf seinem Node, sondern nur zusammenhangslose Blöcke. Dies macht die Anonymität aus.
Um eine Datei herunterladen zu können, braucht man einen Schlüssel, der in Form einer URL vergeben wird. Der Client lädt sich dann verteilte Blöcke vom Korb-Speicher (engl.: „Bucket“) der ausgewählten Nodes und setzt sie wieder zur einer kompletten Datei zusammen. Weil die Kleinteile mehrdeutig sind und als Kombination mehrerer Dateien oder Kleinteile entstehen, kann man keinerlei Rückschlüsse von den vorhandenen gespeicherten Daten an sich auf die ursprünglichen Dateien ziehen.
Das einzige Element, das die Zuordnung erlaubt, ist die URL der hochgeladenen Dateien. Diese sind jedoch durch die Bereitstellung der Keys über die Suche vollkommen optional („protected“). Es müssen einfach nur die URLs über andere Kanäle wie z.B. RetroShare anonym ausgetauscht werden.
Blocksnet verfolgt dasselbe Ziel wie das Freenet-Projekt, ist jedoch einfacher zu bedienen mit optimierter Geschwindigkeit und daher so schnell wie BitTorrent oder eMule.
Technisches
Wenn also ein Block getauscht wird, kann jede IP-Adresse diese Blöcke sehen oder auch den einzelnen Block bekommen, wird damit aber nichts anfangen können. Niemand innerhalb oder außerhalb des Netzwerkes kann jemanden innerhalb des Netzwerkes anklagen oder jemandem eine kopierrechtliche Unterstellung zuweisen – denn niemanden kann für den Austausch von geschredderten, sinnlosen Daten angeklagt werden.
Alsbald eine Datei in das OFF-Netzwerk (Blocksnet) eingestellt wird (das nennt man hochladen, einlagern oder „dispersen“), wird die Originaldatei in viele 128-KB-Grosse Blöcke zerhackt und mit anderen (sinnlosen) Blöcken verschmolzen.
Dieses „Verschmelzen“ kann man sich so vorstellen: Um auf die Zahl „7“ zu kommen, kann man sich folgende Rechenoperation „A“ merken: „5+2“, oder aber auch die Rechenoperation „B“: „10-3“.
Wenn der Block „7“ nun vorliegt, kann man mit Rechenoperation A auf „5“ kommen, oder aber auch auf die „10“ mit der Rechenoperation „B“. Dieses Verfahren nennt man „XOR“en. Ein und derselbe Block kann daher immer mehreres enthalten: Ubuntu Linux als auch Suse Linux. Die Blöcke werden ständig neu generiert, d.h. die „7“ ist auch in der Rechenoperation „C“ enthalten, um die „30“ zu erstellen: 23+“7“.
Mit Block „30“ und der Rechenoperation C sowie der Rechenoperation A kann man wiederum die „5“ erhalten. Was man daraus macht, entscheidet lediglich die „Rechenoperation“.
Wichtig ist, dass die Blöcke nichts, aber auch gar nichts mit der Originaldatei oder den Originaldateien zu tun haben. Man kann aus einem Block nicht auf irgendeine Original-Datei schließen. Daher ist das Tauschen der OFF-Blöcke völlig anonym und legal.
Es handelt sich bei den Blöcken nur um Zahlen: z.B. 7, z.B. 10, usf: 3, 5, 2, 23, 7. Und an Zahlen gibt es keine Kopierrechte und auch nicht an den Blöcken, denn die sind zufällig durch mathematische Verfahren und unter Verwendung von zufällig ausgewählten anderen (mehreren) Blöcken gebildet, die wiederum nur zufällige Zahlen sind (oder nur zufällige Zahlen enthalten). Auch wer zufällige Zahlenreihen mit zufälligen Zahlenreihen mischt, erhält nur zufällige Zahlenreihen. Diese haben nichts mit irgendeiner Originaldatei zu tun. Blöcke zu tauschen ist also legal und erlaubt und keiner kann etwas nachweisen, was getauscht wurde.
OFF-Urls
Die Bedeutung, das „Meaning“, der Blöcke liegt daher einzig und allein in der sogenannten „OFF-Url“. Diese ist ein langer Http-Link, der die Hinweise enthält, wie die Rechenoperationen anzuwenden sind, um aus Blöcken eine Originaldatei wieder herzustellen (das nennt man „retrieven“).
Eine OFF-Url sieht wie folgt aus: http://localhost:23402/offsystem/v2/application/offdir /8507e8gdc954f5d7f833cc7c3d2174cbf75b3f1c/ 2293214/93615f7b04ac3dec9b60d9631536f13f85fa89f3/ d93d55f2df80523ab440232232a2cec900137533/ 42ee7000ccfa9b3c3d13280cef4c356d866bf811/ 769e4ab6a418c5f7a004ece444d9d28ae2246644/ 61b7fb1ae5fb935883105dcab16b963adce3351e/ 2d425dbce31815079ec73f80ba937368d6368df0/ collection.of.free.speeches.pdf.ofd
Man muss diese einfach nur auskopieren mit der rechten Maustaste, dann befindet sich die Url in der Zwischenablage. Sodann fügt man sie in die Adresszeile des Browsers ein und drückt enter, die Datei wurde nun automatisch zu den Blocksnet Downloads hinzugefügt, natürlich muss Blocksnet zu diesem Zeitpunkt aktiv sein.
Originaldatei herstellen
Wenn der Downloadbalken sodann auf 100*% ist, dann kann man die Datei zusammenfügen und auf einem beliebigen Platz auf dem PC abspeichern, man muss lediglich auf den Dateinamen klicken, der nach vollendigung blau unterlegt ist.
Da OFF-Urls normale Urls sind, die ebenso von Google gespeichert werden, sind sie ebenso nicht verboten. Zudem sind OFF-Urls nur Meta-Daten, die nicht zu einer Datei verweisen, sondern ähnlich einem Literaturverweis oder einer bibliographischen Angabe nur zu einem Medium referieren, haben sie keinen Bezug zur Originaldatei. OFF-Urls beziehen sich auf Blöcke, die bedeutungslos sind. Sie beziehen sich nicht auf Originaldateien. Der Fall, dass man eine OFF-Url in Blocksnet packt, heisst also nicht, dass man die Datei auch „retrieven“ wird. Da Retrieven privat bleibt, kann es keinen Nachweis geben. Es ist zudem so, als wenn man ein Buch aus der Bibliothek entleiht und nach dem Lesen wieder zurückbringt. Blocksnet wird daher auch als zukünftige Welt-Bibliothek bezeichnet. Niemand kann jedoch nachweisen, ob jemand, der das Buch aus der Bibliothek entliehen hat, auch gelesen hat oder es ungelesen wieder zurückstellt in den Medienspeicher für alle.
Cache und Bucket
Der (Block-)Cache ist der Teil des Lagers, in dem Blöcke liegen, die DU haben wolltest. Du hast sie angefordert, das sind deine Downloads. Der (Block-)Bucket ist Speicherplatz auf deiner Festplatte, den Du dem System bereitstellst. Der Bucket, nicht der Cache, ist dein Anteil zur „Weltbibliothek“, zum OFF Netzwerk, dein -um´s mal richtig zu sagen - Shared Folder. Die Summe aller Buckets ist die Kapazitätsgrenze des Systems. Sei also nicht geizig und spende reichlich.
Speed
Bei Blocksnet gibt es die Möglichkeit, beim einstellen neuer Datein, diese mit Blöcken alter Dateien zu mischen, somit ergibt es sich, dass man beim Download einer Datei schon nach 10 Minuten 60% der Datei auf der Festplatte haben kann, da man früher schon eine andere Datei mit den selben Blöcken heruntergeladen hat.
Da bei Blocksnet nicht wie etwa wie bei Stealthnet Daten geroutet werden (über andere Benutzer verschleiert), sondern es auch direkt Verbindungen gibt ist die Geschwindichkeit sehr gut, wie z.B. bei µTorrent oder Emule.
Aber keine Angst euch kann nichts passieren, da ihr ja nur Datenmüll herunterladet!
Performance patch for block requests. (Fixes)
Performance patch for block requests. (First version)
Make URLCollection more robust.
Add application/offdir MIME type so that BlocksNet recognizes OFDs as such.
Fix pattern matching in store-files s*****.
Fix regression due to quotation.
Don't load readline on win32, breaks threading.