Utgivelse av ZeroNet 0.7, en plattform for å lage desentraliserte nettsteder

Etter et år med utvikling ble utgivelsen av en desentralisert webplattform lansert ZeroNet 0.7, som foreslår å bruke Bitcoins adresserings- og verifiseringsmekanismer i kombinasjon med BitTorrents distribuerte leveringsteknologier for å lage nettsteder som ikke kan sensureres, forfalskes eller blokkeres. Innholdet på nettsteder lagres i et P2P-nettverk på besøkendes maskiner og verifiseres ved hjelp av eierens digitale signatur. Et system med alternative rot-DNS-servere brukes for adressering Namecoin. Prosjektet er skrevet i Python og distribuert av lisensiert under GPLv2.

Dataene som legges ut på nettstedet er verifisert og koblet til kontoen til nettstedets eier, på samme måte som koblingen av Bitcoin-lommebøker, som også gjør det mulig å kontrollere relevansen av informasjon og oppdatere innhold i sanntid. For å skjule IP-adresser kan det anonyme Tor-nettverket brukes, støtte for dette er innebygd i ZeroNet. Brukeren deltar i distribusjonen av alle nettsteder han har tilgang til. Når filene er lastet ned til det lokale systemet, bufres og gjøres tilgjengelige for distribusjon fra gjeldende maskin ved hjelp av metoder som minner om BitTorrent.

For å se ZeroNet-sider, bare kjør zeronet.py-skriptet, hvoretter du kan åpne nettsteder i nettleseren via URL-adressen "http://127.0.0.1:43110/zeronet_address" (for eksempel "http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D") . Når du åpner et nettsted, finner programmet nærliggende likemenn og laster ned filer knyttet til den forespurte siden (html, css, bilder, etc.).
For å opprette nettstedet ditt, kjør bare kommandoen "zeronet.py siteCreate", hvoretter en nettstedidentifikator og en privat nøkkel vil bli generert for å bekrefte forfatterskap ved hjelp av en digital signatur.

For det opprettede nettstedet vil en tom katalog med formen "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D" bli opprettet. Etter å ha endret innholdet i denne katalogen, må den nye versjonen sertifiseres ved å bruke kommandoen "zeronet.py siteSign site_identifier" og angi den private nøkkelen. Når det nye innholdet er verifisert, må det kunngjøres med kommandoen "zeronet.py sitePublish site_id" slik at den endrede versjonen blir tilgjengelig for jevnaldrende (WebSocket API brukes til å kunngjøre endringer). Langs kjeden vil jevnaldrende sjekke integriteten til den nye versjonen ved hjelp av en digital signatur, laste ned det nye innholdet og overføre det til andre jevnaldrende.

Den viktigste muligheter:

  • Det er ikke noe enkelt punkt for feil - nettstedet forblir tilgjengelig hvis det er minst én peer i distribusjonen;
  • Mangel på referanselagring for nettstedet - nettstedet kan ikke lukkes ved å koble fra hosting, siden dataene er plassert på alle besøkendes maskiner;
  • All tidligere sett informasjon er i hurtigbufferen og er tilgjengelig fra gjeldende maskin i frakoblet modus, uten tilgang til det globale nettverket.
  • Støtte innholdsoppdatering i sanntid;
  • Mulighet for adressering gjennom domeneregistrering i ".bit"-sonen;
  • Arbeid uten foreløpig oppsett - bare pakke ut arkivet med programvaren og kjør ett skript;
  • Evne til å klone nettsteder med ett klikk;
  • Formatbasert autentisering uten passord BIP32: kontoen er beskyttet av samme kryptografiske metode som Bitcoin kryptovaluta;
  • Innebygd SQL-server med P2P-datasynkroniseringsfunksjoner;
  • Muligheten til å bruke Tor for anonymitet og full støtte for bruk av Tor skjulte tjenester (.onion) i stedet for IPv4-adresser;
  • Støtte for TLS-kryptering;
  • Automatisk tilgjengelighet via uPnP;
  • Mulighet for å knytte flere forfattere med ulike digitale signaturer til siden;
  • Tilgjengelighet av en plugin for å lage flerbrukerkonfigurasjoner (openproxy);
  • Støtte for kringkasting av nyhetsfeeds;
  • Fungerer i alle nettlesere og operativsystemer.

Store endringer i ZeroNet 0.7

  • Koden har blitt omarbeidet for å støtte Python3, noe som sikrer kompatibilitet med Python 3.4-3.8;
  • En beskyttet databasesynkroniseringsmodus er implementert;
  • Der det er mulig, har hoveddistribusjonen av tredjepartsbiblioteker blitt avviklet til fordel for eksterne avhengigheter;
  • Koden for å bekrefte digitale signaturer har blitt akselerert 5-10 ganger (libsecp256k1-biblioteket brukes;
  • Lagt til randomisering av allerede genererte sertifikater for å omgå filtre;
  • P2P-koden er oppdatert for å bruke ZeroNet-protokollen;
  • Lagt til frakoblet modus;
  • Lagt til UiPluginManager plugin for å installere og administrere tredjeparts plugins;
  • Full støtte for OpenSSL 1.1 er gitt;
  • Når du kobler til jevnaldrende, brukes dummy SNI- og ALPN-poster for å gjøre tilkoblinger mer lik anrop til vanlige nettsteder over HTTPS;

Samme dag som ZeroNet 0.7.0-utgivelsen dannet oppdatering 0.7.1, som eliminerer en farlig sårbarhet som potensielt tillater kodekjøring på klientsiden. På grunn av feil i koden for gjengivelse av malvariabler, kan et åpent eksternt nettsted etablere en tilkobling til klientsystemet via WebSocket med ubegrensede ADMIN/NOSANDBOX-rettigheter, som gjør det mulig å endre konfigurasjonsparametere og utføre sin kode på brukerens datamaskin gjennom manipulasjoner med open_browser-parameteren.
Sårbarheten vises i gren 0.7, så vel som i eksperimentelle bygg fra revisjonen 4188 (endring gjort for 20 dager siden).

Kilde: opennet.ru

Legg til en kommentar