Mai 27, 2022
P2P

ZeroNet: Die Grundlagen

Übersetzung des Beitrags „The Basics“ von krixano und glightstar. (MIT-Lizenz)

Inhaltsverzeichnis

Einführung

Bevor wir mit der Erstellung von Zites beginnen, ist es nützlich zu wissen, wie Zites bei ZeroNet funktionieren. In diesem Tutorial erfahren Sie, wie Sie eine leere Zite erstellen, wo Sie Ihren Code ablegen können, was Sie benötigen, bevor Sie Ihre Zite veröffentlichen können und wie sie aktualisiert, übertragen und sicher aufbewahrt wird.

Zites bestehen aus grundlegendem Webcode, einschließlich html, css und js. Darüber hinaus werden JSON-Dateien zum Speichern von Daten verwendet und ZeroNet wird mitgeteilt, welche Datenbanken Sie haben und wie sie strukturiert sind.

Da ZeroNet keinen Server verwendet – alles wird auf Ihren Computer heruntergeladen und lokal ausgeführt – gibt es keine Möglichkeit, serverseitiges Scripting auszuführen. Dies wird jedoch durch die Verwendung der ZeroNet API namens ZeroFrame behoben. Mit dieser API können Sie Server- / Site- / Benutzerinformationen abfragen, Dateien über eine WebSocket-Verbindung zu Ihrem ZeroNet-Client laden oder ändern sowie Datenbanken abfragen und ändern. [1]

Eine Zite erstellen

Es gibt derzeit zwei Möglichkeiten zum Erstellen einer Zite. Sie können eine vorhandene Zite klonen oder Sie können Ihre eigene Zite von Grund auf neu erstellen. Wenn Sie sich entscheiden, eine Zite zu klone, gibt es viele davon, aus denen Sie wählen können, einschließlich ZeroBlog. Wenn Sie jedoch Ihre eigene Zite von Grund auf neu erstellen möchten, wird in den nächsten Tutorials behandelt. [2]

Um eine Zite zu klonen, finde eine Zite, die du klonen willst, besuche die Zite, damit sie auf deinen Computer heruntergeladen wird. Als nächstes gehe zurück zu ZeroHello und finde die Zite in der Sidebar. Klicke auf das Menüsymbol und klicke auf „Klonen“.

Um eine leere Zite zu erstellen, gehen Sie zu ZeroHello, klicken Sie oben links neben dem ZeroHello-Logo auf das Menüsymbol und klicken Sie auf „Neue, leere Zite erstellen“. Sobald Sie darauf klicken, werden Sie zu Ihrer neuen leeren Zite weitergeleitet. Notieren Sie sich die Adresse, das ist die Adresse, die die Leute benutzen werden, um Ihren Ort zu besuchen. Eine leere Zite wird alles einrichten, was Sie brauchen, um mit dem Erstellen einer Zite von Grund auf zu beginnen.

Die Seitenleiste

Die Sidebar ist der Ort, an dem Sie Informationen zu beliebigen Orten abrufen können. Sie kann durch einen Besuch einer Zite erreicht werden, indem Sie den transparenten Kreis mit der 0 in der Mitte nach links ziehen. Hier können Sie einen interaktiven Globus sehen, den Sie drehen können, der alle Peers über dem Globus anzeigt. Es gibt eine Liste von verschiedenen Eigenschaften darunter:

  1. Peers: Zeigt an, mit wie vielen Peers Sie verbunden sind, wie viele Verbindungen Sie herstellen können, wie viele Onions verwendet werden und wie viele Peers insgesamt vorhanden sind
  2. Datentransfer: Zeigt an, wie viele Daten auf der geöffneten Zite gesendet und empfangen wurden
  3. Dateien: Zeigt an, wie groß die Summe der verschiedenen Dateiformate ist
  4. Größenbeschränkung: Zeigt an, wie viel des Dateigrößenlimit Sie verwenden (in%), wie viel freier Speicherplatz auf Ihrer Festplatte zur Verfügung steht, und eine Eingabe, um das Zites-Dateigrößenlimit festzulegen
  5. Optionale Dateien: Zeigt an, wie viele Daten Sie von allen optionalen Dateien auf der Zite heruntergeladen haben
  6. Herunterladen und helfen, alle Dateien zu verteilen: Umschalten, wenn Sie alle optionalen Dateien herunterladen und verteilen möchten
  7. Datenbank: Zeigt an, wie groß die Datenbank ist, den Pfad zu ihr (relativ zum Zite-Pfad), eine Schaltfläche zum erneuten Laden des Datenbank-Schemas und eine Schaltfläche zum Neuerstellen der Datenbank
  8. Identitätsadresse: Zeigt an, wie viel Speicher Sie auf der Zite benutzt haben, dessen Gesamtmenge vom Eigentümer festgelegt wurde, und Ihre Authentifizierungsadresse mit einer Schaltfläche, um ein anderes Konto auszuwählen
  9. Seitenkontrolle: Die erste Schaltfläche versucht, die neueste verfügbare Version für jeden verbundenen Peer abzurufen, die zweite puffert den Download neuer Daten, und die dritte löscht die komplette Version von der Festplatte
  10. Websiten-Adresse: Zeigt die Zite-Adresse an (dies kann hilfreich sein, um die Zite in Ihrem Datenverzeichnis zu finden, wenn Sie über eine .bit-Adresse darauf zugreifen)
  11. Fehlende Dateien: Zeigt eine Liste aller Dateien an, die laut ZeroNet-Client fehlen
  12. Das ist meine Seite: Schalter, um umzuschalten, wenn du diese Zite besitzt. Wenn dies aktiv ist, werden einige andere Elemente darunter angezeigt

