Lansarea ZeroNet 0.7, o platformă pentru crearea de site-uri web descentralizate

După un an de dezvoltare, a fost lansată lansarea unei platforme web descentralizate ZeroNet 0.7, care propune utilizarea mecanismelor de adresare și verificare ale Bitcoin în combinație cu tehnologiile de livrare distribuite ale BitTorrent pentru a crea site-uri care nu pot fi cenzurate, contrafăcute sau blocate. Conținutul site-urilor este stocat într-o rețea P2P pe computerele vizitatorilor și este verificat folosind semnătura digitală a proprietarului. Pentru adresare este utilizat un sistem de servere DNS rădăcină alternative Namecoin. Proiectul este scris în Python și distribuit de licențiat conform GPLv2.

Datele postate pe site sunt verificate și legate de contul proprietarului site-ului, asemănător conectării portofelelor Bitcoin, ceea ce face posibilă, de asemenea, controlul relevanței informațiilor și actualizarea conținutului în timp real. Pentru a ascunde adresele IP, poate fi utilizată rețeaua Tor anonimă, suport pentru care este integrat în ZeroNet. Utilizatorul participă la distribuirea tuturor site-urilor pe care le-a accesat. Odată descărcate în sistemul local, fișierele sunt stocate în cache și puse la dispoziție pentru distribuție de pe mașina curentă, folosind metode care amintesc de BitTorrent.

Pentru a vizualiza site-urile ZeroNet, trebuie doar să rulați scriptul zeronet.py, după care puteți deschide site-uri în browser prin adresa URL „http://127.0.0.1:43110/zeronet_address” (de exemplu, „http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). La deschiderea unui site web, programul găsește colegii din apropiere și descarcă fișiere asociate paginii solicitate (html, css, imagini etc.).
Pentru a vă crea site-ul, rulați comanda „zeronet.py siteCreate”, după care vor fi generate un identificator de site și o cheie privată pentru a confirma calitatea de autor folosind o semnătură digitală.

Pentru site-ul creat, va fi creat un director gol de forma „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. După modificarea conținutului acestui director, noua versiune trebuie să fie certificată folosind comanda „zeronet.py siteSign site_identifier” și introducând cheia privată. Odată ce noul conținut a fost verificat, acesta trebuie anunțat cu comanda „zeronet.py sitePublish site_id”, astfel încât versiunea modificată să devină disponibilă pentru colegi (API-ul WebSocket este folosit pentru a anunța modificări). De-a lungul lanțului, colegii vor verifica integritatea noii versiuni folosind o semnătură digitală, vor descărca noul conținut și îl vor transfera altor colegi.

Principalul oportunități:

  • Nu există un singur punct de eșec - site-ul rămâne accesibil dacă există cel puțin un peer în distribuție;
  • Lipsa stocării de referință pentru site - site-ul nu poate fi închis prin deconectarea găzduirii, deoarece datele se află pe toate mașinile vizitatorilor;
  • Toate informațiile vizualizate anterior se află în cache și sunt accesibile de pe mașina curentă în modul offline, fără acces la rețeaua globală.
  • Sprijină actualizarea conținutului în timp real;
  • Posibilitate de adresare prin înregistrarea domeniului în zona „.bit”;
  • Lucrați fără configurare preliminară - doar despachetați arhiva cu software-ul și rulați un script;
  • Abilitatea de a clona site-uri web cu un singur clic;
  • Autentificare fără parolă bazată pe format BIP32: contul este protejat prin aceeași metodă criptografică ca și criptomoneda Bitcoin;
  • Server SQL încorporat cu funcții de sincronizare a datelor P2P;
  • Capacitatea de a utiliza Tor pentru anonimat și suport complet pentru utilizarea serviciilor ascunse Tor (.onion) în loc de adrese IPv4;
  • Suport de criptare TLS;
  • Accesibilitate automată prin uPnP;
  • Posibilitatea atașării mai multor autori cu semnături digitale diferite pe site;
  • Disponibilitatea unui plugin pentru crearea de configurații multi-utilizator (openproxy);
  • Suport pentru difuzarea fluxurilor de știri;
  • Funcționează în orice browser și sistem de operare.

Schimbări majore în ZeroNet 0.7

  • Codul a fost reproiectat pentru a suporta Python3, asigurând compatibilitatea cu Python 3.4-3.8;
  • A fost implementat un mod protejat de sincronizare a bazei de date;
  • Acolo unde este posibil, distribuția principală a bibliotecilor terțe a fost întreruptă în favoarea dependențelor externe;
  • Codul pentru verificarea semnăturilor digitale a fost accelerat de 5-10 ori (se folosește biblioteca libsecp256k1;
  • S-a adăugat randomizarea certificatelor deja generate pentru a ocoli filtrele;
  • Codul P2P a fost actualizat pentru a utiliza protocolul ZeroNet;
  • Adăugat modul Offline;
  • S-a adăugat pluginul UiPluginManager pentru instalarea și gestionarea pluginurilor de la terți;
  • Este oferit suport complet pentru OpenSSL 1.1;
  • Când vă conectați la colegi, înregistrările SNI și ALPN fictive sunt folosite pentru a face conexiunile mai asemănătoare cu apelurile către site-uri obișnuite prin HTTPS;

În aceeași zi cu lansarea ZeroNet 0.7.0 format actualizare 0.7.1, care elimină o vulnerabilitate periculoasă care poate permite executarea codului pe partea clientului. Din cauza unei erori în codul de redare a variabilelor șablon, un site extern deschis poate stabili o conexiune la sistemul client prin WebSocket cu drepturi ADMIN/NOSANDBOX nelimitate, ceea ce face posibilă modificarea parametrilor de configurare și executarea codului acestuia pe computerul utilizatorului prin manipulări cu parametrul open_browser.
Vulnerabilitatea apare în ramura 0.7, precum și în build-urile experimentale începând de la revizuire 4188 (modificare făcută acum 20 de zile).

Sursa: opennet.ru

Adauga un comentariu