Raj dla piratów czy rewolucja w Internecie? (2)

Od Gnutelli do FreeNetu

W poprzedniej części tego artykułu przedstawiłem program Napster - aplikację służącą do wymieniania się przez jej użytkowników plikami w formacie MP3. Procesy sądowe wytoczone firmie - twórcy tego programu skierowały uwagę użytkowników Internetu zainteresowanych wymianą plików w stronę systemów, które nie dałyby się w łatwy sposób "uciszyć". W powstałe zapotrzebowanie niemal idealnie wpasował się program o nazwie Gnutella.

Gnutella

Popularność Gnutelli jest zaiste niezwykła jak na program, który w swojej oryginalnej wersji, na swojej macierzystej stronie WWW dostępny był zaledwie kilka godzin. Gnutellę wymyśliła grupa programistów z firmy Nullsoft, znanej z kultowego odtwarzacza plików MP3 - Winampa. 14 marca br. udostępnili oni wersję beta programu na swojej stronie WWW. Po upływie zaledwie kilku godzin America Online, będąca aktualnie właścicielem firmy Nullsoft, nakazała natychmiastowe zamknięcie strony i zaprzestanie dalszych prac nad programem, określając go jako "nieautoryzowany, ochotniczy projekt". Powód takiego postępowania był jasny. AOL szykowała się właśnie do fuzji z koncernem Time Warner, po której miała stać się m.in. właścicielem dwu największych w USA wytwórni płytowych, należących do tego właśnie koncernu. Nie mogła sobie zatem pozwolić na to, aby w podległej jej firmie tworzony był program, działający na zasadzie analogicznej do znienawidzonego już przez przemysł muzyczny Napstera.

