P2P obsese - pokračování

loler

Re:P2P obsese - pokračování
« Odpověď #15 kdy: 27. 06. 2012, 17:20:17 »
Možná jsem to jen nepochopil, ale nějak mi tam chybí skrytí identity peerů. Pokud bude dohledatelné od koho stahuju, šifrování obsahu mi bude na houby, protože peer infiltrátor samozřejmě dešifrovat může. Prosím tedy o objasnění pro běžného frantu nesíťaře :D


Waseihou

Re:P2P obsese - pokračování
« Odpověď #16 kdy: 27. 06. 2012, 18:47:15 »
Základ myšlenky: Když se soubor se zašifruje a rozdělí na 100 částí (bloků) a každá se nahraje k jinému uživateli který ji nabízí ke stažení, tak žádného z nich nelze potrestat, protože nevěděli a díky šifrování ani nemohli vědět co sdílí, navíc sdílí jen malou část. Pokud se navíc nastaví aby se blok smazal pokud nebyl stáhnut déle než týden tak z právního hlediska tito uživatelé fungují jako dočasné úložiště pro které existuje právní výjimka co se týče odpovědnosti za obsah. Díky tomu může stahovač po té co "nějak" zjistí identifikátory kažého bloku je začít sosat přímo a bloky nemusejí být přeposílány přes jiného uživatele aby se skryla identita původce. Samozřejmě je ale třeba zajistit aby těch 100 bloků bylo rozhozeno třeba mezi 500 uživateli, tedy každý blok mezi 5, a to proto aby byly k dohledání.

Upload je ale problém, tam je třeba proxy aby se podařilo skrýt identitu, to se dá řešit tak že se ze všech uživatelů vybere náhodně jeden, tomu se pošle blok s tím že to má přeposlat dalšímu jehož identifikátor je blíž identifikátoru souboru (tedy ID uživatele i bloku dat mají stejný formát - velké číslo) a ten to opět přepošle. Díky tomu nelze zjistit jestli ten kdo poslal blok k uložení je ten kdo soubor do sítě nahrával a nebo ho jenom přeposílá. Při přeposílání si ale může tuto hodnotu dočasně uchovat pokud má místo, aby v případě že by někdo zkoušel tahat od něj mohl tento blok poskytnout a zároveň se tak řeší aby jeden blok toho souboru byl na více místech, protože se zvyšuje pravděpodobnost že bude dostupný.

Další chytrý postup je umožnit uživateli zašifrovat u něj uložené bloky ještě jednou u něj na disku heslem, to ale není nutné vzhledem k tomu že evropská směrnice i české právo má výjimku pro zodpovědnost provozovatele úložiště za obsah který tam uživatelé nahráli.

Problémem je ale možnost zaprasení takovéto sítě třeba firmou za tímto účelem najatou, což by se dalo řešit tak že by každý sdílený blok musel být elektronicky podepsán a uživatelé by sdíleli přednostně obsah takto podepsaný, tudíž by měli seznam release skupin které podporují. Tímto se dá vyhnout také tomu aby sdíleli obsah který shledávají morálně závadný, protože se dá předpokládat že release grupa zaměřená třeba na americké seriály nebude z ničeho nic sdílet dětské péčko. Protože je obsah šifrovaný a rozházený mezi mnoha uživateli, opět bude obtížné dokázat dostatečnou vinu jednomu konkrétnímu uživateli, navíc další vrstva šifrování může odradit od snahy provét domovní prohlídku jednoduše proto, že vyšetřovatel bude vědět že žádné použitelné důkazy nezíská. Takovýto systém zatím žádná mě známá aplikace neimplementuje.

Někdo by mohl namítnout že pokud jsou bloky podepsané, tak už nejsou anonymní, ale protože samotný certifikát je vytvořen anonymně a jeho důvěryhodnost je ověřena zkušeností, tak release grupa může zůstat anonymní a přitom prokazovat svoji virtuální identitu kdykoliv je to potřeba. Tím rovněž vzniká ona možnost jak tematicky zaměřit takovýto p2p systém - uživatel si stáhne sadu certifikátů release grup zaměřených na obsah jím vyhledávaný. Tohle by možná mělo být použito i k routování a zajistit že uživatelé s podobnými zájmy budou mít k sobě blíž, identifikátor relase skupin použít jako nějaký prefix (předčíslí)...

Jenda

