FAQs

Domande generali

General questions about the project.

Cosa posso fare se non trovo le risposte alle mie domande?

R: Sono disponibili molte altre risorse informative. Puoi leggere la documentazione aggiuntiva o chiedere sulla mailing list help-gnunet@gnu.org o sull'IRC #gnunet su irc.freenode.net.

Quando verrà rilasciata la prossima versione?

R: Di solito la risposta è: "Quando è pronta". Una risposta migliore potrebbe essere: "Prima, se dai il tuo contributo" (facendo test, eseguendo debug, scrivendo il codice e la documentazione). Il rilascio di una nuova versione sarà annunciato sulla mailing list info-gnunet@gnu.org e su planet GNU. È possibile iscriversi alla mailing list o al feed RSS del sito per ricevere una notifica in automatico.

Il codice è libero?

R: GNUnet è un software libero, disponibile con la GNU Affero Public License (AGPL).

Ci sono dei bug noti?

R: Registriamo l'elenco dei bug attualmente noti nel sistema Mantis. Talvolta, la presenza di alcuni bug viene segnalata direttamente agli sviluppatori o alla mailing list degli sviluppatori. Sconsigliamo di farlo, perché gli sviluppatori non hanno tempo per registrare questi bug nel database Mantis. Bisogna segnalare i bug direttamente nel registro bug. Se ritieni che il bug riguardi una questione delicata, è possibile impostare lo stato di visualizzazione in privato (solo in casi eccezionali).

È disponibile un'interfaccia utente grafica?

R: gnunet-gtk va scaricato a parte. Il pacchetto contiene varie interfacce grafiche basate su GTK+, incluso uno strumento grafico per la configurazione.

Perché gnunet-service-nse comporta un uso elevato della CPU?

R: All'inizio il processo gnunet-service-nse computerà una cosiddetta "proof-of-work", affinché la rete riconosca che il peer è reale (o, meglio, per renderlo troppo dispendioso perché un nemico organizzi un attacco di Sybil allo strumento che stima le dimensioni della rete). Il calcolo dovrebbe avvenire in qualche giorno, a seconda della velocità della tua CPU. Se il carico CPU provoca problemi, è possibile aumentare il valore "WORKDELAY" nella sezione "nse" del tuo file di configurazione. Il valore di default è "5 ms".

Qual é la differenza tra GNUnet e Tor?

R: Tor è incentrato sulla comunicazione anonima e sulla resistenza alla censura nelle connessioni TCP e, con il Tor Browser Bundle, soprattutto nel web. GNUnet non si concentra su un solo obiettivo. Il nostro filo conduttore è la creazione di una rete decentralizzata e sicura, ma è un'idea dalla portata troppo ampia per essere considerata come un obiettivo unico.

Qual é la differenza tra GNUnet e I2P?

R: Sia GNUnet che I2P vogliono costruire un Internet migliore, più sicuro e decentralizzato. Tuttavia, da un punto di vista tecnico, ci sono pochissimi punti in comune tra i due.

I2P è scritto in Java e ha tunnel (asimmetrici) che utilizzano l'onion routing (o routing dell'aglio) come base per varie applicazioni (rese anonime). I2P è usato soprattutto tramite un Web front-end.

GNUnet è pronto per essere usato su sistemi di produzione?

R: Ci sono ancora importanti sviluppi da fare su GNUnet. In gran parte non è ancora pronto perché possa essere usato da altri, al di fuori degli sviluppatori. La sua efficacia varia a seconda della funzionalità utilizzata, ma probabilmente riscontrerai problemi con il nostro attuale sistema di trasporto di livello base. Al momento lo stiamo riscrivendo (Projetto "Transport Next Generation [TNG]")

Si stanno usando tecnologie di registro per creare GNUnet?

A: No. GNUnet è un nuovo protocollo di rete per creare applicazioni sicure, distribuite e che preservino la privacy. Anche se si potesse creare un registro usando GNUnet, attualmente non abbiamo in mente di farlo.


Funzionalità

Cosa posso fare con GNUnet?

R: GNUnet è un framework peer-to-peer, ovvero può fare più di una sola cosa. Naturalmente, l'implementazione e la documentazione di alcune funzionalità esistenti sono ad uno stadio più avanzato di altre.