Wystarczyło jednak te kilka godzin, aby program został powielony w tysiącach kopii i rozprzestrzenił się po całej Sieci. Po zamknięciu strony Nullsoftu kopie Gnutelli jak grzyby po deszczu zaczęły pojawiać się na dziesiątkach innych stron WWW. Choć kod źródłowy programu nie był dostępny, podobnie jak w przypadku Napstera szybko przeanalizowano wykorzystywany przez Gnutellę protokół i zaczęły powstawać liczne klony programu, z reguły mające charakter open-source - jeden z nich można zobaczyć na rys.1. Pojawiły się także kolejne wersje oryginalnej Gnutelli - przy pomocy życzliwych osób kod źródłowy programu bowiem "wyciekł" z firmy Nullsoft i trafił do programistów, których tożsamość utrzymywana jest w tajemnicy, a którzy obecnie zajmują się dalszym rozwojem tej aplikacji (aktualnie główna strona dotycząca całego projektu Gnutella mieści się pod adresem http://gnutella.wego.com/).

W odróżnieniu od Napstera, za pomocą Gnutelli można wymieniać się plikami dowolnych typów, a nie tylko MP3, nie w tym jednak tkwi rewolucyjność tego programu. W przeciwieństwie do wszystkich innych "napsteropodobnych" aplikacji, Gnutella nie wykorzystuje żadnego centralnego serwera, za pośrednictwem którego użytkownicy odnajdywaliby się nawzajem; nie ma zatem ani z kim się procesować, ani czego zamykać, gdyby chcieć uniemożliwić działanie tego systemu. Zamiast podłączać się do centralnego serwera, komputery z uruchomioną Gnutellą komunikują się ze sobą nawzajem. Schemat działania systemu przypomina nieco zabawę w "głuchy telefon", budowę siatki szpiegowskiej, albo po prostu... funkcjonowanie kręgów znajomości towarzyskich między ludźmi. Każdy komputer ustanawia połączenia z kilkoma swoimi bezpośrednimi "sąsiadami" - innymi komputerami z uruchomionym programem Gnutella. Każdy z tych komputerów ma z kolei swoich "sąsiadów", z którymi się porozumiewa, tamci znowu swoich itd. W ten sposób tworzy się sieć powiązań między komputerami (zwana GnutellaNet), poprzez którą przekazywane są wszystkie zapytania dotyczące poszukiwania plików.

Technologia stosowana przez program Gnutella zrywa z tradycyjnym rozdziałem funkcji klienta i serwera: tutaj każdy węzeł sieci jest równocześnie klientem i serwerem. Dla podkreślenia tego faktu, dokumentacja programu używa terminu serwent, wskazującego na nierozdzielność funkcji klienta i serwera. Każdy serwent (komputer z uruchomioną Gnutellą), aby przyłączyć się do sieci, musi nawiązać połączenie z przynajmniej jednym serwentem będącym już w sieci (choć zaleca się, aby liczba bezpośrednich sąsiadów wynosiła przynajmniej 2). Jeżeli nie znamy żadnego adresu komputera będącego w sieci GnutellaNet, z którym moglibyśmy się połączyć, kilka przykładowych adresów możemy zawsze znaleźć na głównej stronie WWW Gnutelli; po połączeniu się z którymś z nich program sam wskaże nam szereg innych. Na rys.2 pokazany mamy ekran, na którym kontroluje się połączenia w sieci GnutellaNet: widzimy, że dany komputer jest połączony w tym momencie z trzema bezpośrednimi sąsiadami.

Gdy w programie wpisujemy hasło, które chcemy wyszukać - np. nazwę pliku - nasz komputer przekazuje odpowiednie zapytanie swoim sąsiadom w sieci. Jeżeli któryś z nich dysponuje plikiem o poszukiwanej nazwie, zwraca tę informację naszemu serwentowi; niezależnie od tego, każdy z nich przekazuje to zapytanie dalej, swoim sąsiadom (oczywiście pomijając tego, od którego zapytanie przyszło). Ci z kolei przesyłają je swoim sąsiadom itd... Gdy w którymś kroku tej procedury zapytanie trafia do komputera, który posiada szukany plik, tą samą drogą w odwrotnym kierunku zaczyna wędrować odpowiedź. Najpierw komputer "docelowy" wysyła odpowiedź sąsiadowi, od którego otrzymał zapytanie. Ten z kolei pamięta, skąd sam to zapytanie dostał, zwraca więc odpowiedź temu sąsiadowi, który wysłał zapytanie; itd... W ten sposób, podawana "z ust do ust", jak w zabawie w głuchy telefon, odpowiedź wraca do naszego komputera.

Wyszukiwanie w ten sposób mogłoby oczywiście trwać w nieskończoność; nie ma bowiem żadnego wiarygodnego sposobu stwierdzenia, kiedy należałoby je już zakończyć. Wyobraźmy sobie np. sytuację, gdy poszukiwanego pliku nie posiada żaden komputer w sieci. W takiej sytuacji nie dostalibyśmy żadnej odpowiedzi - i w żaden sposób nie dałoby się rozróżnić, czy wyszukiwanie jeszcze trwa - zapytanie jeszcze rozchodzi się w sieci - czy też otrzymały je już wszystkie komputery. Dlatego w programie wysyłającym zapytanie ustalamy w konfiguracji pewien limit czasu, przez jaki nasz serwent będzie czekał na odpowiedzi. Aby z kolei uniknąć wędrowania po sieci w nieskończoność "bezpańskich" zapytań w sytuacji, gdy komputer pytający przestał już czekać na odpowiedź, każdy serwent ma określony tzw. horyzont, czyli maksymalną odległość (wyrażającą się liczbą pośredniczących komputerów), jaką może przebyć w sieci wysłane przez niego zapytanie. Jeżeli horyzont danego komputera wynosi np. 10, kolejne serwenty będą przekazywać swoim sąsiadom jego zapytanie do momentu, gdy nie dotrze ono do dziesiątego z kolei komputera - ten już nie przekaże go dalej (jest to koncepcja podobna do parametru TTL - time-to-live - w protokole TCP/IP; parametr ten, umieszczony w nagłówku pakietu, określa maksymalną liczbę routerów, przez które po kolei może przejść pakiet; jeżeli liczba ta zostanie przekroczona, kolejny router nie prześle pakietu dalej). Oznacza to, że w rzeczywistości dany serwent nie ma możliwości wyszukiwania w całej sieci GnutellaNet, lecz tylko w pewnym jej fragmencie, mieszczącym się w obrębie jego horyzontu; w każdej chwili można jednak zmienić swoich sąsiadów, co da nam dostęp do innego fragmentu sieci.

Wyniki wyszukiwania zwrócone do naszego komputera prezentowane są na ekranie w postaci podobnej jak w Napsterze (rys.3); klikając na którykolwiek ze wskazanych plików możemy rozpocząć jego ściąganie. Ściąganie pliku nie odbywa się już za pośrednictwem sieci GnutellaNet, lecz bezpośrednio z komputera, na którym on rezyduje; każdy serwent wysyłając odpowiedź informującą o znalezieniu pliku podaje w niej swój adres IP, co umożliwia komputerowi pytającemu bezpośrednie połączenie się z nim (w przeciwieństwie do Napstera, wykorzystującego własny protokół do transmisji plików, Gnutella używa zwykłego protokołu HTTP).

Freenet

Wprawdzie działania Gnutelli - jako że nie wykorzystuje ona centralnego serwera - nie da się w łatwy sposób zablokować, jednak osoby wymieniające za pośrednictwem tego programu nielegalnie skopiowaną muzykę, filmy czy inne materiały naruszające prawo, niejednokrotnie w znacznie poważniejszym wymiarze (jak np. pornografia dziecięca - bo nie należy ukrywać, że i do tego celu Gnutella bywa stosowana) nie mogą jednak czuć się całkowicie bezpiecznie. Gnutella nie zapewnia anonimowości; przy wyszukiwaniu plików podawany jest wszak każdorazowo adres IP komputera, na którym te pliki się znajdują; z kolei posiadacz owych plików zna adresy IP użytkowników, którzy zechcą je od niego ściągnąć. Znając adres IP można zaś - choć nie zawsze jest to łatwe czy w ogóle wykonalne - zidentyfikować osobę, która korzysta z owego komputera i wyciągnąć wobec niej konsekwencje prawne. Choć jest to postępowanie żmudne, jego zastosowanie wobec nawet niewielkiej grupy użytkowników mogłoby mieć znaczny efekt odstraszający dla pozostałych.

Tej słabości nie ma system Freenet, wymieniany ostatnio w publikacjach prasowych "jednym tchem" obok Gnutelli i Napstera, choć jego przeznaczenie jest nieco inne. Freenet nie jest systemem wymiany plików, lecz publikowania informacji w Internecie, podobnie jak WWW, aczkolwiek istnieją między nimi zasadnicze różnice. Aby odczytać określoną stronę WWW, podajemy jej adres, który jednoznacznie określa miejsce (serwer), gdzie dana strona się znajduje. W przypadku Freenetu informacja o miejscu przechowywania dokumentu nie jest nam potrzebna, a co więcej, nawet nie jest dostępna. Dokumenty identyfikowane są jedynie przez nazwę, która może być tak prosta jak "abc", albo tak skomplikowana jak "Pink Floyd - The Wall, 1979 - Another Brick In The Wall part 2", w każdym przypadku jednak wystarcza do odnalezienia dokumentu w sieci (wynika stąd, że nie mogą istnieć we Freenecie dwa dokumenty o identycznych nazwach - ściśle rzecz biorąc, o identycznych skrótach kryptograficznych nazwy, bo właśnie skróty kryptograficzne są faktycznie używane do odszukiwania dokumentów). Możemy zażądać dokumentu o tej nazwie od dowolnego serwera Freenetu, a zostanie on nam dostarczony. Nazwa w żaden sposób nie określa miejsca, w którym dokument się znajduje; co więcej, dokumenty w obrębie Freenetu dynamicznie zmieniają "miejsce pobytu" w miarę odwoływania się do nich.

Koncepcja Freenetu opracowana została jako praca magisterska przez Iana Clarke'a, studenta wydziału informatyki uniwersytetu w Edynburgu, w ubiegłym roku (aktualnie wszelkie informacje na temat Freenetu znajdują się na stronie WWW pod adresem http://freenet.sourceforge.net/). Autor postawił sobie za cel stworzenie systemu publikowania informacji, który:

Szczególnie ta ostatnia cecha Freenetu jest niezwykle interesująca z technicznego punktu widzenia. W tradycyjnej usłudze WWW miejsce zlokalizowania dokumentu jest stałe. Gdy daną stroną WWW interesuje się wielu użytkowników, serwer, na którym strona się znajduje, może ulec przeciążeniu i wtedy strona jest trudno osiągalna. Im bardziej popularna strona - tym trudniejszy do niej dostęp. Z kolei gdy np. strona znajduje się na serwerze w USA, a większość odwołań do tej strony pochodzi z Polski, kopie strony muszą być wielokrotnie przesyłane łączami transatlantyckimi, co powoduje ich "zatykanie" i również małą dostępność strony. Pewnym sposobem złagodzenia obu tych problemów może być stosowanie rozwiązań typu w3cache, są one jednakże tylko półśrodkami.

W przypadku Freenetu, gdy żądamy pobrania jakiegoś dokumentu, w trakcie przesyłania go do nas jest on kopiowany na wszystkie serwery znajdujące się "po drodze" od serwera, na którym dokument został znaleziony, do serwera, z którym jesteśmy bezpośrednio połączeni. Przy następnym żądaniu tego samego dokumentu zostanie on wysłany już z najbliższego nam serwera. Im więcej jest odwołań do dokumentu - tym więcej jego kopii na różnych serwerach, tym łatwiej więc jest on dostępny. Cała sieć serwerów Freenetu pełni zatem sama dla siebie jakby rolę wielkiego, inteligentnego cache'a, w którym dokumenty przemieszczane są tam, gdzie są najbardziej potrzebne. Ten medal ma jednak także drugą stronę: ponieważ ilość miejsca na dyskach serwerów jest ograniczona, dokumenty, którymi nikt się nie interesuje, do których nie ma odwołań, mogą z czasem samoczynnie zniknąć z sieci, aby zrobić miejsce nowo pojawiającym się dokumentom.

Freenet od środka

W przeciwieństwie do Gnutelli, Freenet utrzymuje tradycyjny podział na klienta i serwer; klient Freenetu (możnaby go przyrównać do przeglądarki WWW) jest programem służącym do pobierania informacji z serwera oraz jej wysyłania na serwer, natomiast serwery zajmują się przechowywaniem informacji i realizacją żądań klientów. Sposób komunikowania się serwerów Freenetu ze sobą w wielu aspektach przypomina jednak Gnutellę; dlatego zestawianie tych sytemów razem ma pewien sens.

Gdy w kliencie Freenetu wpisujemy nazwę dokumentu do pobrania, zamienia on tę nazwę na jej skrót kryptograficzny, który używany jest przez serwery w charakterze tzw. klucza, pozwalającego zlokalizować dokument. Klucz ten przesyłany jest do serwera, z którym klient jest połączony. Jeżeli serwer sam nie zawiera na swoim dysku dokumentu o żądanym kluczu (w takim przypadku od razu odsyła go klientowi), przekazuje żądanie dalej, ale nie wszystkim sąsiednim serwerom, tak jak w Gnutelli, lecz tylko jednemu (wybierany jest serwer, z którego uprzednio przychodziły dokumenty o kluczach najbardziej zbliżonych do szukanego - jest to technika tzw. hashingu, przyspieszająca odnajdywanie rozproszonych danych). Ten, o ile sam również nie ma dokumentu, powtarza operację, przekazując żądanie jednemu ze znanych sobie serwerów. Gdy na którymś kolejnym serwerze dokument zostanie odnaleziony, cała jego zawartość (a nie tylko odsyłacz, jak w Gnutelli) jest przekazywana analogicznym "łańcuszkiem" w odwrotną stronę, zostając przy okazji zapamiętana na każdym serwerze, przez który przechodzi. Ponieważ jednak każdy serwer wie tylko, od którego serwera otrzymał żądanie i któremu je przekazał dalej, zidentyfikowanie, skąd właściwie przyszedł dokument i dokąd powędrował, jest trudne. Jedynie pierwszy serwer, ten z którym bezpośrednio połączony jest klient, zna adres IP komputera pobierającego lub wysyłającego dokument. Dlatego autorzy Freenetu zalecają, aby dla maksymalnej anonimowości każdy użytkownik korzystający z sieci uruchamiał oprócz klienta także własny serwer, bądź korzystał tylko z dobrze znanych zaufanych serwerów.

Jeżeli żaden z serwerów nie posiada dokumentu i osiągnięty został "horyzont" wyznaczony dla danego żądania (podobnie jak w Gnutelli określany liczbą kolejnych serwerów, przez które żądanie może przejść), ostatni serwer, do którego dotarło żądanie, zwraca odpowiedź negatywną. Serwer poprzedzający go w "łańcuszku" próbuje wtedy przekazać żądanie do kolejnego z listy znanych sobie serwerów, bądź - jeżeli wyczerpał już wszystkie możliwości - przekazuje odpowiedź negatywną swojemu poprzednikowi, który z kolei wybiera następny serwer na swojej liście itd... W ten sposób po kolei wypróbowywane są poszczególne "ścieżki" pomiędzy serwerami, aż do znalezienia dokumentu bądź stwierdzenia, że nigdzie go nie ma (jest to znana w teorii informatyki metoda poszukiwania rozwiązania problemu poprzez zastosowanie tzw. algorytmu z powrotami).

Analogicznie wygląda sytuacja przy umieszczaniu nowych dokumentów w sieci; użytkownik wybiera nazwę (klucz), pod którym chce zapisać dokument, i wykonywana jest procedura odszukiwania dokumentu o wskazanym kluczu, tak jak powyżej. Jeżeli dokument zostanie znaleziony, jest on przesyłany do klienta dokładnie tak samo, jakby zażądano jego odczytu - żądanie umieszczenia nowego dokumentu jest wówczas ignorowane (uniemożliwia to umieszczenie w sieci drugiego dokumentu o nazwie identycznej z już istniejącym, czyli raz wprowadzonych dokumentów nie można zmieniać ani kasować). W przypadku negatywnego wyniku poszukiwania klient może wysłać do serwera nowy dokument, który "łańcuszkiem" przekazywany jest od serwera do serwera, aż do miejsca, gdzie ostatecznie zostanie umieszczony (zgodnie z techniką hashingu, dokument trafia na serwer, na którym znajdują się już dokumenty o najbardziej zbliżonych do niego kluczach).

Jako że przechowywane dokumenty opatrywane są kluczem, a nie nazwą, nawet administrator komputera, na którym uruchomiony jest serwer, nie wie, jakie są nazwy dokumentów znajdujących się na jego serwerze. Ponieważ zaś dokumenty te są szyfrowane, z użyciem jako klucza do szyfru oryginalnej nazwy dokumentu (nie skrótu kryptograficznego!), nie może także poznać ich treści. Oczywiście tzw. atak słownikowy pozwoliłby stosunkowo nietrudno zidentyfikować, jakie dokumenty znajdują się na danym serwerze, nie chodzi jednak o to, aby je bardzo dobrze utajnić - wszak informacje przechowywane na serwerach Freenetu mają być z założenia publicznie dostępne - lecz aby odizolować administratora serwera od bezpośredniego wglądu w treść znajdujących się na serwerze informacji po to, aby zabezpieczyć go np. przed postawieniem mu zarzutu rozpowszechniania niedozwolonych treści, czy też zmuszeniem do usunięcia tych materiałów z serwera.

Bezpośrednią konsekwencją zastosowania kluczy oraz szyfrowania dokumentów jest jednak to, iż Freenet w jego obecnej postaci nie daje się przeszukiwać. Możemy pobrać dokument z Freenetu, jeżeli znamy jego dokładną, co do znaku, nazwę - np. "Deklaracja Praw Człowieka"; nie mamy jednak możliwości odszukania tej nazwy, jeżeli pamiętamy tylko jej część - np. nie da się znaleźć wszystkich dokumentów, w których nazwie występuje słowo "deklaracja". Podobna niemożliwość dotyczy przeszukiwania treści dokumentów. Zgodnie z informacjami znajdującymi się na stronie WWW Freenetu, autorzy systemu cały czas intensywnie pracują nad sposobem dodania do niego możliwości przeszukiwania tak, aby nie osłabić jego anonimowości. Freenet jest projektem dynamicznie się rozwijającym i grono pracujących nad nim programistów stale rozważa możliwości dodania do niego nowych funkcji, które zarówno powiększyłyby wygodę jego użytkowania, jak i jeszcze bardziej zwiększyły bezpieczeństwo.

Wolność czy zagrożenie?

Systemy takie jak Gnutella, Freenet czy omawiany w poprzedniej części artykułu Napster niosą ze sobą oczywiście wiele kontrowersji. Ich autorzy chcą je widzieć jako narzędzia promujące i chroniące wolność słowa. Możliwość anonimowego opublikowania w sieci np. informacji o zbrodniczych poczynaniach władz jakiegoś kraju, bez niebezpieczeństwa narażenia się na represje ze strony tychże władz i bez możliwości usunięcia przez nie tej informacji - to rzeczywiście bardzo cenna zaleta. Z drugiej strony, jasnym jest, że tego typu systemy mogą być - i będą - wykorzystywane także do nielegalnej działalności: począwszy od stosunkowo "niewinnego" (choć koncerny płytowe mogą być innego zdania) piractwa muzycznego, po cięższe przewinienia, takie jak publikowanie pornografii dziecięcej czy tekstów o charakterze rasistowskim lub faszystowskim. System jednakowo chroni anonimowość każdego - czy to będzie dysydent skarżący się na zbrodnie swojego rządu, czy też rasista nawołujący do zabicia wszystkich Murzynów...

Twórcy tych systemów bronią się - skądinąd słusznym - stwierdzeniem, iż oni udostępniają tylko pewne narzędzie, które samo w sobie nie jest ani dobre, ani złe. Kwestia jego etycznego użycia zależna jest tylko od użytkowników. Pojawia się jednak wiele głosów twierdzących, iż do korzystania z takich narzędzi nie jesteśmy jeszcze - jako ludzkość - przygotowani. Dowodzić tego ma chociażby fakt, że gdy podgląda się zapytania przepływające przez sieć GnutellaNet (program ma taką możliwość), dziewięćdziesiąt kilka procent spośród nich stanowią zapytania dotyczące treści nielegalnych - w pierwszym rzędzie nielegalnie skopiowanej muzyki, a następnie pornografii.

Czego by jednak na ten temat nie twierdzić, dżin został już wypuszczony z butelki. Technologia Gnutelli i Freenetu istnieje i jej rozwoju nie da się powstrzymać. I niewątpliwym jest, że najbardziej bezpośrednie i najbliższe w czasie skutki wywrze ona w przemyśle muzycznym. W coraz większej liczbie poważnych publikacji prasowych dotyczących Napstera, Gnutelli czy Freenetu wyrażane jest stanowisko, iż rozwoju nie da się powstrzymać procesami sądowymi. Przemysł muzyczny, zamiast oburzać się na te technologie i próbować z nimi bezskutecznie walczyć, powinien pomyśleć, jak je zasymilować i nauczyć się czerpać z nich zyski. Publicyści przypominają fakt, że protesty i procesy sądowe ze strony RIAA czy podobnych mu organizacji stały się już "tradycją" w odniesieniu do każdej z technologii umożliwiających prywatne kopiowanie utworów muzycznych czy filmów; było tak z kasetami magnetofonowymi, magnetowidami, nagrywarkami płyt CD-R. Każda z tych technologii znalazła sobie obecnie miejsce w świecie show-businessu i przynosi zyski tym samym firmom, które kiedyś tak mocno przeciw niej protestowały.

Najprawdopodobniej w dobie Napstera i Gnutelli konieczne będzie pewne zrewidowanie obecnego podejścia do prawa autorskiego. Nie da się już chyba dłużej utrzymać zasady "rozpowszechnianie bez zgody właściciela praw wzbronione". Zapewne trzeba będzie w przyszłości pogodzić się z tym, że utwór raz rozpowszechniony będzie dalej rozpowszechniany w dowolnej liczbie kopii w praktycznie niekontrolowany sposób. Uwaga przemysłu muzycznego, i innych organizacji czerpiących swoje dochody z praw autorskich, powinna natomiast koncentrować się na stworzeniu takich mechanizmów, aby od każdej - bądź przynajmniej od większości - takich kopii właściciel praw otrzymał odpowiednie wynagrodzenie. Ciekawe rozważania dotyczące tych zagadnień zawierają np. dostępne w Internecie artykuły Digital Nation: Rethinking Copyright in the Age of Napster (http://www.sonicnet.com/news/story.jhtml?id=971488) oraz Napster, Gnutella and Freenet: Publishing in a Post-Copyright Universe (http://www.ebooknet.com/story.jsp?id=2536). Niektóre firmy poczyniły już pewne kroki w tym kierunku. Przykładowo, firma SightSound, zajmująca się dystrybucją filmów w systemie pay-per-view, udostępniła do pobrania za pośrednictwem Gnutelli 12 pełnometrażowych filmów, zabezpieczonych przy użyciu technologii DRM (Digital Rights Management) Microsoftu. Filmy te można swobodnie kopiować, lecz ich obejrzenie wymaga zakupienia (on-line, na serwerze WWW firmy SightSound) specjalnego klucza aktywacyjnego, umożliwiającego odkodowanie zawartości.

Technologiczna rewolucja

Niezależnie jednak od społeczno-etycznych kontrowersji związanych z omawianymi tu programami, niemal wszyscy specjaliści od sieci komputerowych są zgodni, że pod względem technicznym stanowią one prawdziwą rewolucję. (Bardzo interesującą analizę innowacyjności Gnutelli i Freenetu przedstawia Andy Oram z renomowanego wydawnictwa literatury komputerowej O'Reilly and Associates w artykule pt. Gnutella and Freenet Represent True Technological Innovation, dostępnym pod adresem http://www.oreillynet.com/pub/a/network/2000/05/12/magazine/gnutella.html). Jednym z obszarów, gdzie rewolucja ta może - jak się wydaje - najszybciej przynieść skutki, są mechanizmy wyszukiwawcze.

Tradycyjne wyszukiwarki stron WWW, takie jak AltaVista, stają się coraz mniej efektywne w odnajdywaniu zgromadzonej w Internecie informacji. Ich zasada działania, polegająca na "wędrowaniu" od strony do strony po zawartych na tych stronach odsyłaczach i budowaniu bazy danych zawierającej treść wszystkich odwiedzonych stron, wydaje się odpowiadać stanowi rozwoju WWW sprzed kilku lat. Statyczne strony HTML, połączone odsyłaczami w sztywną strukturę, obecnie coraz częściej ustępują miejsca stronom generowanym dynamicznie. Właściwie każdy większy serwis internetowy zbudowany jest w tej chwili w oparciu o strony generowane dynamicznie na podstawie baz danych. W serwisie tego typu tradycyjna wyszukiwarka nie jest w stanie nic znaleźć, gdyż strona zawierająca interesujące nas informacje - np. zmiany kursów akcji określonych firm w zadanym okresie - w ogóle nie istnieje na serwerze, zanim nie zażądamy jej wygenerowania! Z drugiej strony, każdy tego typu serwer ma własną wewnętrzną wyszukiwarkę, która po wpisaniu w odpowiednim formularzu poszukiwanych przez użytkownika danych dostarcza odpowiedzi. Tyle tylko, że nie ma prostej możliwości sprzęgnięcia tych indywidualnych wyszukiwarek z wyszukiwarką "ogólną" typu np. AltaVisty.

Tu rozwiązaniem może być właśnie technologia Gnutelli. Wyobraźmy sobie, że każdy z serwerów WWW wyposażymy w "agenta" - program wyszukujący, potrafiący porozumiewać się z innymi analogicznymi agentami w sposób identyczny, jak czynią to serwenty Gnutelli. Jeżeli teraz wpiszemy w wyszukiwarce jakieś hasło, zostanie ono przekazane wszystkim "agentom", które zaprzęgną do pracy wewnętrzne mechanizmy wyszukiwawcze danego serwera. Gdy wpiszemy np. hasło "Microsoft", agent zainstalowany na serwerze z internetową encyklopedią przeszuka jej zasoby i zwróci nam odsyłacze do odpowiednich haseł w encyklopedii (np. biografii Billa Gatesa); agent obsługujący internetowy serwis informacyjny przekaże nam najświeższe wiadomości prasowe dotyczące Microsoftu; zaś agent zainstalowany na serwerze śledzącym kursy giełdowe poda nam aktualny kurs akcji tej firmy. Agent może zawierać mechanizmy tłumaczące, które pozwolą tłumaczyć zapytania z jednego języka na inny; przykładowo, polski użytkownik może wpisać w wyszukiwarce hasło "podróże", które agent zainstalowany na serwerze z angielskojęzyczną treścią automatycznie przetłumaczy na "travels" i takiego słowa będzie poszukiwał w znajdujących się na serwerze dokumentach. Możliwości są praktycznie nieograniczone; przede wszystkim zaś ważne jest to, że przeszukiwanie odbywa się w czasie rzeczywistym i każda odszukana przez wyszukiwarkę strona na pewno istnieje - znika w ten sposób zmora tradycyjnych wyszukiwarek, jaką jest podawanie odsyłaczy do już nieistniejących stron. Zrealizowano już eksperymentalną wyszukiwarkę wykorzystującą tę technikę - InfraSearch; jest ona dostępna pod adresem http://www.infrasearch.com/. Na razie obejmuje swoim działaniem zaledwie kilka serwerów z "agentami" i służy jedynie jako demonstracja tej technologii, niemniej jednak wydaje się bardzo prawdopodobne, iż tak właśnie wyglądać będzie przyszłość internetowych wyszukiwarek. Inną rewolucyjną technologią jest wspomniane już uprzednio przy omawianiu Freenetu automatyczne przemieszczanie informacji do miejsca, gdzie jest na nią największe zapotrzebowanie - zastosowanie tej techniki może przynieść zupełnie nowe rozwiązanie permanentnie trapiącego internautów problemu przeciążenia łączy.

Nie sposób jednak wspomnieć o zagrożeniach, jakie niosą ze sobą te nowe technologie. Głównym z nich jest możliwość umieszczenia w sieci "złośliwych" węzłów, ktore będą w sposób celowy zniekształcać przesyłane informacje. Taki "złośliwy" węzeł może udzielać pozytywnej odpowiedzi na dowolne zapytanie (lub tylko pewną określoną grupę zapytań), udając, iż ma poszukiwaną informację; zamiast niej jednak wysyłać informację specjalnie spreparowaną, której celem jest wywołanie szkodliwych skutków. Może to być wszystko - od koni trojańskich i wirusów, po robiące wrażenie prawdziwych sfałszowane wiadomości, mające np. ukazać jakąś osobę lub firmę w złym świetle. Przypuśćmy np., że prześladowany opozycjonista z jakiegoś dyktatorsko rządzonego kraju umieści we Freenecie informację o zbrodniach rządu. Jako się rzekło, informacji tej nie można z sieci usunąć; władze owego kraju mogą jednak, znając nazwę pod jaką ów dokument jest zapisany, podłączyć do Freenetu kilkanaście czy kilkadziesiąt własnych "złośliwych" węzłów z odpowiednio zmodyfikowanym oprogramowaniem, które w odpowiedzi na żądanie przesłania dokuentu o tej nazwie wyślą własną wersję, przedstawiającą całą sytuację zupełnie inaczej... Jest to poważne zagrożenie, przed ktorym autorzy Gnutelli i Freenetu muszą opracować jakiś sposób obrony.

Wydaje się jednak być niemal pewne, że niezależnie od wszelkich obiekcji mamy do czynienia z technologiami, które już niedługo wpłyną na istotną zmianę kształtu Internetu. Tak, jak Internet po wynalezieniu WWW diametralnie się zmienił w stosunku do stanu przed tym wynalazkiem, tak też Internet po Napsterze, Gnutelli i Freenecie będzie zupełnie inny od Internetu przed pojawieniem się tych programów. Warto zatem z uwagą śledzić wszystko, co w tym zakresie się dzieje...


Jarosław Rafa 2000. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 21.08.2000.


Powrót do wykazu artykułów o Internecie Statystyka