
Siete P2PTradičné metódy poskytovania súborov cez internet fungujú tak, že majiteľ uverejní daný súbor na svojom počítači; ostatní sa na tento počítač pripájajú a súbor si od neho sťahujú. Súbor je dostupný iba vtedy, keď je majiteľov počítač zapnutý. Ak má byť dostupný 24 hodín denne, majiteľ musí nechať svoj počítač stále zapnutý, alebo uložiť súbor na stále zapnutý server. Keďže všetci ťahajú súbor od jedného majiteľa, prechádza cez majiteľov počítač prinajmenšom toľko dát, koľko tvorí veľkosť poskytovaných súborov vynásobená počtom ľudí, ktorí ich sťahujú. Ak je tento prenos dát vyšší ako umožňuje kapacita pripojenia, spojenie sa najprv začne spomaľovať, potom vypadávať, a nakoniec sa celkom preruší. Pokiaľ majiteľ platí za pripojenie na internet podľa množstva prenesených dát, znamená preňho takéto poskytovanie finančnú záťaž. Tento postup sa používa napríklad pri stránkach WWW. Samotné stránky majú zvyčajne iba niekoľko kilobajtov, na menšie stránky chodí pomerne málo používateľov, a veľké stránky si platia veľkú kapacitu pripojenia. Za týchto okolností systém funguje. Prestane fungovať vtedy, keď sa na jednu stránku chce naraz pripojiť nezvyčajne veľké množstvo používateľov, alebo ak chce majiteľ stránky poskytovať príliš veľké súbory. Jedným z riešení je vznik serverov špecializovaných na poskytovanie veľkých súborov, napríklad SourceForge na sťahovanie programov alebo YouTube na pozeranie videa. Takéto servery vyžadujú veľkú začiatočnú investíciu a spôsobujú koncentráciu obsahu v rukách niekoľkých firiem. Ďalším riešením sú siete „peer to peer“ („rovný s rovným“), kde sa záťaž spojená s poskytovaním súborov rozdeľuje medzi mnohých zúčastnených. V tomto článku rozdelím siete „peer to peer“ na tri generácie. Je to veľmi zjednodušené rozdelenie, skutočnosť je zložitejšia. Jednotlivé programy používajú trochu odlišné metódy, niektoré programy podporujú niekoľko rôznych metód poskytovania súborov, a aj rôzne verzie toho istého programu sa môžu odlišovať. Nebudem sa však venovať osobitostiam jednotlivých programov, iba zhrniem hlavné princípy.
Prvým široko známym nástrojom „peer to peer“ bol Napster. Vznikol v roku 1999 a zameriaval sa na výmenu piesní vo formáte MP3. To vzápätí vyvolalo žaloby zo strany hudobného priemyslu, pokuty vo výške desiatok miliónov amerických dolárov, a v roku 2002 Napster zbankrotoval. Autori a používatelia sietí „peer to peer“ sú teda už od počiatku v konflikte s organizáciámi zameranými na ochranu kopírovacích práv. Úmyselne používam doslovný preklad slova „copyright“ namiesto slovenského výrazu „autorské právo“. Nejde iba o rozdiel v jazyku, ale v tom, koho zákon chráni. Dnešné slovenské zákony, nadväzujúc na predchádzajúce československé zákony, sú prevažne zamerané na ochranu autora. V americkom práve ide o ochranu majiteľa práv, ktorým nemusí byť nutne pôvodný autor, ale aj niekto, kto tieto práva od autora odkúpi. Vydavatelia so silným postavením na trhu môžu napríklad autorov pritlačiť k tomu, aby im predali všetky práva na svoje dielo, pokiaľ chcú u nich publikovať. Autor teda dostane dohodnutý honorár, ale všetok ďalší i budúci zisk už patrí vydavateľovi. Napriek stokrát opakovanému tvrdeniu, že kopírovanie poškodzuje autorov, takmer všetka spôsobená škoda sa týka vydavateľov. U autorov je ťažké odhadovať finančné dôsledky kopírovania. Šírenie piesne po internete zadarmo môže spôsobiť menej predaných CD (čo ešte neznamená, že každý, kto si stiahne pieseň z internetu, by si bol automaticky kúpil CD, keby tá pieseň na internete nebola). Niektorí fanúšikovia si zase môžu kúpiť CD práve preto, lebo si stiahli z internetu pieseň, ktorá sa im zapáčila. Peniaze z predaja CD nie sú však jediným zdrojom príjmu hudobníkov. Z ceny CD dostane autor iba zlomok, no vďaka obľúbenosti zadarmo rozšírených piesní bude možno väčší záujem o koncerty danej skupiny. Preto niektorí autori sami ponúkajú svoje diela zadarmo. Rôzni autori majú teda na túto problematiku veľmi rôzne názory; za väčšinou výrokov o ochrane autorov stoja v skutočnosti vydavatelia. Sieť typu Napster funguje takto: každý z používateľov sa pripojí na ústredný server a pošle mu zoznam súborov, ktoré poskytuje na stiahnutie. Ak používateľ zadá vyhľadávanie nejakého súboru, server pohľadá názov tohoto súboru v zoznamoch, ktoré mu poskytli ostatní pripojení používatelia. Hľadajúci počítač dostane zoznam majiteľov, a súbory si už sťahuje priamo od nich. Server má teda iba zoznamy súborov od jednotlivých používateľov, nie samotné súbory. Ďalšie programy tohoto typu sú napríklad Morpheus, eDonkey / eMule, Kazaa. Kazaa sa smutne preslávila tým, že jej oficiálny klient obsahoval pribalený škodlivý softvér (adware, spyware), preto niektorí používatelia vytvorili alternatívnu verziu Kazaa Lite bez týchto prídavkov. Slabým miestom prvej generácie programov „peer to peer“ je potreba ústredného servera, ktorý koordinuje všetkých používateľov. Z technického hľadiska to nie je celkom zlé; podobne fungujú mnohé internetové hry, ktoré na oficiálnom hernom serveri skontaktujú hráčov, a tí si po založení hry ďalej posielajú údaje už iba medzi sebou. Z právneho hľadiska je ale ústredný bod ľahko napadnuteľný a zničiteľný; pravdepodobnosť právneho útoku je tým väčšia, čím obľúbenejšia je daná sieť u ľudí vymieňajúcich nelegálny obsah. Nasledujúce siete „peer to peer“ boli teda navrhované s ohľadom nielen na technickú ale aj právnu odolnosť. Okrem samotného servera možno žalovať aj používateľov. Napokon, sú to práve oni, kto sa priamo dopúšťa nelegálnej aktivity; server je iba sprostredkovateľom. Výhodnejšie je žalovať tých, ktorí nelegálny obsah poskytujú, než tých, ktorí ho sťahujú. Súčasťou žaloby je totiž aj odhad spôsobenej škody; ak si niekto nelegálne stiahne obsah CD, spôsobená škoda je napríklad 300 Sk. Ale ak niekto poskytuje obsah CD, a žalobca bude tvrdiť, že si ten obsah skopírovalo aspoň 1000 ľudí, spôsobená škoda je 300 000 Sk a kvôli takej sume sa už oplatí súdiť. Používatelia si to uvedomujú, a mnohí sa snažia iba sťahovať a neposkytovať. Ak však nikto neposkytuje, nedá sa ani sťahovať. Niektoré programy začnú súbor automaticky poskytovať po jeho stiahnutí, ale šikovný používateľ si tento súbor po stiahnutí ľahko presunie do iného adresára. Ďalším výrazným problémom je šírenie pozmenených verzií pôvodných súborov. Mnohé počítačové programy šírené cez „peer to peer“ siete sú zavírené; niekedy úmyselne, a niekedy iba preto, že poskytovateľ súboru má zavírený počítač. Vírusy a iné škodlivé programy sa môžu vyskytovať nielen v programoch, ale aj v dokumentoch (ďakujeme firme Microsoft) a v poslednej dobe aj vo videách (ďakujeme vynálezcom „Digital Rights Management“). Poskytovanie poškodených súborov môže byť aj dobrou taktikou ochrancov kopírovacích práv. Uvažujme takto: Je ťažké definitívne odstrániť zo siete nejakú pieseň, lebo vždy sa nájde niekto, kto ju začne poskytovať. Ak je na siete milión používateľov, nemôžeme každého jedného ťahať po súdoch; a oni si to uvedomujú. Poďme však na to z opačnej strany. Vytvorme sami tisíce kópií tejto piesne; akurát po prvých pár sekundách hudby bude nasledovať už iba šumenie alebo pískanie (nech má výsledný súbor rovnakú dĺžku ako pôvodný). Ak si používateľ stiahne niekoľko takýchto piesní, sám sa na to vykašle. S dostatočným kapitálom by nemal byť problém umiestniť na sieť stovky takýchto falošných poskytovateľov. A čo sa týka programov, tam môžeme dať vlastný program, ktorý používateľovi vymaže disk, alebo mu aspoň zobrazí výstrahu a pošle nám údaje o ňom; druhýkrát si už netrúfne ťahať programy z internetu. Hodno podotknúť, že samozvaní ochrancovia zákona niekedy sami nevidia problém vo výrobe a šírení škodlivého softvéru, pokiaľ to poslúži ich cieľom. Napríklad firma Sony v snahe zabrániť kopírovaniu svojich CD umiestnila na niekoľko z nich tzv. rootkit, ktorý sa bez vedomia používateľa nainštaloval na jeho počítač a monitoroval jeho činnosť. Takýto program samozrejme ako vedľajší účinok uberal z pamäte a spomaľoval beh počítača; chyby v programe občas spôsobovali pád operačného systému. Program ukrýval pred používateľom súbory s názvom začínajúcim na „$sys$“, čo vzápätí využili autori rôznych škodlivých programov, aby jednoduchšie infikovali počítače napadnuté rootkitom Sony. Keď sa škandál prevalil, firma Sony ponúkla odinštalovací program, ktorý v skutočnosti odinštaloval iba niektoré časti rootkitu, a doinštaloval nové. Celá akcia bola totálna hlúposť, lebo firma Sony poškodila akurát svojich legitímnych zákazníkov; súbory MP3 nelegálne poskytované na internete tento škodlivý softvér neobsahovali. (Inými slovami, bolo bezpečnejšie stiahnuť si tieto piesne z internetu než kúpiť ich v obchode.) Na dovŕšenie irónie, pri programovaní samotného rootkitu boli pravdepodobne nelegálne použité časti kódu niekoľkých slobodných programov. (článok vo Wikipédii, po anglicky)
Predstaviteľom ďalšej generácie je Direct Connect, ktorý vznikol v roku 2001; prípadne DC++ alebo český StrongDC++. Tento typ siete má viacero serverov; každý z nich akoby tvoril samostatnú sieť „peer to peer“. Používateľ môže byť prihlásený na jeden server (v miestnej terminológii: „hub“), alebo na viacero. Serverov existuje niekoľko tisíc, a je možné stiahnuť si ich zoznam so stručným popisom. Jednotlivé servery môžu používateľom stanovovať rôzne podmienky ohľadom druhu poskytovaného obsahu (napríklad: iba piesne, iba filmy, iba knihy; iba po anglicky, iba po slovensky a po česky) alebo jeho množstva (napríklad: aspoň 50 GB). Niektoré servery môžu byť vyhradené iba pre členov; pričom členstvo sa získava na základe odporučenia existujúceho člena, prípadne za členský poplatok. Server môže počítať, koľko dát prijali a odoslali jednotliví používatelia, a zvýhodňovať používateľov s lepším pomerom. Množstvo a rozmanitosť serverov robí sieť odolnejšou proti právnym útokom. Nie je možné žalovať sieť ako takú, iba jednotlivé servery. Aj tie je nemožné skontrolovať všetky, a stále pribúdajú nové. Založenie nového hubu pre Direct Connect si vyžaduje iba dobré pripojenie na internet; hotový softvér je k dispozícii zadarmo. Vyžadovanie minimálneho množstva zdieľaného obsahu (prípadne minimálneho množstva určitého druhu obsahu) zaručuje, že používatelia daného hubu budú mať čo sťahovať. Aj tu sa vyskytujú snahy o podvod, napríklad zdieľanie veľkých súborov naplnených nezmyselnými dátami, ale po odhalení môže správca hubu používateľovi zakázať prístup na daný hub. Každý hub zároveň umožňuje diskusiu medzi používateľmi, takže takéto veci sa ľahko vykomunikujú. Huby založené na osobnom odporučení poskytujú svojim členom väčšiu bezpečnosť pred prípadnými žalobcami. Cenou za bezpečnosť danú viacerými servermi je ťažšie vyhľadávanie obsahu. Používatelia pripojení na rôzne servery sa navzájom nevidia; takže ak jeden z nich hľadá obsah, ktorý má druhý, nenájde ho. Keďže niektorí používatelia sa pripájajú na viaceré servery, často hľadané obsahy sa cez nich pomaly šíria na ďalšie servery. Na predchádzajúcom obrázku sa prvý a tretí používateľ navzájom nevidia, ale ak si druhý stiahne nejaký súbor od prvého, bude si tretí môcť stiahnuť tento súbor od neho. Stále je tu však riziko, že druhý používateľ tento súbor náhodou alebo úmyselne pozmenil. Ďalšou nevýhodou je pomalé sťahovanie obsahu od majiteľov s pomalým pripojením; a ak sa majiteľ súboru odpojí od siete, sťahovanie je pozastavené, kým sa opäť nepripojí.
Sieť BitTorrent priniesla niekoľko významných zlepšení. Umožnila sťahovanie súborov po častiach, od viacerých majiteľov; a oddelila informovanie o súboroch od koordinácie ich poskytovania. Dôležitým pojmom pri práci v tejto sieti je „torrent“. Je to malý pomocný súbor obsahujúci popis poskytovaného súboru alebo skupiny súborov. Jednotlivé súbory sú z hľadiska programu virtuálne rozdelené na časti vo veľkosti 64 kB až 1 MB; súbor sa môže skladať z tisícov takýchto častí. Torrent obsahuje informácie o dĺžke súboru, o dĺžkach jednotlivých častí a ich kontrolných súčtoch, a o serveri, ktorý koordinuje záujemcov o tento súbor. Torrent teda dáva jednoznačný návod, ako súbor získať a ako po získaní overiť jeho pravosť, ale sám neobsahuje žiadnu časť daného súboru. Prvým krokom pri používaní siete BitTorrent je získanie torrentu. Torrent môžeme získať priamo od poskytovateľa súboru, napríklad stiahnuť na jeho webovej stránke, alebo nájsť pomocou kľúčových slov na niektorej vyhľadávacej stránke ako napríklad The Pirate Bay alebo btjunkie. Hľadané slovo sa musí vyskytovať v názve torrentu, alebo v názve niektorého súboru v danom torrente. Vyhľadávacie stránky zvyčajne zobrazujú, koľko používateľov momentálne daný súbor poskytuje a sťahuje. Po zadaní torrentu do klienta, ako napríklad Azureus alebo BitComet (v najnovšej verzii má zabudované sťahovanie torrentov aj internetový prezerač Opera) sa program pripojí na koordinujúci server (v miestnej terminológii: „tracker“), získa adresy ostatných používateľov, ktorý poskytujú alebo sťahujú tento konkrétny súbor, a začne si s nimi vymieňať dáta. Trackery môžu byť verejné alebo súkromné, pričom súkromné kontaktujú iba zaregistrovaných používateľov; podmienkou členstva môže byť napríklad členský poplatok, alebo udržiavanie dobrého pomeru stiahnutých a poskytnutých dát. Na rozdiel od hubov v sieti Direct Connect, tracker v sieti BitTorrent navzájom nekontaktuje záujemcov o rôzne súbory (to je úloha vyhľadávacích stránok). Komunikácia medzi klientom a trackerom sa vždy týka iba jedného konkrétneho súboru. Pri používaní verejných trackerov vlastne používateľa ani nemusí zaujímať, ktorý tracker koordinuje ktorý súbor, všetko sa rieši automaticky na základe informácie v torrente. Súbory sa sťahujú po častiach; jednotlivé časti možno sťahovať v ľubovoľnom poradí, od rôznych poskytovateľov, trebárs aj niekoľko častí toho istého súboru od niekoľkých rôznych poskytovateľov zároveň. (Toto všetko robí klient automaticky a používateľa to nemusí zaujímať.) To znamená, že ak sa poskytovateľ súboru odpojí zo siete, tí, čo od neho sťahovali dáta, môžu pokračovať v sťahovaní ďalších častí od niekoho iného. Alebo ak má jeden používateľ rýchlejšie pripojenie ako ostatní, môže sťahovať dáta od viacerých poskytovateľov zároveň. Tento mechanizmus zároveň núti každého sťahujúceho používateľa aj poskytovať; hoci ešte nestiahol celý súbor ale iba niekoľko častí, môžu si ostatní sťahovať tieto časti aj od neho.
Keďže používatelia si vymieňajú aj čiastočne stiahnuté súbory, môže nastať aj situácia, že na sieti práve nie je prihlásený nikto, kto by mal celý súbor, ale každú jeho časť má aspoň jeden používateľ. Aj v takom prípade si používatelia postupne celé súbory poskladajú. Dokončiť sťahovanie je nemožné iba vtedy, ak niektorú časť nemá nikto. Aby sa zvýšila dostupnosť súborov, snažia sa programy prednostne sťahovať tie časti, z ktorých existuje najmenej kópií. Napríklad na obrázku má posledný používateľ iba časť 1 a chýbajú mu časti 2, 3, 4, 5. Pokúsi sa stiahnuť najprv časti 3, 4, 5, pretože z nich existujú v sieti iba po dve kópie; časť 2 je menej ohrozená, pretože z nej existujú tri kópie. Dostupnosť súboru ako celku sa dá vyjadriť ako minimálny počet kópií každej časti, plus podiel častí, ktoré majú vyšší počet kópií. V uvedenom príklade je celková dostupnosť 2,4 (2 kópie má každá časť, 40% častí má viac ako 2 kópie). Všimnime si, čo z týchto vlastností siete BitTorrent vyplýva. Po prvé, čím viac ľudí chce sťahovať nejaký súbor, tým rýchlejšie je toto sťahovanie. (Naopak ako pri tradičnom poskytovaní súborov.) Čím viac ľudí totiž súbor sťahuje, tým viac ľudí už má stiahnutú nejakú jeho časť, a tým väčší je výber od koho sťahovať ďalšie časti. Ak sa nejaký súbor masovo sťahuje na celom svete, pravdepodobne ho už má niekto zemepisne blízky, a netreba ho ťahať z opačnej strany zemegule. Po druhé, vyšší počet záujemcov o súbor nespôsobuje väčšiu záťaž na počítač pôvodného majiteľa. Teoreticky stačí, ak každú časť skopíruje iba jednému záujemcovi (každému inú); zvyšok si môžu poskladať medzi sebou. Niektoré programy umožňujú tento režim pod názvom „superseed“; poskytujú sa iba tie časti, ktoré momentálne nikto iný na sieti nemá. Potom je majiteľovi jedno, či tento súbor sťahuje desať ľudí alebo desať miliónov.
Táto vlastnosť môže byť užitočná pre organizácie, ktoré potrebujú v krátkom čase doručiť veľké súbory miliónom zákazníkov, napríklad softvérové firmy pri vydaní novej verzie programu. Pomocou protokolu BitTorrent sa šíria niektoré distribúcie Linuxu, alebo veľké aktualizácie k hre World of Warcraft. Problematika zdieľania súborov a kopírovacích práv sa v posledných rokoch vo Švédsku stala politickou témou. Členovia mimovládnej organizácie Piratbyrån („Pirátsky úrad“) v roku 2004 založili torrentový vyhľadávač a tracker The Pirate Bay. V máji 2006 švédska polícia zabavila ich servery. Ukázalo sa však, že postup polície bol nezákonný a vyvolaný nátlakom amerických organizácií na ochranu kopírovacích práv. Nasledovali demonštrácie a internetové útoky na weby polície a vlády. Servery boli vrátené a The Pirate Bay funguje dodnes. Nezávisle na týchto organizáciách vznikla vo Švédsku aj Pirátska strana, ktorej programom je reforma kopírovacieho a patentového práva. Strana vo voľbách skončila na 10. mieste a nedostala sa do parlamentu; získala priestor v médiách a časť jej programu pred voľbami prebrali aj iné politické strany, ale po voľbách sa na túto tému zabudlo. Aj tento výsledok však podnietil zakladanie „pirátskych strán“ v ďalších krajinách. Nedávno vznikla webová stránka MiiVi.com ponúkajúca torrenty rôznych filmov a dokonca poskytujúca vlastný program na ich sťahovanie. Stránka však patrila organizácii Media Defender a cieľom projektu bolo získať IP adresy záujemcov o nelegálne videá; stiahnutý program odoslal cez internet aj správu o ostatných videách nachádzajúcich sa na používateľovom počítači. Finta bola odhalená a popísaná na mnohých diskusných fórach, takže stránka je opäť zrušená. Program PeerGuardian (a plugin SafePeer pre Azureus) zase blokuje spojenie so všetkými adresami, o ktorých je známe, že patria organizáciám na ochranu kopírovacích práv. Konflikt medzi používateľmi sietí „peer to peer“ a organizáciami na ochranu kopírovacích práv teda stále pokračuje; obe strany využívajú rôzne technické i právne prostriedky. Uvidíme, aký bude ďalší vývoj. |
Viliam Búr [sk] domáca stránka (feed) viliam@bur.sk ICQ: 133571943 Blog: JavaScript pre začiatočníkov (3) JavaScript pre začiatočníkov (2) Linky: |