GNUnet offre agli utenti una condivisione di file sia anonima che non, un'alternativa al DNS che sia completamente decentralizzata e a prova di censura, nonché un meccanismo per la traduzione e il tunneling tra i protocolli IPv4 e IPv6 (NAT-PT con DNS-ALG). See also: Applications.

Si può navigare in incognito con GNUnet?

A: Non è possibile usare GNUnet per la navigazione in incognito ancora. Ti consigliamo di utilizzare Tor per questo scopo.

Si può accedere a GNUnet tramite una navigazione in incognito?

R: Attualmente non c'è un proxy (come fproxy di Freenet) per GNUnet per permettere l'accesso tramite browser. È possibile creare un proxy di questo genere, basta solo conoscere il protocollo utilizzato tra il browser e il proxy, e il codice GNUnet per lo scambio di dati.

È disponibile un'interfaccia utente grafica?

R: In realtà sono disponibili alcune interfacce utenti grafiche per diverse funzioni. gnunet-setup serve a configurare GNUnet, e gnunet-fs-gtk serve per la condivisione dei file. È disponibile qualche altra interfaccia utente grafica gnunet-XXX-gtk di minore importanza. Per ottenere l'interfaccia, è necessario installare il pacchetto gnunet-gtk, che bisogna scaricare a parte. gnunet-gtk è un'interfaccia grafica utente che integra la maggior parte delle altre interfacce grafiche in una finestra. gnunet-setup è un'eccezione, perché attualmente deve ancora essere eseguita separatamente (dato che per installarla è necessario fermare il peer).

Su quale sistema operativo si esegue GNUnet?

A: GNUnet è stato sviluppato e testato dapprima su Debian GNU/Linux. Inoltre, costruiamo e testiamo regolarmente GNUnet su Fedora, Ubuntu, Arch, FreeBSD e macOS. Abbiamo rapporti di versioni funzionanti su molte altre distribuzioni GNU/Linux; in passato abbiamo ricevuto rapporti di versioni funzionanti su NetBDS, OpenBDS e Solaris. Ad ogni modo, non tutti questi rapporti sono recenti, perciò se non riesci a fare funzionare GNUnet su questi sistemi per piacere facci sapere.


GNU Name System

Chi amministra la zona radicale GNS?

R: La risposta breve è: tu. La risposta complessa è che GNUnet invierà una configurazione predeterminata di domini di livello superiore. L'autorità di questa configurazione di default non è stata ancora stabilita. In ogni caso, l'utente sarà in grado di modificare questa configurazione come desidera. Normalmente ci aspettiamo che utenti normali non abbiano la necessità di modificare la loro zona o zone GNS a meno che non offrano essi stessi dei servizi.

Dove è salvato il database di ogni utente GNS?

R: In sintesi, il database viene memorizzato nel peer GNUnet dell'utente. Un utente potrebbe utilizzare numerosi peer GNUnet, e in tal caso il database potrebbe essere memorizzato in ogni peer (non disponiamo però di codici per una duplicazione apposita). Allo stesso modo, diversi peer GNUnet possono condividere un'istanza del database; è possibile accedere allo "gnunet-service-namestore" da remoto (via TCP). I dati effettivi possono essere archiviati in un database Postgres, per il quale sono possibili diverse opzioni di duplicazione. Infine, gli utenti hanno a disposizione molte opzioni per archiviare e proteggere il loro database GNS.

Qual è la grandezza media di un database di nomi GNS?

R: Abbastanza piccolo. Basandoci sul nostro studio degli utenti , in cui abbiamo analizzato la cronologia di navigazione e il numero di domini visitati, ci aspettiamo che i database di GNS cresceranno solo di poche decine di migliaia di entrate, abbastanza piccolo da andare bene anche per i dispositivi mobili.

GNS è resistente agli attacchi sul DNS dagli Stati Uniti?

R: Pensiamo di sì, e non ci sarebbe alcun motivo per cui un governo dovrebbe obbligare a modificare la mappatura di un nome, eccetto per ogni utente individuale (e quindi il cambiamento sarebbe applicato solo ai nomi per cui questo utente ha autorità). Perciò se ognuno usasse GNS, l'unico attacco pratico di un governo sarebbe quello di forzare l'operatore di un server a cambiare i registri GNS per farli direzionare altrove. Ad ogni modo, se il proprietario di una chiave privata per una zona non è disponibile per rinforzo, la rispettiva zona non potrà essere cambiata e ogni altra zona delegata a questa conquisterà la propria risoluzione.

