ZeroNet è una piattaforma web decentralizzata, che suggerisce di utilizzare meccanismi di verifica e targeting Bitcoin in combinazione con le tecnologie di distribuzione distribuita BitTorrent per creare siti che non possono essere censurati, manomessi o bloccati.
Il contenuto dei siti è memorizzato in una rete P2P sulle macchine dei visitatori ed è verificato con la firma digitale del proprietario. Per l'indirizzamento, viene utilizzato il sistema di server DNS alternativo Namecoin.
I dati pubblicati nel sito sono verificati e collegati all'account del titolare del sito per analogia con il collegamento dei portafogli Bitcoin, che permette anche di controllare la rilevanza delle informazioni e aggiornare il contenuto in tempo reale.
Una rete Tor anonima può essere utilizzata per nascondere gli indirizzi IP, oltre al fatto che l'utente può partecipare alla distribuzione di tutti i siti a cui accede. Dopo aver scaricato sul sistema locale, i file vengono memorizzati nella cache e disponibili per la distribuzione dalla macchina corrente utilizzando metodi che ricordano BitTorrent.
Tra le principali caratteristiche che si possono evidenziare, possiamo trovare:
- Singolo punto di errore mancante: il sito rimane accessibile se nella distribuzione è presente almeno una coppia
- Completamente decentralizzato: il sito non può essere chiuso disabilitando l'hosting poiché i dati vengono inseriti su tutti i computer dei visitatori
- Tutte le informazioni visualizzate in precedenza sono disponibili nella cache e sono accessibili offline dalla macchina corrente, senza accesso alla rete globale.
- Supporta gli aggiornamenti dei contenuti in tempo reale
- Possibilità di indirizzamento tramite registrazione dominio nell'area ".bit"
- Lavora senza configurazione preliminare: basta decomprimere l'archivio del software ed eseguire uno script
- La possibilità di clonare siti con un clic
- Autorizzazione senza password basata sul formato BIP32: l'account è protetto dallo stesso metodo crittografico della criptovaluta Bitcoin
- Server SQL integrato con funzioni di sincronizzazione dei dati P2P
- La possibilità di utilizzare Tor per l'anonimato e il pieno supporto per l'utilizzo dei servizi nascosti di Tor (.onion) invece degli indirizzi IPv4
- Supporto per la crittografia TLS
- Disponibilità automatica tramite uPnP
- La possibilità di allegare al sito più autori con firme digitali diverse
- La presenza di un plugin per creare configurazioni multiutente (openproxy)
- Supporto per la trasmissione di notizie
- Funziona con qualsiasi browser e sistema operativo.
Come installare ZeroNet su Linux?
L'installazione di ZeroNet è abbastanza semplice e richiede solo che tu abbia la versione più recente di Python sul tuo sistema.
Per ottenere ZeroNet Non ci resta che aprire un terminale ed eseguire i seguenti comandi al suo interno:
wget https://github.com/HelloZeroNet/ZeroNet/archive/py3/ZeroNet-py3.tar.gz
tar xvpfz ZeroNet-py3.tar.gz
cd ZeroNet-py3
Per visualizzare i siti ZeroNet, usa semplicemente lo script zeronet.py:
python3 zeronet.py
Quindi apri i siti nel browser tramite l'URL
http://127.0.0.1:43110/zeronet_address
Dove zeronet_address è l'indirizzo del sito che vogliono visitare. Per esempio:
http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D
All'apertura del sito, il programma ricerca le coppie più vicine e carica i file associati alla pagina richiesta (html, css, immagini, ecc.).
Per creare un sito, esegui semplicemente il comando
zeronet.py siteCreate
Quindi verranno generati l'identificatore del sito e la chiave privata per confermare la paternità mediante firma digitale.
Per il sito creato verrà generata una directory vuota nel formato "dati / xxx ...".
Dopo aver modificato il contenuto di questa directory, la nuova versione deve essere certificata utilizzando il comando "zeronet.py siteSign site identifier" e inserendo la chiave privata.
Non appena il nuovo contenuto è certificato, è necessario pubblicizzarlo con il comando "zeronet.py sitePublish site-identifier" in modo che la versione modificata sia disponibile per i peer (utilizzando l'API WebSocket per annunciare le modifiche) in tal modo Attraverso blockchain, peer verificherà l'integrità della nuova versione firmando digitalmente, caricando nuovo contenuto e trasmettendolo ad altri peer.