Mr.DaNi
24-02-2011, 14:18
Ciao a tutti,
chiaccherando in compagnia abbiamo provato a pensare come potrebbe essere un protocollo p2p, adatto allo scambio di testo/immagini/video non particolarmente onerosi, ma soprattutto anonimo. Anonimo nel senso che non è possibile risalire alla fonte (chi ha messo per primo il file nella rete) e nemmeno riuscire a stabilire con certezza gli utilizzatori finali (chi prende dalla rete).
L'idea è quella di unire un routing onion (tipo TOR) a kademlia. Ovviamente i passaggi intermedi casuali (tipici del router onion) rallenterebbero la capacità di trasmissione, ma tutto ciò nasce per trasferire testo/immagini/video in un contesto "chiuso" (molti peer collegati tra loro che non possono uscire sulla rete globale), e a bassa richiesta di banda (file piccoli in media).
NON dovrebbe essere un filesystem distribuito (in cui ogni peer ha un pezzo di file) perchè dal nostro punto di vista troppo "appetitosi" per gli spammer: ogni nodo condivide solo ciò che ha scaricato.
Funzionamento:
Basato sulla condivisione di "post", contenitori di
testo/immagini/video, diversificati da un hash. Ogni post può
contenere un riferimento con l'hash del post padre per la costruzione
della gerarchia di post (solo verso l'alto), necessaria in caso di "discussioni" generate da un post.
Condivisione:
Ogni nodo che effettua una ricerca (attraverso parole chiave)
individua ciò che gli interessa e lo scarica, rendendolo a sua volta
disponibile (scarica il post a tutti gli effetti e ne tiene una copia
in locale). Ogni nodo ha la porzione del database che ha
effettivamente visualizzato.
Protezione:
Lo scaricamento avviene tramite peer intermedi su connessione cifrata (non è quindi un client-server) che potrebbero anche non avere il file che viene richiesto.
1 cerca il file "A", 2 risponde ce l'ho, 3 risponde "non ce l'ho", il trasferimento avviene "per pezzi" sia da 2 verso 1 ma anche da 2 verso 3 che poi redirige verso 1. Immaginate di espandere ciò per un pò di nodi (un centinaio).
Ogni comunicazione tra due nodi è crittografato e sia la ricerca sia il
passaggio effettivo dei dati avviene attraverso nodi intermediari
(casuali). Il senso è che non si possano conoscere gli
endpoint delle richieste (requester-publisher).
Spammer:
Ad ogni post scaricato, l'utente ci può associare un voto
positivo o negativo: nelle ricerche, questi voti si sommano (o si
sottraggono se negativi) presentando nel risultato la somma
(determinando la positività o la negatività). Post con voti negativi
vengono posti molto in basso nella ricerca. Ogni client da un voto ad
un post: se i voti dati dal client aumentano, il client sta
imbrogliando.
Bootstrap:
La rete dovrebbe essere basata su kademlia, percui necessita di alcuni
nodi iniziali. il formato dovrà essere di facile condivisione. Non ci
sono server per la distribuzione di queste liste, ma avverrà tramite passaggio di mano in mano o attraverso blog / punti di raccolta.
Fornitura di servizi Web:
Alcune organizzazioni vorrebbero rendere disponibile delle homepage in modo anonimo, raccogliendo / visualizzando ciò che passa per la rete. Dovrebbe essere predisposta una integrazione con Tor, nel senso di una rapida conversione post -> web per poi essere resa disponibile attraverso un server anonimo Tor.
Si, siamo partiti da un protocollo e alla fine abbiamo parlato di ciò che dovrebbe fare questo ipotetico programma basato sul protocollo.
Idee e commenti (di qualsiasi tipo) sono accettatissime.
Grazie
chiaccherando in compagnia abbiamo provato a pensare come potrebbe essere un protocollo p2p, adatto allo scambio di testo/immagini/video non particolarmente onerosi, ma soprattutto anonimo. Anonimo nel senso che non è possibile risalire alla fonte (chi ha messo per primo il file nella rete) e nemmeno riuscire a stabilire con certezza gli utilizzatori finali (chi prende dalla rete).
L'idea è quella di unire un routing onion (tipo TOR) a kademlia. Ovviamente i passaggi intermedi casuali (tipici del router onion) rallenterebbero la capacità di trasmissione, ma tutto ciò nasce per trasferire testo/immagini/video in un contesto "chiuso" (molti peer collegati tra loro che non possono uscire sulla rete globale), e a bassa richiesta di banda (file piccoli in media).
NON dovrebbe essere un filesystem distribuito (in cui ogni peer ha un pezzo di file) perchè dal nostro punto di vista troppo "appetitosi" per gli spammer: ogni nodo condivide solo ciò che ha scaricato.
Funzionamento:
Basato sulla condivisione di "post", contenitori di
testo/immagini/video, diversificati da un hash. Ogni post può
contenere un riferimento con l'hash del post padre per la costruzione
della gerarchia di post (solo verso l'alto), necessaria in caso di "discussioni" generate da un post.
Condivisione:
Ogni nodo che effettua una ricerca (attraverso parole chiave)
individua ciò che gli interessa e lo scarica, rendendolo a sua volta
disponibile (scarica il post a tutti gli effetti e ne tiene una copia
in locale). Ogni nodo ha la porzione del database che ha
effettivamente visualizzato.
Protezione:
Lo scaricamento avviene tramite peer intermedi su connessione cifrata (non è quindi un client-server) che potrebbero anche non avere il file che viene richiesto.
1 cerca il file "A", 2 risponde ce l'ho, 3 risponde "non ce l'ho", il trasferimento avviene "per pezzi" sia da 2 verso 1 ma anche da 2 verso 3 che poi redirige verso 1. Immaginate di espandere ciò per un pò di nodi (un centinaio).
Ogni comunicazione tra due nodi è crittografato e sia la ricerca sia il
passaggio effettivo dei dati avviene attraverso nodi intermediari
(casuali). Il senso è che non si possano conoscere gli
endpoint delle richieste (requester-publisher).
Spammer:
Ad ogni post scaricato, l'utente ci può associare un voto
positivo o negativo: nelle ricerche, questi voti si sommano (o si
sottraggono se negativi) presentando nel risultato la somma
(determinando la positività o la negatività). Post con voti negativi
vengono posti molto in basso nella ricerca. Ogni client da un voto ad
un post: se i voti dati dal client aumentano, il client sta
imbrogliando.
Bootstrap:
La rete dovrebbe essere basata su kademlia, percui necessita di alcuni
nodi iniziali. il formato dovrà essere di facile condivisione. Non ci
sono server per la distribuzione di queste liste, ma avverrà tramite passaggio di mano in mano o attraverso blog / punti di raccolta.
Fornitura di servizi Web:
Alcune organizzazioni vorrebbero rendere disponibile delle homepage in modo anonimo, raccogliendo / visualizzando ciò che passa per la rete. Dovrebbe essere predisposta una integrazione con Tor, nel senso di una rapida conversione post -> web per poi essere resa disponibile attraverso un server anonimo Tor.
Si, siamo partiti da un protocollo e alla fine abbiamo parlato di ciò che dovrebbe fare questo ipotetico programma basato sul protocollo.
Idee e commenti (di qualsiasi tipo) sono accettatissime.
Grazie