Qual è la differenza tra GNS e altri sistemi di nomi di dominio?

R: Un documento scientifico riguardo questo argomento è stato pubblicato e più avanti c'è una tabella di questa pubblicazione. Per descrizioni più dettagliate per piacere fare riferimento al documento.

MitM manipulation Zone walk Client observation (network) Client observation (operator) Traffic amplification Censorship/legal attacks Ease of migration
DNS +++
DNSSEC +
DNSCurve +
DoT/DoH n/a +
Confid. DNS n/a ++
Namecoin -
GNS --
RAINS --

Qual è la differenza tra GNS e CoDoNS?

R: CoDoNS decentralizza il database DNS (usando un DHT) ma preserva la struttura autoritaria di un DNS. Con CoDoNS, IANA/ICANN sono ancora sotto controllo, e ci sono anche processi che determinano chi possiede un nome.

Con GNS, noi decentralizziamo il database e la responsabilità di nominare: ogni utente amministra la propria zona radicale e questo è in completo controllo dei nomi che usa. GNS ha anche molte qualità addizionali (mantenere i nomi brevi e abilitare migrazioni) le quali non hanno alcun tipo di senso nel contesto di CoDoNS.

Qual è la differenza tra GNS e SocialDNS?

R: Come GNS, SocialDNS permette a ogni utente di creare mappature DNS. Ad ogni modo, con SocialDNS le mappature sono condivise tramite social network e sono soggette a gerarchia. Così come le relazioni sociali evolvono, i nomi possono cambiare in maniera sorprendente.

Con GNS, i nomi sono dapprima condivisi tramite delega, e in seguito la mappatura cambierà solo se l'utente responsabile per il nome (l'autorità) modificherà manualmente il registro.

Qual è la differenza tra GNS e ODDNS?

R: ODDNS è stata primariamente ideata per bypassare la zona radicale DNS e i registri TLD (come quelli ".com" e ".org"). Invece di usare quelli, ci si aspetta che ogni utente mantenga un database di domini (di secondo livello, come "gnu.org") e gli indirizzi IP dei rispettivi nomi dei server. La risoluzione fallirà se i server dei nomi cambiano IP.

Qual è la differenza tra GNS e Handshake?

R: Handshake è un metodo per la governance della zona radice basato su blockchain. Quindi non si occupa del processo della risoluzione dei nomi in sé, ma la delega al DNS dopo la risoluzione TLD iniziale. Se trascurassimo gli aspetti legati alla sostenibilità, Handshake potrebbe essere usato come supporto aggiuntivo al modello di governance della zona radice GNS; attualmente, però, questo utilizzo non rientra nei nostri piani.

Qual è la differenza tra GNS e TrickleDNS?

R: TrickleDNS invia i record DNS ("critici") ai resolver DNS dei domini disponibili per fornire "una maggior disponibilità, tempi di risoluzione delle query più rapidi e una diffusione degli aggiornamenti più veloce". Quindi TrickleDNS contrasta gli attacchi che colpiscono la disponibilità (e le prestazioni) della diffusione dei record nel DNS, ad esempio tramite attacchi DDoS sui server radice DNS. TrickleDNS si occupa di garantire la distribuzione dei record autorevoli, e l'autorevolezza deriva comunque dalla gerarchia DNS.

GNS necessita di una presentazione nel mondo reale (scambio di Product Key sicuro) come la rete di fiducia PGP?

R: Per ragioni di sicurezza, è risaputo che debba esistere un percorso di fiducia iniziale tra le due parti. Tuttavia, per le applicazioni in cui il percorso di fiducia non è necessario, si possono usare dei meccanismi più deboli. Ad esempio, abbiamo implementato un'autorità first-come-first-served (FCFS) che permette ad utenti arbitrari di registrare nomi arbitrari. La chiave dell'autorità è inclusa in ogni installazione di GNUnet. Quindi, di fatto, qualsiasi nome registrato con FCFS è globale e non necessita di altre presentazioni. Tuttavia, la sicurezza di questi nomi dipende interamente dall'affidabilità dell'autorità FCFS. Quest'ultima può essere interrogata sotto la ".pin" TLD.

In che modo il legittimo proprietario di un dominio può dire ad altri di non usare il suo nome su GNS?

R: Su GNS i nomi non hanno proprietari, quindi non ci possono essere dei proprietari di dominio "legittimi". Qualsiasi utente può rivendicare qualsiasi nome (come suo nome preferito o "pseudonimo") nel suo registro NICK. Allo stesso modo, tutti gli altri utenti possono decidere di ignorare questa preferenza e impostare un nome a loro scelta per questo utente (o, addirittura, non assegnare alcun nome).

Avete considerato quali conseguenze sulla privacy comporti rendere l'area personale GNS visibile?

R: Ciascun record su GNS dispone di un contrassegno "privato". I record sono condivisi con altri utenti (tramite DHT o trasferimenti di zona) solo se il contrassegno non è attivo. Quindi gli utenti hanno il pieno controllo su quali informazioni sulle loro zone siano pubbliche.

I record "Host Legacy" (LEHO) diventeranno obsoleti con IPv6?

R: Questa domanda presuppone che (a) l'hosting virtuale sia necessario solo a causa della carenza di indirizzi IPv4 e (b) che i LEHO siano utili solo nell'ambito dell'hosting virtuale. Tuttavia, i LEHO sono utili anche per contribuire alla convalida dei certificati X.509 (poiché specificano per quale nome host della legacy il certificato dovrebbe essere valido). Inoltre, anche se il protocollo IPv6 è stato completamente sviluppato e sono disponibili indirizzi IP "infiniti", non abbiamo la certezza che l'hosting virtuale scomparirà. Infine, se non vogliamo attendere che il protocollo IPv6 diventi di uso comune, GNS dovrebbe funzionare con le reti di oggi.

Perché GNS non utilizza dei parametri di fiducia o un consenso per stabilire nomi univoci a livello globale?

R: I parametri di fiducia hanno un problema di fondo, hanno delle soglie. Man mano che le relazioni di fiducia evolvono, i mapping assumono significati diversi quando oltrepassano le soglie degli altri. Abbiamo stabilito che l'imprevedibilità del processo di risoluzione non era accettabile. Inoltre, la fiducia e il consenso possono essere manipolati con facilità dagli avversari.

Come gestite le chiavi di zona compromesse in GNS?

R: Il proprietario di una chiave privata può generare un messaggio di revoca. In seguito questa chiave può esondare nella rete overlay, creando una sua copia in tutti i peer. Prima di usare una chiave pubblica, i peer controllano se è stata revocata. Il processo di risoluzione non andrà a buon fine per tutti quei nomi che comportano una delega tramite zona revocata. I peer verificano sempre se esiste un messaggio di revoca durante la risoluzione dei nomi.

In futuro si potrà aggiornare l'algoritmo di firma di GNS?

R: Sì. Nel nostro tentativo di rendere GNS standard, abbiamo già modificato il protocollo per supportare dei record di delega alternativi.

Ovviamente, le implementazioni GNS utilizzate dovranno essere aggiornate per supportare il nuovo schema di firma. Quest'ultimo può essere eseguito in parallelo con il sistema esistente usando un nuovo tipo di record per indicare l'uso di un sistema di cifratura diverso.

In che modo una zona GNS può mantenere vari server dei nomi, ad esempio per il bilanciamento del carico?

R: Non pensiamo che sarà necessario, perché i record GNS sono archiviati (e replicati) nella DHT R5N. Pertanto, in genere, l'autorità non viene contattata ogni volta che un cliente esegue una ricerca. Anche se l'autorità va (temporaneamente) offline, la DHT memorizza il record nella cache per qualche tempo. Tuttavia, qualora si consideri davvero necessario avere più server in una zona, il proprietario della zona può semplicemente eseguire più peer (e condividere la chiave e il database di zona tra questi).

Perché pensate che valga la pena rinunciare ai nomi univoci per la resistenza alla censura?

R: Lo GNU Name System offre un'alternativa al DNS che è resistente alla censura. Come avviene per qualsiasi meccanismo di sicurezza, questa caratteristica ha un prezzo: i nomi non sono globalmente univoci. Per fare un'analogia, rispetto alle connessioni HTTP, quelle HTTPS usano una maggiore lunghezza di banda e hanno una latenza superiore. A seconda dell'applicazione, HTTPS potrebbe essere sconveniente. Tuttavia, per gli utenti che stanno subendo la censura (o ne sono preoccupati), potrebbe davvero valere la pena rinunciare a dei nomi globalmente univoci. Dopotutto, a cosa serve avere un nome "globalmente" univoco, se non si risolve?

Perché il DNS viene definito "centralizzato" e "distribuito"?

R: Diciamo che DNS è "centralizzato" perché ha una componente centrale / punto centrale di errore --- la zona radice e la sua gestione da parte di IANA/ICANN. Questa centralizzazione provoca delle vulnerabilità. Ad esempio, il governo statunitense ha potuto riassegnare la gestione dei TLD dell'Afghanistan e dell'Iraq durante le guerre all'inizio del XXI secolo.

In che modo GNS protegge dalla censura di livello 3?

R: GNS non interviene direttamente contro la censura di livello 3, ma lo fa indirettamente in due modi:

  1. Oggi molti siti web usano l'hosting virtuale, quindi bloccare uno specifico indirizzo IP provoca molti più danni collaterali rispetto a bloccare un nome DNS. Quindi aumenta il costo della censura.
  2. Le soluzioni di aggiramento del livello 3 esistenti (come Tor) trarrebbero beneficio da un naming system resistente alla censura. Attualmente, per accedere allo spazio dei nomi ".a cipolla" di Tor, gli utenti devono usare identificatori crittografici non memorizzabili. Con nomi migliori, i servizi simili a Tor e tor2web sarebbero perfino più semplici da usare.

GNS funziona con i motori di ricerca?

R: GNS non crea particolari problemi con i motori di ricerca. Questi infatti possono eseguire la risoluzione dei nomi come qualsiasi normale utente. Di solito gli utenti installano dei software personalizzati per la risoluzione dei nomi ma, chiaramente, è improbabile che questo funzioni con i motori di ricerca attuali. Ad ogni modo, i motori di ricerca possono comunque indicizzare le risorse GNS, dato che il gateway DNS2GNS permette loro di usare il DNS per risolvere i nomi GNS. Tuttavia i motori di ricerca non otterranno dei nomi resistenti alla censura, proprio perché usare dei gateway DNS2GNS rompe la catena di fiducia crittografica.

Qual è la differenza tra GNS e la Unmanaged Internet Architecture (UIA)?

R: Sia UIA che GNS hanno lo stesso modello basico di naming, che in realtà è stato creato con l'infrastruttura SDSI di Rivest. Tuttavia, UIA non si preoccupa dell'integrazione con le applicazioni di legacy, ma verte sulla connettività universale tra i numerosi dispositivi di un utente. Al contrario, GNS è stato progettato per interagire il più possibile con i DNS, nonché per funzionare il più possibile con l'infrastruttura Web esistente. UIA non si occupa di sistemi di legacy (tabula rasa).

GNS non aumenta la base di calcolo affidabile (TCB) rispetto a DNS(SEC)?

R: Per prima cosa, su GNS è possibile visualizzare chiaramente la catena di fiducia, per poter sapere se il nome che stai risolvendo appartiene a un amico, o a un amico di un amico, e quindi puoi decidere quanto fidarti del risultato. Ovviamente, in questo modo, la base di calcolo affidabile (TCB) può diventare arbitrariamente lunga; tuttavia, viste le limitazioni sulla lunghezza del nome, un nome singolo non supererà mai le 128 entità circa.

In che modo GNS gestisce i record SRV/TLSA in cui il servizio e il protocollo fanno parte del nome di dominio?

R: Quando GNS divide un nome di dominio in etichette per la risoluzione, rileva la sintassi "_Service._Proto", converte "Service" nel numero di porta corrispondente e "Proto" nel numero di protocollo corrispondente. La parte restante del nome viene risolta come di consueto. Poi, quando viene presentato il risultato, GNS cerca il tipo di record "BOX" specifico di GNS. Un record BOX contiene un altro record (come i quelli SRV o TLSA) e ci aggiunge un numero di servizio e di protocollo (e il tipo di record BOX originale).


Messaggi di errore

Ricevo diversi "ATTENZIONE Ritardo calcolato da X a Y" Dovrei preoccuparmi?

A: Al momento è da aspettarselo ed è dovuto all'alta latenza di GNUnet. Abbiamo iniziato una riscrittura importante per risolvere questo e altri problemi, però fino a che il Transport Next Generation (TNG) sia pronto, queste avvertenze continueranno a verificarsi.

Errore di apertura `/dev/net/tun': nessun file trovato nell'elenco?

R: Se ricevi questo messaggio di errore la soluzione è semplice. Segui i seguenti comandi per creare i file richiesti dal dispositivo # mkdir /dev/net
# mknod /dev/net/tun c 10 200

'iptables: Non c'è catena/obiettivo/coincidenza con quel nome.' (durante l'esecuzione di gnunet-service-dns)?

R: Per il DNS GNUnet, le tue iptables devono avere il "proprio" supporto di coincidenza. Questo si ottiene avendo le opzioni corrette del kernel. Controlla se il tuo kernel ha impostato CONFIG_NETFILTER_XT_MATCH_OWNER o su 'y' o su 'm' (e il modulo si carica).

Si è esaurito il tempo di attesa durante l'esecuzione PT su Fedora (e possibilmente altri)?

R: Se ricevi un errore che indica che il VPN ha raggiunto il tempo limite, controlla se il tuo firewall è abilitato e se sta bloccando le connessioni.

Sto ricevendo un 'errore durante il caricamento delle biblioteche condivise: libgnunetXXX.so.X'

R: Questo errore accade normalmente quando il tuo linker non riesce a localizzare una delle biblioteche di GNUnet. Questo può avere due ragioni. Primo, è teoreticamente possibile che la biblioteca non sia installata sul tuo sistema; ad ogni modo, se compili GNUnet normalmente e/o usi un pacchetto binario, è molto improbabile. La causa più comune è che hai installato GNUnet in una directory che il tuo linker non trova. Ci sono diversi modi per rimediarvi. Se sei "root" e lo hai installato su una cartella di sistema (come /usr/local), vuoi aggiungere le biblioteche sul percorso di ricerca a livello di sistema. Questo è possibile aggiungendo una linea "/usr/local/lib/" a /etc/ld.so.conf e avviare "ldconfig". Se hai installato GNUnet a /opt o qualsiasi altro percorso simile, ovviamente devi cambiare "/usr/local" di conseguenza. Se non hai diritti da "root" o hai installato GNUnet come "/home/$USER/", allora puoi esplicitamente far cercare al tuo linker una precisa directory per biblioteche usando la variabile ambientale "LD_LIBRARY_PATH". Per esempio, se hai configurato GNUnet usando un prefisso "$HOME/gnunet/" allora devi:

$ export LD_LIBRARY_PATH=$HOME/gnunet/lib:$LD_LIBRARY_PATH
$ export PATH=$HOME/gnunet/bin:$PATH

per assicurarti che le biblioteche e i binari di GNUnet vengano riconosciuti. Per evitare di dover fare così ogni volta, puoi aggiungere le linee di cui sopra (senza la "$") al tuo file .bashrc o .profile. Dovrai fare il logout e di nuovo il login per far sì che questo nuovo profilo venga aggiunto a tutte le strutture (incluso il tuo desktop).

Quali messaggi di errore possono essere ignorati?

R: I messaggi di errore contrassegnati come "DEBUG" dovrebbero essere disabilitati nei binari generati per gli utenti finali e possono essere ignorati in ogni caso. I messaggi di errore contrassegnati come "INFO" riguardano sempre eventi innocui che non necessitano di alcuna operazione. Ad esempio, GNUnet potrebbe usare un messaggio INFO per indicare che è in corso un'operazione dispendiosa che richiede del tempo. GNUnet userà i messaggi INFO anche per mostrare informazioni su valori di configurazione importanti.


Condivisione di file

Qual è la differenza tra GNUnet e altre applicazioni per la condivisione dei file?

R: Al contrario di Napster, Gnutella, Kazaa, FastTrack, eDonkey e la maggior parte delle altre reti peer-to-peer, GNUnet è stata progettata dando la massima priorità alla sicurezza. Vogliamo creare una rete con delle funzionalità di sicurezza complete. Molte altre reti peer-to-peer sono aperte a una grande varietà di attacchi e gli utenti hanno poca privacy. GNUnet è anche un software libero, il codice sorgente è disponibile, quindi l'utente non deve preoccuparsi di essere spiato dal software. La tabella riportata qui di seguito sintetizza le differenze principali tra GNUnet e altri sistemi. Le informazioni sono riportate accuratamente al meglio delle nostre conoscenze. È difficile fare un paragone, perché talvolta ci sono differenze tra varie implementazioni dello stesso (o quasi) protocollo. In linea di massima, prendiamo un'implementazione libera come termine di paragone perché permette di esaminare il codice libero. Inoltre, dato che tutti questi sistemi cambiano nel tempo, le informazioni nella tabella potrebbero non essere aggiornate. In caso di errori, segnalacelo. Infine, la tabella non fornisce tantissime informazioni (è difficile paragonare questi sistemi così brevemente), quindi per conoscere le vere differenze bisogna leggere i documenti di ricerca (e probabilmente anche il codice).

Network GNUnet FS OneSwarm Napster Direct Connect FastTrack eDonkey Gnutella Freenet
Distributed Queries yes yes no hubs super-peers DHT (eMule) yes yes
Multisource Download yes yes no no yes yes yes no
Economics yes yes no no no yes no no
Anonymity yes maybe no no no no no yes
Language C Java often C C++ C C++ often C Java
Transport Protocol UDP, TCP, SMTP, HTTP TCP TCP TCP? UDP, TCP UDP, TCP TCP TCP
Query Format (UI) keywords / CHK filename / SHA? keywords filename, THEX filename, SHA filename, MD4? filename, SHA secret key, CHK
Routing dynamic (indirect, direct) static (indirect, direct) always direct always direct always direct always direct always direct always indirect
License GPL GPL GPL (knapster) GPL (Valknut) GPL (giFT) GPL (eMule) GPL (gtk-gnutella) GPL

Un altro importante termine di paragone sono le varie reti peer-to-peer anonime. In questo caso, le differenze riguardano il dominio di applicazione e in che modo, di preciso, si ottiene l'anonimato. Il routing anonimo è un difficile argomento di ricerca, quindi, in un confronto superficiale come questo, ci concentriamo sulla latenza. Un altro fattore importante è il linguaggio di programmazione. I linguaggi indipendenti dai tipi possono offrire dei benefici di sicurezza. Tuttavia, questo potrebbe comportare un incremento significativo del consumo delle risorse che, a sua volta, potrebbe ridurre l'anonimato.

Ci sono attacchi noti (sull'applicazione GNUnet per la condivisione dei file)?

R: Di solito, c'è la possibilità che avvenga un attacco con testo in chiaro noto alle parole chiave, ma visto che l'utente controlla le parole chiave associate ai contenuti che inserisce, può sfruttare le stesse tecniche usate per generare password accettabili per difendersi dall'attacco. Ad ogni modo, non stiamo cercando di nascondere i contenuti. Quindi, a meno che l'utente non cerchi di inserire informazioni sulla rete che possono essere condivise solo con un gruppo ristretto di persone, non ci sono buone ragioni per cercare di oscurare i contenuti scegliendo una parola chiave complessa.

Che si intende per anonimato?

R: Con l'anonimato è impossibile identificare un individuo che si trova in un (grande) gruppo. Un obiettivo centrale per la condivisione di file in GNUnet è far diventare tutti gli utenti (peer) parte di un gruppo e rendere le comunicazioni al suo interno anonime: nessuno (tranne l'iniziatore) dovrebbe riuscire a sapere quale peer nel gruppo ha dato origine al messaggio. In altre parole, dovrebbe essere difficile, se non impossibile, per un nemico, distinguere il peer iniziatore dagli altri.

Cosa fa il mio sistema quando partecipa alla condivisione di file GNUnet?

R: Su GNUnet crei un nodo (peer) che è identificato da un ID (hash della sua chiave pubblica) e che dispone di un numero di indirizzi ai quali è raggiungibile (può non avere indirizzi, per esempio quando si trova dietro un NAT). Quando avrai definito il limite della larghezza di banda (quanto traffico può consumare GNUnet) e la quota di archiviazione (quanto è ampia la tua archiviazione a blocchi su disco), il nodo si connetterà ad altri nodi, entrando a far parte della rete.


Contribuire

Come posso aiutare a tradurre questo sito web in altre lingue?

R: Per prima cosa, devi creare un account sul nostro sistema Weblate. Invia un'e-mail a translators@gnunet.org indicando la lingua in cui vuoi tradurre, oppure chiedi sulla chat #gnunet su irc.freenode.net. Qualcuno con le autorizzazioni necessarie ti darà l'accesso. Ovviamente, qualsiasi abuso comporterà la perdita dei permessi.

Ho delle ottime idee per una nuova funzionalità, cosa posso fare?

R: Purtroppo, le richieste di funzionalità sono molto più numerose di quante ne possiamo effettivamente implementare. Il modo migliore per ottenere l'implementazione di una nuova funzionalità è farlo da te e poi inviarci un patch.