Vydanie ZeroNet 0.7, platformy na vytváranie decentralizovaných webových stránok

Po roku vývoja uzrela svetlo sveta verzia decentralizovanej webovej platformy ZeroNet 0.7, ktorá ponúka využívať mechanizmy adresovania a overovania Bitcoin v kombinácii s technológiami distribuovaného doručovania BitTorrent na vytváranie stránok, ktoré nemožno cenzurovať, falšovať alebo blokovať. Obsah stránok sa uchováva v P2P sieti na strojoch návštevníkov a overuje sa podľa digitálneho podpisu vlastníka. Na adresovanie sa používajú alternatívne koreňové DNS servery Namecoin. Projekt je napísaný v jazyku Python a distribuovaný pod licenciou GPLv2.

Údaje umiestnené na stránke sú overené a pripojené k účtu vlastníka stránky analogicky s pripojením bitcoinových peňaženiek, čo poskytuje aj možnosť kontrolovať aktuálnosť informácií a aktualizovať obsah v reálnom čase. Na skrytie IP adries môže byť použitá anonymná sieť Tor, ktorej podpora je zabudovaná v ZeroNet. Používateľ sa podieľa na poskytovaní všetkých stránok, ku ktorým pristupuje. Po stiahnutí na lokálny systém sa súbory uchovávajú v cache a stávajú sa dostupnými na poskytovanie z aktuálneho stroja, používajúc metódy podobné BitTorrent.

Na prezeranie stránok ZeroNet stačí spustiť skript zeronet.py, po čom je možné otvárať stránky v prehliadači cez URL "http://127.0.0.1:43110/adresa_zeronet" (napríklad "http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D"). Pri otvorení stránky program nájde najbližších peerov a načíta súvisiace súbory s požadovanou stránkou (html, css, obrázky a pod.).
Na vytvorenie vlastnej stránky stačí spustiť príkaz "zeronet.py siteCreate", po čom bude vygenerovaný identifikátor stránky a súkromný kľúč na potvrdenie autorstva podľa digitálneho podpisu.

Pre vytvorenú stránku bude vytvorený prázdny adresár vo formáte "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Po zmene obsahu tohto adresára je potrebné overiť novú verziu pomocou príkazu "zeronet.py siteSign identifikátor_stránky" a zadať súkromný kľúč. Akonáhle bude nový obsah overený, je potrebné oznámiť ho príkazom "zeronet.py sitePublish identifikátor_stránky", aby sa zmenená verzia stala dostupnou peerom (na oznámenie zmien sa používa API WebSocket). Peerovia skontrolujú integritu novej verzie podľa digitálneho podpisu, načítajú nový obsah a prenesú ho ďalším peerom.

Hlavné možnosti:

  • Neexistencia jediného bodu zlyhania — stránka ostáva dostupná, ak je v sieti aspoň jeden peer;
  • Neexistencia referenčného úložiska stránky — stránku nemožno uzavrieť odpojením hostingu, pretože dáta sú uložené na všetkých zariadeniach návštevníkov;
  • Všetky predtým zobrazené informácie sú uložené v cache a sú dostupné z aktuálneho zariadenia v offline režime, bez pripojenia k internetu.
  • Podpora aktualizácie obsahu v reálnom čase;
  • Možnosť adresovania cez registráciu domény v zóne „.bit“;
  • Fungovanie bez predchádzajúcej konfigurácie — stačí rozbaliť archív so softvérom a spustiť jeden skript;
  • Možnosť klonovania stránok jedným kliknutím;
  • Bezpečnostná autorizácia na základe formátu BIP32: účet je chránený rovnakou kryptografickou metódou ako kryptomena Bitcoin;
  • Vstavaný SQL server s funkciami P2P synchronizácie dát;
  • Možnosť používania Tor pre anonymitu a plná podpora skrytých služieb Tor (.onion) namiesto IPv4 adries;
  • Podpora TLS šifrovania;
  • Automatická dostupnosť cez uPnP;
  • Možnosť pripojenia viacerých autorov na stránku, ktorí majú rôzne digitálne podpisy;
  • Existencia pluginu pre vytvorenie viacužívateľských konfigurácií (openproxy);
  • Podpora prenosu spravodajských kanálov;
  • Fungovanie vo všetkých prehliadačoch a operačných systémoch.

Hlavné zmeny v ZeroNet 0.7

  • Kód bol prerobený na podporu Python3, bola zabezpečená kompatibilita s Python 3.4-3.8;
  • Implementovaný zabezpečený režim synchronizácie DB;
  • Pokračovalo sa v odstraňovaní väčšiny tretích knižníc v prospech externých závislostí;
  • Zrýchlenie kódu pre overovanie digitálnych podpisov 5-10 krát (využitá knižnica libsecp256k1;
  • Pridaná náhodná generácia už vytvorených certifikátov pre obídenie filtrov;
  • Aktualizovaný kód P2P, ktorý prešiel na používanie protokolu ZeroNet;
  • Pridaný režim offline;
  • Pridaný plugin UiPluginManager pre inštaláciu a správu tretích pluginov;
  • Zabezpečená plná podpora OpenSSL 1.1;
  • Pri pripojení k peerom sú použité fiktívne záznamy SNI a ALPN, aby boli spojenia podobnejšie tým, ktoré vznikajú pri obvyklých HTTPS stránkach;

V ten istý deň, ako bol vydaný ZeroNet 0.7.0 vytvorené aktualizácia 0.7.1, v ktorej bola odstránená nebezpečná zraniteľnosť, ktorá potenciálne umožňuje vykonávanie kódu na strane klienta. V dôsledku chyby v kóde vykresľovania premenných šablón môže otvorený externý web vytvoriť spojenie so systémom klienta cez WebSocket s neobmedzenými právami ADMIN/NOSANDBOX, čo umožňuje zmeniť konfiguračné parametre a dosiahnuť vykonávanie vlastného kódu na počítači používateľa manipuláciou s parametrom open_browser.
Zraniteľnosť sa prejavuje vo verzii 0.7, ako aj v experimentálnych zostaveniach od revízie 4188 (zmena bola vykonaná pred 20 dňami).

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster