Statistiche sulle prestazioni di I2P
Ho testato l'i2p ...
Funziona, ma l’anonimato e l’affidabilità sono dubbi…
TL;DR
Per sintetizzare
- Testati 3 tipi di deployment per misurare come funzionano come proxy (molto simili)
- Testati 3 tipi di deployment di servizi nascosti (i2p+ è stato il migliore)
- La partecipazione al flood non influisce sulla performance della rete i2p, ma aumenta il consumo delle risorse.
I2P è lento. Un ping richiede 5-10 secondi. E non è garantito che non si verifichi un timeout, anche se si ha una buona connessione.
Breve descrizione di cosa è
I2P è un protocollo di rete sopra IP, utilizza sia TCP che UDP, e sia IPv6 che IPv4.
L’idea principale è simile a TOR: passare i pacchetti di rete criptandoli in tempo reale, in modo che
- il nodo che trasmette il pacchetto non sappia cosa contiene
- il nodo che riceve il pacchetto non sappia l’originale mittente.
I2P non ha un modo standard per visualizzare “l’internet normale” (clearnet), ci sono outproxies, ma andiamo… TOR è molto migliore in questo. Quello che I2P ha sono “servizi nascosti”. Teoricamente questi servizi non sanno chi li chiama e gli utenti non sanno in quale nodo è ubicato ogni servizio.
I servizi possono essere qualsiasi programma standard internet - server IRC, server web con qualsiasi cosa ospitata lì, API REST, server XMPP o posta elettronica.
E non ci sono molti servizi là. Circa 200 siti? O 300?
Scopo, modo, aspetti morali e legali.
Posso vedere due motivazioni per ospitare un servizio nascosto
- Garantire (assicurare) la propria anonimia e privacy
- Fuggire dal controllo diretto del “Grande Fratello” - non tutti vivono in paesi democratici, alcuni governi tirannici opprimono e reprimono chiunque possano. Ma in questo “bucket” (“fuggire”) metterei qualsiasi attività illegale. È solo un motivo.
Gli aspetti morali e legali sono complessi. La mia visione (non sono un esperto legale, quindi non prenderla come consiglio):
Le persone hanno il [diritto morale] alla privacy. Hanno il [diritto morale] di dire “F.U. Non è affar tuo”. Hanno il [diritto morale] di non essere felici quando alcuni programmi o telefoni cellulari pubblicano la loro posizione, i satelliti scattano foto dei loro cortili e le pubblicano su Google Street View, e i governi ignorano questa attività e questa infelicità. Allo stesso tempo, il governo ha, AFAIK, il [diritto legale] di invadere la privacy delle persone, ci sono alcune condizioni, a volte. Per esempio, in Australia un agente di polizia può richiedere di sbloccare il proprio cellulare, che ha enormi implicazioni morali. Vedi la storia di Monica Smith che in qualche modo è stata richiesta di sbloccare il suo cellulare, dove la polizia avrebbe ottenuto i contatti di manifestanti a favore della libertà. (Quei tempi erano quelli del lockdown da COVID a Melbourne, il più severo al mondo). La polizia ha ritrattato, ma Monica ha rischiato il carcere per non aver obbedito.
L’anonimato è un altro aspetto importante della vita delle persone. La mia visione è che la sorveglianza e la deanonimizzazione vengono troppo spesso utilizzate solo per doxxing, invasione della privacy e bullismo. E meglio avere regole chiare e procedure quando chiunque è autorizzato a usarle.
Prestazioni
OK. Ecco qui.
Ho misurato quanto tempo impiega per completare un ping. (HEAD {site}.i2p)
Di seguito è riportata la distribuzione dei ritardi di risposta.
Questo grafico mostra che la durata prevista di una chiamata sarebbe intorno ai 5 secondi.
Ho impostato il timeout a 90 secondi, e come puoi vedere alcuni richieste non si sono completate affatto. 30 secondi e 60 secondi probabilmente sono dei timeout del lato del servizio o del router.
I siti principali sono siti ben stabiliti come http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p e simili, in totale 25 di questi. Gruppo Extra - insieme di altri 100+ siti.
Ho supposto che i proprietari dei siti principali sappiano cosa stanno facendo, e infatti le loro prestazioni sono migliori rispetto al gruppo extra. Ma la differenza non è enorme - solo 1 secondo (~5 secondi vs ~6 secondi durata media della chiamata). E! i siti principali hanno comunque occasionalmente timeout, come puoi vedere nel primo grafico (distribuzione della durata della richiesta).
Di seguito è riportato il grafico dell’utilizzabilità del tipo di proxy.
Misurata la durata del ping dei siti del gruppo principale da diversi proxy. I2P+ su uno e I2Pd su due diversi deployment mostrano risultati abbastanza simili.
Ora l’idoneità per l’hosting del servizio.
Il rosso spesso qui è I2P+.
Anonimato
Erano online 4000-10000 router, i loro indirizzi IP pubblici sono ben visibili. Quindi non possiamo parlare di un grande anonimato qui.
Consumo delle risorse
In miei esperimenti, I2Pd ha consumato ~130MB di RAM + ~7% di CPU.
I2P+ consumava ~350+MB di RAM + ~70+% di CPU.
Nella configurazione I2P+ ho aumentato un po’ l’allocazione di RAM, sperando che performsse meglio. Ecco quindi.
Nelle mie esperimentazioni, la partecipazione al flood non influiva sulla performance della rete i2p, ma aumentava il carico CPU circa del +20%.
Quindi, se stai pianificando di ospitare I2Pd - 1vCPU+512MB sarebbe sufficiente, credo. E per I2P+ - almeno 2vCPU+1GB.
La sensazione
È come un Fido, BBS e bei vecchi tempi. Quando la rete è così piccola che tutti si conoscono, solo per i nickname.
È lento. E vuoto.
Ma la sensazione è così analogica.