Veröffentlichung von ZeroNet 0.7, einer Plattform zur Erstellung dezentraler Websites

Nach einem Jahr Entwicklungszeit wurde die Veröffentlichung einer dezentralen Webplattform veröffentlicht ZeroNet 0.7, das vorschlägt, die Adressierungs- und Verifizierungsmechanismen von Bitcoin in Kombination mit den verteilten Bereitstellungstechnologien von BitTorrent zu nutzen, um Websites zu erstellen, die nicht zensiert, gefälscht oder blockiert werden können. Der Inhalt von Websites wird in einem P2P-Netzwerk auf den Computern der Besucher gespeichert und mithilfe der digitalen Signatur des Eigentümers überprüft. Zur Adressierung wird ein System alternativer Root-DNS-Server verwendet Namecoin. Das Projekt ist in Python geschrieben und vertrieben von lizenziert unter GPLv2.

Die auf der Website veröffentlichten Daten werden überprüft und mit dem Konto des Websitebesitzers verknüpft, ähnlich wie bei der Verknüpfung von Bitcoin-Wallets, was es auch ermöglicht, die Relevanz von Informationen zu kontrollieren und Inhalte in Echtzeit zu aktualisieren. Um IP-Adressen zu verbergen, kann das anonyme Tor-Netzwerk verwendet werden, dessen Unterstützung in ZeroNet integriert ist. Der Nutzer beteiligt sich an der Verbreitung aller von ihm aufgerufenen Seiten. Nach dem Herunterladen auf das lokale System werden die Dateien zwischengespeichert und mithilfe von Methoden, die an BitTorrent erinnern, für die Verteilung auf dem aktuellen Computer verfügbar gemacht.

Um ZeroNet-Sites anzuzeigen, führen Sie einfach das Skript „zeronet.py“ aus. Anschließend können Sie Sites im Browser über die URL „http://127.0.0.1:43110/zeronet_address“ öffnen (z. B. „http://127.0.0.1“) :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D“). Beim Öffnen einer Website findet das Programm Peers in der Nähe und lädt Dateien herunter, die mit der angeforderten Seite verknüpft sind (HTML, CSS, Bilder usw.).
Um Ihre Site zu erstellen, führen Sie einfach den Befehl „zeronet.py siteCreate“ aus. Anschließend werden eine Site-ID und ein privater Schlüssel generiert, um die Urheberschaft mithilfe einer digitalen Signatur zu bestätigen.

Für die erstellte Site wird ein leeres Verzeichnis der Form „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D“ erstellt. Nach Änderung des Inhalts dieses Verzeichnisses muss die neue Version mit dem Befehl „zeronet.py siteSign site_identifier“ und der Eingabe des privaten Schlüssels zertifiziert werden. Sobald der neue Inhalt verifiziert wurde, muss er mit dem Befehl „zeronet.py sitePublish site_id“ angekündigt werden, damit die geänderte Version für Peers verfügbar wird (die WebSocket-API wird zur Ankündigung von Änderungen verwendet). Entlang der Kette prüfen Peers mithilfe einer digitalen Signatur die Integrität der neuen Version, laden die neuen Inhalte herunter und übertragen sie an andere Peers.

Haupt- Fähigkeiten:

  • Es gibt keinen Single Point of Failure – die Site bleibt zugänglich, wenn mindestens ein Peer in der Verteilung vorhanden ist;
  • Fehlender Referenzspeicher für die Site – die Site kann nicht durch Trennen des Hostings geschlossen werden, da sich die Daten auf allen Computern der Besucher befinden;
  • Alle zuvor angezeigten Informationen befinden sich im Cache und sind vom aktuellen Computer im Offline-Modus ohne Zugriff auf das globale Netzwerk zugänglich.
  • Unterstützung der Inhaltsaktualisierung in Echtzeit;
  • Möglichkeit der Adressierung durch Domainregistrierung in der „.bit“-Zone;
  • Arbeiten Sie ohne vorherige Einrichtung – entpacken Sie einfach das Archiv mit der Software und führen Sie ein Skript aus;
  • Möglichkeit, Websites mit einem Klick zu klonen;
  • Formatbasierte passwortlose Authentifizierung BIP32: Das Konto ist durch die gleiche kryptografische Methode wie die Bitcoin-Kryptowährung geschützt.
  • Integrierter SQL-Server mit P2P-Datensynchronisierungsfunktionen;
  • Die Möglichkeit, Tor für Anonymität und volle Unterstützung für die Verwendung versteckter Tor-Dienste (.onion) anstelle von IPv4-Adressen zu verwenden;
  • Unterstützung der TLS-Verschlüsselung;
  • Automatische Erreichbarkeit über UPnP;
  • Möglichkeit, der Site mehrere Autoren mit unterschiedlichen digitalen Signaturen hinzuzufügen;
  • Verfügbarkeit eines Plugins zum Erstellen von Mehrbenutzerkonfigurationen (openproxy);
  • Unterstützung für die Ausstrahlung von Newsfeeds;
  • Funktioniert in allen Browsern und Betriebssystemen.

Wesentliche Änderungen in ZeroNet 0.7

  • Der Code wurde überarbeitet, um Python3 zu unterstützen und die Kompatibilität mit Python 3.4-3.8 sicherzustellen;
  • Ein geschützter Datenbanksynchronisierungsmodus wurde implementiert;
  • Wo möglich, wurde der Hauptvertrieb von Drittbibliotheken zugunsten externer Abhängigkeiten eingestellt;
  • Der Code zur Überprüfung digitaler Signaturen wurde um das 5- bis 10-fache beschleunigt (es wird die Bibliothek libsecp256k1 verwendet;
  • Randomisierung bereits generierter Zertifikate hinzugefügt, um Filter zu umgehen;
  • Der P2P-Code wurde aktualisiert, um das ZeroNet-Protokoll zu verwenden;
  • Offline-Modus hinzugefügt;
  • UiPluginManager-Plugin zum Installieren und Verwalten von Plugins von Drittanbietern hinzugefügt;
  • Es wird volle Unterstützung für OpenSSL 1.1 bereitgestellt;
  • Beim Herstellen einer Verbindung zu Peers werden Dummy-SNI- und ALPN-Einträge verwendet, um Verbindungen ähnlicher zu machen wie Aufrufe zu regulären Websites über HTTPS;

Am selben Tag wie die Veröffentlichung von ZeroNet 0.7.0 gebildet Update 0.7.1, das eine gefährliche Schwachstelle beseitigt, die möglicherweise die Ausführung von Code auf der Clientseite ermöglicht. Aufgrund eines Fehlers im Code zum Rendern von Vorlagenvariablen kann eine geöffnete externe Site über WebSocket mit unbegrenzten ADMIN/NOSANDBOX-Rechten eine Verbindung zum Client-System herstellen, wodurch es möglich ist, Konfigurationsparameter zu ändern und ihren Code auf dem Computer des Benutzers auszuführen Manipulationen mit dem Parameter open_browser.
Die Schwachstelle tritt im Zweig 0.7 sowie in experimentellen Builds ab der Revision auf 4188 (Änderung vor 20 Tagen vorgenommen).

Source: opennet.ru

Kommentar hinzufügen