Lansarea ZeroNet 0.7, platforma pentru crearea de site-uri descentralizate

După un an de dezvoltare, a fost lansată platforma web descentralizată ZeroNet 0.7, care oferă utilizarea mecanismelor de adresare și verificare Bitcoin în combinație cu tehnologiile de livrare distribuită BitTorrent pentru a crea site-uri care nu pot fi cenzurate, falsificate sau blocate. Conținutul site-urilor este stocat într-o rețea P2P pe mașinile vizitatorilor și este verificat prin semnătura digitală a proprietarului. Pentru adresare se utilizează o sistem de DNS-uri rădăcină alternative Namecoin. Proiectul este scris în Python și se răspândește sub licența GPLv2.

Datele gazduite pe site sunt verificate și legate de contul proprietarului site-ului într-un mod similar cu legătura dintre portofelele Bitcoin, ceea ce permite, de asemenea, controlul actualității informațiilor și actualizarea conținutului în timp real. Pentru ascunderea adreselor IP poate fi utilizată o rețea anonimă Tor, suportul căreia este încorporat în ZeroNet. Utilizatorul participă la distribuirea tuturor site-urilor accesate. După descărcarea pe sistemul local, fișierele sunt salvate în cache și devin disponibile pentru distribuire de pe mașina curentă, folosind metode asemănătoare BitTorrent.

Pentru a vizualiza site-urile ZeroNet, este suficient să rulezi scriptul zeronet.py, după care poți deschide site-urile în browser prin URL „http://127.0.0.1:43110/adresă_zeronet” (de exemplu, „http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). La deschiderea site-ului, programul găsește cei mai apropiați peer și încarcă fișierele asociate cu pagina solicitată (html, css, imagini etc.).
Pentru a crea propriul site, este suficient să rulezi comanda „zeronet.py siteCreate”, după care va fi generat un identificator de site și o cheie privată pentru a confirma autoritatea prin semnătură digitală.

Pentru site-ul creat, va fi format un director gol de tipul „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. După ce conținutul acestui director este modificat, este necesară certificarea noii versiuni prin comanda „zeronet.py siteSign identificator_site” și introducerea cheii private. Odată ce noul conținut este certificat, trebuie anunțat prin comanda „zeronet.py sitePublish identificator_site”, pentru ca versiunea modificată să devină disponibilă pentru peer (pentru anunțarea modificărilor se folosește API WebSocket). Pe baza lanțului, peer-ii vor verifica integritatea noii versiuni prin semnătura digitală, vor încărca noul conținut și îl vor transmite altor peer.

Principalele opțiunile:

  • Lipsește un singur punct de eșec - site-ul rămâne accesibil dacă există măcar un peer în rețea;
  • Lipsește un depozit de referință al site-ului - site-ul nu poate fi închis prin deconectarea gazdei, deoarece datele sunt stocate pe toate mașinile vizitatorilor;
  • Toate informațiile anterior vizualizate sunt în cache și disponibile pe mașina curentă în mod offline, fără acces la rețeaua globală.
  • Suport pentru actualizarea conținutului în timp real;
  • Posibilitatea adresării prin înregistrarea unui domeniu în zona „.bit”;
  • Funcționează fără configurație prealabilă - este suficient să dezarhivezi arhiva cu software-ul și să rulezi un script;
  • Posibilitatea clonării site-urilor cu un singur clic;
  • Autentificare fără parolă bazată pe formatul BIP32: contul este protejat prin aceeași metodă criptografică utilizată pentru criptomoneda Bitcoin;
  • Server SQL încorporat cu funcții de sincronizare P2P a datelor;
  • Posibilitatea utilizării Tor pentru anonimat și suport complet pentru utilizarea serviciilor ascunse Tor (.onion) în loc de adrese IPv4;
  • Suport pentru criptarea TLS;
  • Accesibilitate automată prin uPnP;
  • Posibilitatea atașării mai multor autori la site, fiecare având semnături digitale diferite;
  • Există un plugin pentru crearea de configurații multi-utilizator (openproxy);
  • Suport pentru retransmiterea fluxurilor de știri;
  • Funcționează în orice browsere și sisteme de operare.

Principalele modificări în ZeroNet 0.7

  • Codul a fost refăcut pentru a susține Python3, asigurându-se compatibilitate cu Python 3.4-3.8;
  • A fost implementat un mod sigur de sincronizare a bazei de date;
  • După cum este posibil, livrarea bibliotecilor externe a fost sistată, în favoarea dependențelor externe;
  • Codul pentru verificarea semnăturilor digitale a fost accelerat de 5-10 ori (a fost utilizată biblioteca libsecp256k1;
  • Adăugată randomizarea certificatelor deja generate pentru a ocoli filtrele;
  • Codul P2P a fost îmbunătățit, fiind transformat pentru a utiliza protocolul ZeroNet;
  • Adăugat un mod de funcționare în Offline;
  • Adăugat un plugin UiPluginManager pentru instalarea și gestionarea pluginurilor terțe;
  • Asigurată suport complet pentru OpenSSL 1.1;
  • La conectarea la peer-uri, sunt folosite înregistrări SNI și ALPN fictive pentru a face conexiunile să pară mai asemănătoare cu accesările site-urilor obișnuite prin HTTPS;

În aceeași zi cu lansarea ZeroNet 0.7.0 formatat actualizarea 0.7.1, care remediază o vulnerabilitate periculoasă, ce poate permite executarea de cod pe partea clientului. Din cauza unei erori în codul care redă variabilele șablon, un site extern deschis poate stabili o conexiune cu sistemul clientului prin WebSocket cu drepturi nelimitate ADMIN/NOSANDBOX, oferind posibilitatea de a modifica parametrii de configurare și de a realiza executarea codului propriu pe computerul utilizatorului prin manipularea parametrului open_browser.
Vulnerabilitatea se manifestă în ramura 0.7 și în versiunile experimentale începând de la revizia 4188 (modificare efectuată acum 20 de zile).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster