Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Waseihou 26. 06. 2012, 16:06:39
-
Tak jsem se právě nasral:
Rozhodnutí Evropského Parlamentu ve věci ACTA se bude ignorovat. A schvalovat se bude dokud nebude schváleno.
http://www.lupa.cz/zpravicky/rozhodnuti-evropskeho-parlamentu-ve-veci-acta-se-bude-ignorovat-a-schvalovat-se-bude-dokud-nebude-schvaleno/
a teď k věci. Pouštět se do nějakých protestů nemá cenu dokud nebude celoevropská akce, a ti kokoti to stejně můžou ignorovat. Takže zbývá technické řešení jak dosáhnout nekontrolovatelné svobody šíření informací beze strachu z postihu participantů.
Již jsem zkoušel vymyslet různé nápady, ale žádný nikdy nebyl podroben dostateční kritice. Takže shrnu to co mi vězí v hlavě a rozcupujte tu ideu prosím.
Nápad je takovýto: darknety jsou pomalé a zbytečně přehnané vzhledem k tomu že není potřeba skrýt skutečnou identitu účastníků, ale postačí když bude nedokazatelná odpovědnost za obsah jimi distribuovaný.
P2P síť by pak fungovala takto (nabízí se možnost rozšiřit klienta existující sítě, netřeba vynalézat kolo):
- každý může komunikovat s každým
- soubor je rozdělen do bloků o maximální velikosti 128kb a tyto jsou rozdistribuovány mezi uzly sítě podle hashe, id uzlů i hashe jsou 160 bitová čísla a tedy uzly které jsou dostatečně blízko hashi podle nějaké metriky budou tyto bloky uchovávat
- při vytváření bloků je použit algoritmus kdy je vytvořeno N bloků, ale pro složení souboru stačí libovolných M bloků, M<N
(http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing , http://point-at-infinity.org/ssss/demo.html), díky tomu je i vyřešen problém kdy by ze sítě vypadly všechny uzly jenž jsou zodpovědné za nějaký konkrétní blok
- pro adresaci uzlů sítě se používá DHT jako kademlia a nebo chord: http://en.wikipedia.org/wiki/Distributed_hash_table
- při uploadu síť pracuje na bázi mixnetu, při downloadu se stahují přímo bloky
- podle magnetu lze dohledat soubor s hashi které je získat včetně alternativ
b0 - h01 ... h0k
b1 - h11 ... h1k
...
bn - hn1 ... hnk
soubor je pak složen ze získaných bloků
- soubor je před uploadem zašifrován a samotné bloky jsou ještě jednou volitelně zašifrovány u klientů za ně zodpovědných
- hledání probíhá pomocí kombinace několika DHT
a nyní: proč by toto nemělo fungovat, jaké vidíte slabiny?
legislativní problémy neřeším, otázka je jestli to vůbec může reálně fungovat a nebo je to obecně špatný design který se zadusí sám
jinak funkční klient který toto všechno dělá existuje, ale není open source: http://en.wikipedia.org/wiki/Perfect_Dark_%28P2P%29
poslední update má z 6. června takže to ještě není mrtvý, ale brzy asi bude protože v Japonsku začnou odpojovat uživatele i za pouhé používání této sítě, bude stačit aby pomohli jako proxy při přenesení jendoho bloku nelegálních dat a ani nemusí vědět co přenášeli, ACTA hadr...
stáhnout lze zde:
http://translate.google.cz/translate?sl=ja&tl=en&js=n&prev=_t&hl=cs&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fperfectdark.benri-tool.net%2F
Jinak to nemá žádnou formu nat traversal a nejde dodělat bo to není open source a autor je obtížně kontaktovatelný protože v Japonsku je vytváření takovéto aplikace trestným činem, takže se to řeší anonymním vydáním. Počet aktivních uživatelů je asi 30 tisíc, dle monitoringu...
-
Tak jsem se právě nasral:
Na to se vyser. Mezinárodní právo tady funguje už poněkud déle než eurosoudruh de Gucht a jeho naivní představy o tom, že jednou schválené znění smluv lze jednostranně měnit formou "vyjasnění" a ignorování nejvyšší soudní instance EU. Nicméně pokud by se uskutečnilo referendum o vystoupení z EU, byl bych jednoznačně pro.
-
Z google cache se mi povedlo zachránit tohle: http://www.ulozto.cz/xtf9Pg8/andrew-tytula-2002-pdf
-
NAT neřešit, to ať řeší jiní: http://socialvpn.wordpress.com/
nejlepší bude když klient bude komunikovat přes localhost:port
-
ten shamir je zaujimavy napad ale neviem nakolko by to bolo realizovatelne. teda, asi to funguje ze ano :) (sam som napisal taku blbinu ktora stala na shamirovom principe) ale neviem si predstavit ako konkretne nejaky subor z tej siete stiahnes.
na ake velke bloky by si tie data rozdelil? nefunguje to na tom principe, ze ked mas 1 giga dat, tak ked to rozdelis medzi troch ucastnikov, kazdy ma 1 gigovy subor? neznamena to potom, ze jeden ucastnik musi stiahnut ostatne 2 gigabajty a vsetko potom spojit?
skus to este rozpisat pls nejako mi to nedoslo ..
-
Tak tohle co tu popisuji už bylo naprogramováno v roce 2000: http://en.wikipedia.org/wiki/Mojo_nation
File Publishing System
The only application built on the EGTP/Mojo framework was a distributed file publishing system. Users could publish files, which would be stored on other MojoNation nodes. During the publishing process, the file was encrypted and redundantly encoded into many small blocks using an information dispersal algorithm. These blocks were then uploaded to any nodes that were running the "block server" service. Publishing a file generated a unique identifier (similar to a Freenet SSK) that was required to download and decrypt the file. If the user wished a file to be publicly available, he could send the identifier to a "content tracker" service.
Downloading files is the reverse of the publishing process: a user either sends a query to a content tracker and gets a list of identifiers in response or obtains a file identifier out of band, then asks block servers for the appropriate blocks, and then inverts the IDA and encryption algorithms to recover the original file.
Unlike file sharing systems (which never send any data over the network unless it has been requested), most file publishing systems (with the exception of BitTorrent) have not attracted large numbers of users.
Otázkou je, proč to selhalo? Možná je to jenom můj pocit, ale neubylo v posledních letech mnoho uživatelů sítí jako byly eMule, gNutella, DC++ a dalších, zůstal jen bittorrent. U toho DC++ je to pochopitelné, ale u ostatních tolik ne, protože měly velkou základnu. Ve svém okolí neznám nikoho, kdo by něco takového používal, všichni tahají přes cyberlockery.
Je třeba se proto zamyslet nad touto problematikou zamyslet - pokud už technologie které potenciálně řeší mnohé problémy které tužší legistlativa může přinést na poli sdílení obsahu byly vymyšleny před deseti lety, jak to že se neuchytily? A má cenu na ně navazovat?
Dnešní situace je přece jen jiná než tehdy, matně pamatuji jak jsem jako kluk rok šetřil na CD vypalovačku protože to tehdy bylo něco neuvěřitelného, uložit tolik dat na tak relativně levné médium v porovnání s pevným diskem, a někteří šťastlivci měli rychlý internet odkud tahali data mezitím co já po modemu v noci stahoval hudební moduly rychlostí 4KB za sekundu a ještě si do notýsku zapisoval kolik jsem ten měsíc provolal abych se vlezl do limitu. Dostat se k jakémukoliv obsahu bylo velmi obtížné a někteří spolužáci na základce si pěkně přividělali pálením cd. Za takové situace se nelze divit tomu že aplikace jako gNutella a Napster byly populární, vždyť tehdy dokonce byly distribuované třeba na Score CD jako utility jako žhavá novinka. Obávám se, že tuto "mentalitu vzácnosti" si stále alespoň z části nesu v sobě, a to negativně ovlivňuje způsob jakým uvažuji.
Dneska je běžné nosit flešku na klíčích a lidi když si něco kopírují tak donesou rovnou několik TB harddisk, na internetu jsou dostupné služby které zadarmo umožňují uchovávat gigabajty dat, a přenosové rychlosti jsou také velmi vysoké. Internet a jeho obsah je konzumován i pomocí přenosných zažízení a je mnohem více uživatelů kteří jsou technicky méně zdatní. Co se datových přenosů týče tak převážil model producent-konzument kdy tok dat směrem k uživateli výrazně převažuje nad tokem dat od něj, a provozovatelé připojení tuto asymetrii ještě podporují. Internet se alespoň z části stal novou televizí a streamované přenosy si již ukusují z konektivity více než provoz p2p sítí, navíc rychlost s jakou jejich podíl roste je výrazně vyšší než u p2p.
Z internetu a počítačů se stala opravdu masová záležitost. Lidi nebudou ochotni používat službu u níž musí čekat na výsledek, místo aby si počkali na stáhnutí kvality tak dají přednost možnosti bezprostředně konzumovat zábavu v mizerné technické kvalitě. Viděl jsem to na kolejích hodněkrát, místo aby si lidi stáhli kvalitní grabnuté video, tak se dívali na streamovaný brak 320x240 roztáhnutý přes celou obrazovku monitoru. Dostupnost laciného braku bohužel značně v lidech oslabil onu "mentalitu vzácnosti" takže jenom část lidí je ochotna obětovat nějakou snahu pro získání lepší kvality či dokonce participaci na sdílení.
-
V podstatě jsem chycen v uvažování, které je vlastní šéfům velkých nahrávacích a distribučních společností, kteří také svůj produkt vidí jako něco vyjímečného a unikátního, co si zaslouží být chráněno za pomoci až absurdních opatření. Realita je ale taková, že pokud by náhodou byli opravdu schopni do puntíku vynutit dodržování autorského práva, uživatelé místo dívání se na to jejich hovno pro změnu třeba budou klábosit na facebooku...
Díky internetu došlo k hyperinflaci možností jakými může potenciální konzument marnit čas, takže relativní cena autorského obsahu značně poklesla. Dnešní konzument není často schopen kvalitu poznat, a tak ji ani nehledá. Ano z uživatele a účastníka internetu se stal konzument. Nejsou ale konzumenti jako konzumenti, existují různé druhy konzumentů a někteří jsou vhodnější cílovou skupinou pro různé experimenty. Především se dá všimnout, že existují privátní trackery zaměřené na sdílení tematicky podobného obsahu, vznikají tedy komunity a na těch se dá stavět. Každý experiment o případnou novou podobu sdílení musí mít tento sociální rozměr - stahuji a sdílím převážně obsah který mi je blízký a cením si raritních kousků, nechci ale aby mé zdroje byly využívány k šíření obsahu který mě nezajímá.
Takže p2p sítě by měly mít možnost vytvářet virtuální komunity uživatelů majících svoji virtuální identitu, která může posloužit i jako základ pro elektronický podpis nějaké release skupiny. Uživatelé pak sdílejí jenom ty bloky dat, které jsou podepsané těmi které považují za důvěryhodné. Nevýhodou různých uzavřených společenstev ale je, že informace o umístění všech zdrojů dat není sdílena lokálně. Tady se dá uvažovat že mezitím co komunity by byly vždy uzavřené, tak indexování obsahu by bylo globální. Jedna DHT tabulka pro všechny, ale více nezávislých overlay sítí. Takže komunitní směr by možná byl jednou z možností. Protože ale komunity již existují kolem bittorrentu, tak jakékoliv řešení musí být pouhou formou rozšíření stávajícího stavu...
Jak by měla vypadat p2p aplikace která by byla úspěšná? Co třeba využít tuposti uživatele a nainstalovat mu službu na sdílení do systému distribuovanou spolu s pluginem na přehrávání médií z takovéto distribuované sítě v prohlížeči? Bylo by to jednoduché, chceš video, nainstaluj si plugin. Služba by běžela i když by byl prohlížeč vypnutý a využívala by části diskové kapacity prohlížeče uživatele. Otázkou je jak dlouho by tvralo než by tohle bylo označeno za malware.
Jakákoliv p2p aplikace budoucnosti by ale měla počítat z cloudem. Možná je cloud bublina, ale možná se podaří korporátnímu prostředí protlačit. Dokud půjde pouze o kloudová úložiště kde provozovatel zlužby nemá nad daty uživatele kontrolu nebo se tak tváří, tak by tohoto mělo být využito. Samozřejmě existují tlaky aby i aplikace běžely v kloudu kde se dá snadno vynutit že uživatel za ně zaplatil, ale tyhle snahy bude nutné sabotovat.
Využívat přímo cyberlockery jako součást řešení by také nemuselo být k zahození, prostě proto že existují. Hlavní problém je captcha, která brání tomu aby byly použity automatizovaně. Aplikace která rozdělí soubor do více bloků, nahraje je na cyberlocker a do DHT uloží hashe těchto bloků s možností jejich nalezení podle magnetu by mohla představovat alespoň dočasné řešení, zvláště pokud by nabídla souběžné stahování jednoho souboru z více zdrojů spolu s rozhraním které umožní uživateli zadat všechny captchy během minuty a pak odejít a nebo rovnou začít přehrávat, pokud by bloky byly vytvořeny tak aby stahovaná data byla co nejdříve využitelná. Dokonce by se dalo uvažovat nad komerčním rozšířením, protože vyplnění 1000 captch se dá v Indii pořídit už za nějaké 3 dolary, zbývalo by jen vyřešit systém platby...
Z toho vyplývá další věc - p2p aplikace zítřka by měla uvažovat typ obsahu který je jí přenášen. Takže třeba u software nezáleží na pořadí v jakém jsou bloky získávány, ale u médií může být vyžadováno streamování.
-
BTW, co Gnunet? Ten snad presne tohle dela. Dlouho jsem to nezkousel, tak nevim, v jak pouzitelnem stavu je, ale jiz pred lety to jakztak fungovalo, akorat tam bylo dost velke hovno, protoze to lidi malo pouzivali.
-
http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores
Začíná mi být jasné co se stalo, po té co se p2p sdílení komerčně tolik neprosadilo kvůli soudním sporům to tak nějak utichlo, ale ti lidi co tehdy na tom dělali se často později "vyskytli" v jiných projektech a na základech tehdy vytvořených vznikly mnohé dnešní NoSQL databáze, hlavně různé varianty distribuovaných key-value store. Takže třeba Amazon Dynamo JE vlastně Chord DHT na steroidech, tudíž to samé co je třeba v Perfect Darku se svým "Unity" (povedlo se mi sehnat kus zdrojáku) který samozřejmě jako projekt jednotlivce je nanejvýš "proof of concept" který se asi nedá srovnávat s dnešními komerčními implementacemi. Chord je rovněž použitej v libketama použité v last.fm kde ho nazývají "kontinuum" a využívají konzistentní hašování aby se v případě výpadku serveru všechno nepřehašovalo na všechny ostatní.
Co se třeba Mojo Nations týče tak na tom dělal i Bram Cohen který později zamakal na BitTorrentu, takže evolučně vzato BitTorrent je to co uspělo a co je dostatečně použitelné na to aby to lidi ještě chtěli.
Dá se tedy říct, že to co se tehdy programátoři naučili na p2p warez sítích často později zpeněžili v komerčním sektoru...
-
Nápad je takovýto: darknety jsou pomalé a zbytečně přehnané vzhledem k tomu že není potřeba skrýt skutečnou identitu účastníků, ale postačí když bude nedokazatelná odpovědnost za obsah jimi distribuovaný.
Jinak to nemá žádnou formu nat traversal a nejde dodělat bo to není open source a autor je obtížně kontaktovatelný protože v Japonsku je vytváření takovéto aplikace trestným činem, takže se to řeší anonymním vydáním. Počet aktivních uživatelů je asi 30 tisíc, dle monitoringu...
Tak jak? Jsou darknety zbytečně přehané a není třeba skrývat identitu? Ten japonský autor by asi nesouhlasil, že. A za jak dlouho to bude i u nás? :-) Klasické P2P bude do pár let mrtvé. Darknety jsou budoucnost. Teda dokud se nebude za šifrování střílet.
-
No až bude potřeba darknet jako jediná možnost ke stahování, tak to už bude rychlejší když se banda lidí se zájmem o nějaký typ obsahu domluví, jeden to stáhne po známostech třeba na release grupy a scénu a pak si to rozkopírují mezi sebou na disku. Než tahat 20KB/sec to už je rychlejší udělat si výlet přes půl města, zajít na pivko, a zkopírovat co je třeba.
-
No až bude potřeba darknet jako jediná možnost ke stahování, tak to už bude rychlejší když se banda lidí se zájmem o nějaký typ obsahu domluví, jeden to stáhne po známostech třeba na release grupy a scénu a pak si to rozkopírují mezi sebou na disku. Než tahat 20KB/sec to už je rychlejší udělat si výlet přes půl města, zajít na pivko, a zkopírovat co je třeba.
Taky volba, ale ono bude stačit až v darknetech bude víc lidí :-) Tím vzroste nejen přenosová rychlost. Jo a vlastně v Čechách je taky potřeba zvýšit upload na ADSL :-)
-
Shamir se k tomuto využít nedá - ten funguje jenom u malých bloků, typicky šifrovacích klíčů - a jak se ten tvůj návrh liší od ostatních P2P sítí?
-
V podstatě se to ničím výrazně neliší od již existujících sítí:
- mělo by to být open source, jinak v podstatě klon Share
- každý může komunikovat s každým
- algoritmus iniciace uzlu od sítě by měl vynutit nalezení zdroje bloku v čase O(log N), což třeba u freenetu není jisté
- zašifrované bloky souboru jsou redundantně rozházeny mezi velké množstí uživatelů
- je obtížné určit kdo je za sdílení zodpovědný, ale zároveň je možno tahat přímo a dokonce z více zdrojů
- perzistence
- často stahované bloky mají delší životnost
V podstatě nic nového, stačilo by snížit bezpečnost existujících řešení kvůli rychlost a udělat uživatelsky přívětivější xicht, výhodou by bylo že pokud by začalo jít do tuhého tak by se dalo přepnout do bezpečnějšího módu.
Vlastně je z mojí strany hloupé že se soustředím na technické řešení (protože mi to přijde zajímavé a mám rád složité struktury) když nejlepšího efektu je možno dosáhnout na poli sociálním za použití existujících prostředků. Kdybych lépe věděl jak oslovit lidi a komunikovat s nimi, prezentovat svoje ideje jinde než na fóru kde už jsou na podivíny zvyklí, tak bych spíše uspěl. Je to v podstatě velice jednoduché - stačí vytvořit lidský tutoriál na instalaci SocialVPN, vybrat vhodného klienta libovolné pokorčilejší sítě, založit stránku na facebooku a získat dostatečnou oblíbenost a nechat sněhovou kouli rozkutálet. Teď je ale pozdě, mít tohle připraveno v době kdy vrcholil lidový zájem o ACTA a uskutečnit takovou akci jako formu protestu, už by bylo hotovo. KISS je to na co zapomínám, sebelepší technické řešení nemůže fungovat bez složky sociální.
-
- je obtížné určit kdo je za sdílení zodpovědný, ale zároveň je možno tahat přímo a dokonce z více zdrojů
To je jednoduché - přece ten, kdo šifrovaný blok hostuje. Megaupload a podobní jsou přece taky zodpovědní za to, že na ně uživatelé nahrávají zašifrované RARy a ZIPy. V tom bych viděl největší problém - kriminalizace používání takových sítí „protože proto“.
-
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
-
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í)...
-
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.
-
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.
-
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.
-
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.