Dizajniranje P2P aplikacije

Dizajniranje P2P aplikacije

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

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 1321 korisnika na forumu :: 93 registrovanih, 10 sakrivenih i 1218 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, Andrija357, AOE, ArmFPGA, babaroga, bakovaca, Bbbggg1979, Boris BM, Branko Matić, bufanje, cenejac111, Chainsaw, cifra, ClioP1, Colt D, DalmatinacMF, dane007, dekan.m, Deki Duga Devetka, Despot Đurađ, Dimitrije03, Dimitrise93, Djokkinen, dnevnasoba, DonRumataEstorski, Dorcolac, Draganeli, Duh sa sekirom, ElGenius, gasazem, ikan, Jager715510, joca83, Joint Chief, Jonbonjovi, Kobrim, Kototamopeva, Kubovac, ljubo70, M74AB3, mauglibn, maxim_von_burdengate, mercedesamg, Mercury, metallac777, mikelija, miki kv, mile.ilic75, Miler88, Moldovan, N.e.m.a.nj.a., Naj-Turs, Natuzzi, Nemanja.M, Nikola93., Nobunaga, novator, Ns1975, Orc, OtacMakarije, pein, Pekman, PITT, procesor, proka89, Pururin, RD84, repac, Rothmans, ruma, ruso, ShtagodShtagod, Simonsen23, Sir Budimir, Smiljkovich, sova72, Srki98, Srle993, tafafo, tamno.nebo, vathra, Vatreni Zmaj, vensla, vladetije, vuk77, Vzor50, wulfy, XBMC, YugoSlav, Zoran1959, zoran77, |_MeD_|, Žrnov