Re:P2P obsese - pokračování
« Odpověď #17 kdy: 28. 06. 2012, 00:29:54 »
Základ myšlenky: Když se soubor se zašifruje a rozdělí na 100 částí (bloků) a každá se nahraje k jinému uživateli který ji nabízí ke stažení, tak žádného z nich nelze potrestat, protože nevěděli a díky šifrování ani nemohli vědět co sdílí, navíc sdílí jen malou část.
Úplně stejně jako torrentování/share server a zašifrovaný RAR.

Jako nechci být skeptický, ale fakt se bojím toho, že jakmile se to vypustí a začne trochu používat, začnou po tom jít.

Waseihou

Re:P2P obsese - pokračování
« Odpověď #18 kdy: 28. 06. 2012, 06:20:31 »
Není to to samé, protože pokud se tahá zašifrovaný rar tak se zároveň sdílí všechny již stáhnuté bloky, takže minimálně někdy během toho stahování dojde k tomu že se sdílí natolik velká část díla že je to možno považovat za spřístupnění díla veřejnosti. Naopak pokud každý sdílí pouze 1/100 a ani neví čeho protože mu to náhodně došlo ke sdílení tak je to jiná situace. Není žádný seznam souborů který by uživatel sdílel, není dokonce ani soubor který by sdílel, vše je rozházeno mezi dav a ten kdo to chce tak musí navštívit mnoho lidí a dílky skládačky najít a poskládat.

To co zkouším zplácat ale naopak nenabízí přímo žádne soubory ke stažení, cílem je vytvořit velkou distribuový key-value store kde je navíc vynuceno že key=sha1(value). Takové db existují, ale nejsou designované na to aby data byla rozházena mezi uživatele. Hlavní problém vidím ale opravdu v tom že pokud se něco takhle rozháže mezi uživatele tak se musí zaručit aby data byla dostupná a od toho je třeba aby někdo ten soubor přece jenom sdílel. V GNUnetu to tak mají udělané, včera jsem to četl, že standardně se neuploaduje ale pouze se zveřejní nějaké pomocné routovací informace aby když to někdo začne tahat tak se našla routa přes mixnet a teprve během této operace dochází k nějakému tomu cachování. Když se totiž umožní každému nahrát co chce, tak to zbytečně žere propustnost sítě a navíc to umožňuje šířit bordel. Problém z bordelem by podle mě ale měly vyřešit právě nějaká prioritizace bloků podle elektronického podpisu.

Waseihou

Re:P2P obsese - pokračování
« Odpověď #19 kdy: 28. 06. 2012, 06:56:42 »
Systém pro elektronický podpis bloků
-----------------------------------

Release skupina - vygeneruje veřejný U a soukromý klíč R, veřejný klíč zveřejní

Uživatel - má seznam preferovaných release skupin W s kvótou Qw, 0<=Qw<=1, skupin které nevadí G, zakázaných release skupin B, a diskový prostor vyhrazený pro sdílení D. Minimálně Qw*D úložného prostoru musí být použito pro sdílení bloků podepsaných některým podpisem z W (whitelist). Bloky podepsané některou skupinou z W mají vždy přednost před bloky z G a pokud chybí místo pro blok od W tak je odstraněn blok podepsaný některou skupinou z G. Priority by šly asi vymyslet chytřeji, teď to nebudu řešit do detailu.

Upload souboru - rozdělí soubor S na N bloků S1...Sn, pro každý blok Si vypočítá hash Hi, každý hash Hi zašifruje svým soukromým R klíčem a vzniknou podpisy X1...Xn, vytvoří metadata M (ty teď neřeším) a rozdistribuje uspořádané ntice (Si, Hi, Xi) mezi uzly sítě které tvoří distribuovanou hashovací tabulku. Jako klíč pro vyhledání ID peera který bude sdílet konkrétní blok Si se může použít třeba U||Si kde || značí konkatenaci, nebo jiná vhodní možnost. Aby peer blok přijak ke sdílení musí být podepsaný některým z podpisů z W nebo G, peer tedy vypočítá hash Ti uploadnutého bloku a pomocí veřejného klíče dané zkupin U rozšifruje Xi a porovná je, tedy pouze poku sha1(Si)==Hi==decrypt(U,Xi) tak tento blok přijme ke sdílení.

