Dizajniranje P2P aplikacije

Dizajniranje P2P aplikacije

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Planiram da radim jednu aplikaciju za upravljanje unosima pa još razmišljam o dizajnu. Prvo mi je pala napamet P2P mreža koja bi koristila blockchain, no to mi je previše komplikovano za razvoj (a i zauzima dosta prostora). Druga stvar je ta što blockchain u ovom slučaju nema neku svrhu jer postoji centralna tačka sa koje se podaci unose i dalje šire kroz mrežu povezanih korisnika.

To funkcioniše ovako; svaki korisnik ima svoj ID i par RSA ključeva (javni i privatni). Pre slanja podataka uzimam ID-eve i javne ključeve svakog korisnika. Šifriranje odgovarajućih podataka za svakog korisnika funkcioniše ovako:



U prvom koraku šifriram informacije pomoću AES ključa (pošto RSA nije za veće podatke). U drugom koraku, taj ključ šifriram javnim ključem korisnika kome su ti podaci namenjeni (primaoca). U trećem koraku šaljem ta dva podatka korisniku. U četvrtom koraku korisnik pomoću svog privatnog ključa dekriptuje poslati AES ključ i u petom taj dekriptovani ključ koristi kako bi dekriptovao informacije.

Pošto se radi o relativno malom broju korisnika i manjoj količini informacija u vidu JSON-a (ni pola kilobajta), mislio sam da umesto trećeg koraka napravim jedan JSON fajl od svih podataka u ovom formatu:

{   [     {       "id": 3876,       "data": << enkriptovani podaci >>,       "key": << enkriptovan AES ključ >>     },     {       "id": 2981,       "data": << enkriptovani podaci >>,       "key": << enkriptovan AES ključ >>     },     ...      ] }
Kreiram jedan torent fajl, iskoristim neku biblioteku za BitTorrent protokol i da korisnici tako preuzimaju sadržaj. Time će podaci biti dostupni na dosta uređaja, a korisnik će moći da pročita samo one podatke koji su mu namenjeni.

Tu međutim postoji jedan problem; podaci se često menjaju, tako da torent nije dobro rešenje. Interesuje me da li postoje neko srećnije rešenje, a koje nije toliko komplikovano za implementaciju? Jedino na šta sam za sada naišao je WebRTC.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 981 korisnika na forumu :: 27 registrovanih, 2 sakrivenih i 952 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: aleksmajstor, aramis s, Asparagus, Avalon015, Belac91, branko7, BSD, darcaud, dzoni19, Istman, mercedesamg, Milometer, milos.cbr, mkukoleca, MrNo, Niko Bitan, Nobunaga, pein, raketaš, Sirius, trajkoni018, vathra, Vlada1389, voja64, YugoSlav, |_MeD_|, 2001