Der Listenteil Das ist meine Seite:

  1. Seitentitel: Eingeben, um den Titel der Zite zu ändern
  2. Seitenbeschreibung: Eingabe, um die Beschreibung der Zite zu ändern
  3. Speichern Sie die Websiteeinstellungen: Eine Schaltfläche, um die letzten beiden Eingaben in die content.json-Datei der Zeit zu speichern
  4. Inhalt veröffentlichen: Eine Liste von Dateien, die Sie unterschreiben können (klicken Sie auf diese, um sie in die Eingabe unten einzufügen), ein Feld zum Eingeben der Datei, die Sie signieren / veröffentlichen möchten, eine Schaltfläche zum Signieren der ausgewählten Datei und eine weitere zum Veröffentlichen bei verbundenen Peers

Wo wird eine Zite lokal gespeichert?

Wenn Sie den Code für Ihre Zite ändern müssen, finden Sie Ihre Zite im Ordner ZeroNet\_Root/data unter dem Verzeichnis Ihrer Zite-Adresse. Dies entspricht der in der Seitenleiste angezeigten site-address. Wenn Sie zum ersten Mal starten, sollte dieses Verzeichnis eine Datei content.json, eine Datei index.html und ein js-Verzeichnis enthalten, in dem sich die Datei ZeroFrame.js befindet.

content.json-Datei, was ist das?

Wenn ein Besucher Ihre Zite besucht, wird als erstes die Datei content.json der Zite heruntergeladen. Diese content.json-Datei enthält alle anderen Dateinamen, die heruntergeladen werden müssen, um die Zite zusammen mit ihren Hashes zu verwenden, damit sichergestellt werden kann, dass sie die richtigen Dateien herunterladen. Dies gibt im Grunde Informationen über den Inhalt de Zite. Diese Datei enthält auch eine kryptografische digitale Signatur, die vom Eigentümer erstellt wurde, um zu überprüfen, ob die Datei content.json von anderen Personen, als dem Besitzer des Zite-Objekts, manipuliert wurde. Die Datei enthält weitere Informationen, wie die ZeroNet-Version, für die die Zite erstellt wurde, die geänderte Nummer, die angibt, welche Version der Zite heruntergeladen wird, den Titel und die Beschreibung der Zite, die Adresse, aus der Sie die Zite geklont haben, und weitere wichtige Informationen .

Signieren der content.json-Datei

Wenn Sie Änderungen an Ihrer Zite vornehmen, einschließlich der Datei content.json, müssen Sie die Datei signieren. Dies stellt sicher, dass jedes Mal, wenn eine Person Ihre Zite herunterlädt, diese Änderungen vom Zite-Besitzer vorgenommen wurden. Wenn Sie Ihre content.json-Datei signieren, werden die Hashwerte für alle auf Ihrer Zite gespeicherten und verwendeten Dateien aktualisiert.

HINWEIS: Wenn Sie diese Datei nicht signieren, können Besucher diese aktualisierte Version Ihrer Zite aus Sicherheitsgründen nicht herunterladen. Wenn Sie keine Peers haben, können sie Ihre Zite überhaupt nicht besuchen, da sie eine signierte content.json-Datei nicht an anderer Stelle herunterladen können.

Stellen Sie sicher, dass Sie diese Datei signieren, bevor Sie sie veröffentlichen.

Um diese Datei zu signieren, gehen Sie in die Seitenleiste und klicken Sie im Abschnitt Dies ist meine Website auf Sign.

Wie Zites gesichert sind

