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 835 korisnika na forumu :: 51 registrovanih, 7 sakrivenih i 777 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: 8u47, _Petar, airsuba, amaterSRB, Apok, babaroga, bankulen, bojcistv, Brana01, cenejac111, cinoeye, Dannyboy, darkangel, Denaya, Dimitrise93, djboj, Djokkinen, doklevise, DonRumataEstorski, DragoslavS, GORDI, Istman, Kandrbandrdzilo, kunktator, laganini123, laurusri, MB120mm, mercedesamg, Mercury, Metanoja, Mixelotti, mnn2, nebkv, novator, opt1, ozzy, pein, Polemarchoi, Rogonos, royst33, ruma, Sančo, Sir Budimir, slonic_tonic, Srky Boy, Srle993, styg, tubular, vlajkox, wolf431, zastavnik