Seznam důvěryhodných release skupin - libovolná release skupina může elektronicky podepsat veřejné klíče jiných release skupin a tím vytvořit seznam podle nich důvěryhodných skupin, takže participant sítě si stáhne seznam ověřených skupin od jím ověřené skupiny. Toto půjde rozšířit o rekurzi, po stáhnutí důvěryhodného seznamu se tyto skupiny přidají do W nebo G a klient se pokusí najít další seznamy podepsané libovolnou důvěryhodnou skupinou z W nebo G a takto pokračuje dokdu nenajde všechny seznamy. Kromě takovéto rekurze se může pokusit o získání těchto seznamů ale přidá pouze ty release grupy, které jsou podepsnány nadpoloviční většinou ostatních. Tudíž release grupy by se navzájem ověřily a potvrdily vzájemnou důvěryhodnost. Podobně by mohly zveřejňovat blacklist, kde by ona funkce majority měla větší uplatnění - pokud je někdo na blacklistu všech těch které považuji za důvěryhodné, tak jeho bloky klient odmítne. Toto umožní dodatečné zabanovámí skupiny která časem "zlotřila" (grabující děcka co začaly šířit bordel atp.) nebo její kvalita značně poklesla (zde by mohl být blacklist konkrétních souborů potvrzených release skupinami).

Distribuce metadat M by se řešila postranními kanály zajišťujícími anonymitu, jako je tor. Metadata M jsou totiž mnohem menší než bloky Si a pro větší bezpečnost by mohly být nabízeny v úplně jiné DHT síti.

Systém elektronických podpisů si klade za cíl přiblížit takovéto "blokové" řešení torrentům, kdy uživatelé sdílí pouze obsah z oblasti jejich zájmu.Hodně privátních torrent trackerů odměnuje uživatele za adopci obsahu který má málo seedů, jako jsou třeba scany 10 let starého komiksu, takže se zde dokonce nabízí možnost vytvořit virtuální anonymní obdobu privátních trackerů, kdy by nějaká skupina administrátorů mohla souborům přidělovat kvóty na redundanci a vynutit tak sdílení vzácného obsahu. Opět by se to řešilo pomocí elektronického podpisu, bylo by ale nutné vyřešit vhodný algoritmus případné replikace.


Waseihou

Re:P2P obsese - pokračování
« Odpověď #20 kdy: 28. 06. 2012, 07:35:59 »
Systém adresného hodnocení/odměňování autorů a jejich děl
----------------------------------------------------------

Tohle jsem zkoušel vymyslet jako řešení jak by se teoreticky dali odměňovat autoři.

Autor - vygeneruje veřejný a soukromý klíč, pro každé své dílo vygeneruje hash a ten elektronicky podepíše

Uživatel má rovněž - vygeneruje veřejný a soukromý klíč, pokud se mu nějaký obsah líbí tak vezme jeho hash, připojí za něj počet bodů a aktuální datum a čas a toto zašifruje svým soukromým klíčem, tedy to elektronicky podepíše. Toto odešle nějaké centrální autoritě která ověří podpis a zapíše si že uživatel dal v určitý měsíc určitý počet bodů určitému autorovi,

Centrální hodnotící autorita - každý měsíc spočítá, kterým autorům dal konkrétní uživatel bodů a vypočítá relativní oblíbenost daným uživatelem, tedy normalizuje hodnocení. Pokud uživatel hodnotil autora X 5 body, autora Y 2 body a autora Z 3 body, tak autor Z dostane hodnocení Ei = 3/(5+2+3). Pokud by každý uživatel odváděl každý měsíc nějakou částku P na podporu kultury, tak by Z dostal Ei*P, tedy pokud by P bylo třeba 300 korun tak by Z dostal 3/(5+2+3)*300=90 korun. Dovedu si představit že by vznikli malí nezávislí "distributoři" kteří by opravdu zaměstnávali pouze lidi potřebné k technické realizaci díla, ale jeho distribuci a propagaci by nechali na uživatelých aby minimimalizovali dodatečné náklady. Tato platba by se tedy dělila například mezi muzikanty nazpívali skladbu, týpka co to masteroval a něco by šlo také týpkovi co poskytl čas v nahrávacím studiu. Samotní muzikanti by se spolu se svojí komunitou postarali o propagaci svého díla a na komunitě by byla ponechána jeho distribuce. Zrušily by se výpalné OSA a jiným parazitům kde sedí spousta kravek a kokotů v kanclu a kultuře nejsou prospěšní jinak, jenom úředničí nebo si hrajou na manažery. Ty jejich weby taky musely něco stát a určitě se na tom někdo napakoval. Toto všechno může odpadnout pokud se najde jiný distribuční model spojený se systémem odměn.

BitCoin - už existují směnárny umožňující převést bitcoin na opravdovou měnu, uživatelé by krom sdílení mohli generovat bitcoiny a těmito platit autorům, kteří by využili služeb některé směnárny.