ZeroNet schützt Zites mit privaten und öffentlichen Schlüsseln, wobei der öffentliche Schlüssel die Adresse Ihrer Zite ist. Der private Schlüssel wird immer auf Ihrem Computer in der Datei users.json im Verzeichnis ZeroNet\_Root/data gespeichert. Dieser private Schlüssel wird verwendet, um eine digitale Signatur zu erstellen und den Hash der Datei content.json in seinem aktuellen Zustand zu verschlüsseln (mit Ausnahme der digitalen Signatur, die in der Datei gespeichert ist). Diese digitale Signatur (und verschlüsselter Hash) wird dann in dieser Datei gespeichert. Wenn ein Besucher die Datei herunterlädt, entschlüsselt er zuerst die digitale Signatur mit dem öffentlichen Schlüssel der Zite (die Adresse der Zite). Dann verifizieren sie die Datei, indem sie den Hash der Datei mit dem Hash vergleichen, der entschlüsselt und über die digitale Signatur gesendet wurde.

Dadurch bleibt Ihre Zite sicher, denn die einzige Person, die die digitale Signatur erstellen kann, die den Hash der Datei content.json enthält, ist die Person mit dem privaten Schlüssel – der Zite-Besitzer.

Veröffentlichen Sie Ihre Zite

Um Ihre Zite zu veröffentlichen, signieren Sie einfach Ihre content.json-Datei und klicken auf „publish“ in der Seitenleiste. Diese Schaltflächen befinden sich in der Seitenleiste unter dem Abschnitt Dies ist meine Website. Wenn Sie keine Peers haben, müssen Sie nicht auf „Veröffentlichen“ klicken. Beim Veröffentlichen wird die Datei content.json an andere Peers gesendet. Ohne Peers ist dies nicht erforderlich, da diese Peers Ihre Zite von Ihrem Computer herunterladen, wenn sie Ihre Zite besuchen.

Halten Sie Ihre Zite online

Um Ihre Zeit online zu halten, benötigen Sie zuverlässige und stets aktive Peers. Wenn Ihr Computer nicht ständig mit ZeroNet verbunden ist, müssen Sie entweder genügend Peers haben, um sicherzustellen, dass Ihre Peer-Anzahl nicht auf null fällt, wenn Sie offline sind, oder Sie müssen mindestens einen Peer finden, der immer online ist.

Es kann eine gute Idee sein, Ihre Zite mit ZeroNet-Proxies zu verteilen, zum Beispiel bit.surf. Um dies zu tun, besuchen Sie Ihre Seite einfach mit dem Proxy Ihrer Wahl. Dies wird dazu beitragen, Ihre Zite online zu erhalten, indem Sie einen anderen Computer mit der Zite ausstatten. bit.surf ist eine gute Wahl, wenn Sie ZeroNet-Suchmaschinen wie RVRE nutzen möchten.

Sie können Ihre Zite auch zu New ZeroNet Sites hinzufügen, wodurch nicht nur Ihre Zite weiter verbreitet wird, sondern auch Seeder, die aus dieser Liste neuer Zites stammen.

Und schließlich können Sie Ihre Zite auch zu ZeroSites hinzufügen, damit sie leichter gefunden werden kann.

Aktualisieren Ihrer Zite

Die Aktualisierung Ihrer Zite ist ziemlich einfach. Nachdem Sie Änderungen an der Zite vorgenommen haben, müssen Sie zunächst Ihre Zite signieren. Dadurch werden die Hashwerte und die digitale Signatur in der Datei content.json aktualisiert. Nachdem Sie dies getan haben, klicken Sie auf „Veröffentlichen“. Dadurch wird die neue Datei content.json an maximal 6 verschiedene Peers gesendet. Diese Peers überprüfen, ob die Datei neuer ist als die, die sie bereits haben. Wenn dies der Fall ist, laden sie den Rest der Dateien herunter, die geändert / aktualisiert wurden (durch Vergleich der Hashes in der neuen Datei content.json mit den Hashes in der alten Datei content.json, um festzustellen, ob sie sich geändert haben).

Nachdem ein Peer die aktualisierten Dateien gespeichert hat, sendet er diese mit der gleichen Methode wie oben an andere Peers. Schließlich haben alle Peers die aktualisierten Dateien.

Beachten Sie, dass vor einem Peer-Download die geänderten Dateien zunächst geprüft werden, ob die Datei content.json vom Zite-Besitzer geändert wurde, indem der Hash der Datei mit dem entschlüsselten Hash der digitalen Signatur verglichen wird. Und nachdem sie die aktualisierten Dateien heruntergeladen haben, werden sie auch mit den Hashes in der Datei content.json überprüft.


[1] Es gibt eine Seite auf ZeroNet Read The Docs, die einen Verweis auf die ZeroFrame API gibt.

[2] Es gibt auch dieses Tutorial von ZeroBlog.