Peer to Peer, een nieuw fenomeen. Een hype. Miljoenen mensen gebruiken het wereldwijd. De politiek wordt er gek van. Maar.. wat is het eigenlijk? Wat kun je er mee? Welke vormen van P2P bestaan er? Wat is de geschiedenis?
p2p
Na Hotline en Napster versie 1 is Peer To Peer (P2P), het delen van data (bestanden) met andere internetters, een nieuwe hype geworden: De helft van internettend Nederland downloadt muziek, waarvan 3,6 miljoen via P2P (andere bron). Een voorbeeld van een P2P programma is het overbekende 'KaZaA'. Uiteraard is Nederland niet het enige land dat deelneemt aan deze activiteiten waarover veel onduidelijkheid bestaat. Grote organisaties zoals de RIAA, MPAA, BSA (VS) en organisaties als BUMA/STEMRA, BREIN, BSA, FIOD (NL) en vele andere organisaties, die overigens ook samenwerken, vinden het fenomeen niet zo geinig. Wat doen zij tegen P2P? Hoe is P2P ontstaan? Wat is P2P eigenlijk? In welke soorten en maten is het verkrijgbaar? Wat zijn de verschillen? Betekenis
Technies gezien is P2P een manier waarbij 2 clients direct data uitwisselen, zonder de data zelf (exclusief "metadata"; als in "ik ga nu dit aan die en die versturen") via een server te versturen zoals bij bijvoorbeeld e-mail en WWW het geval is.
Een eenvoudige analogie: stel je voor, een groep mensen ("clients") komt bij elkaar op een feest bij iemand thuis, de gastheer cq. gastvrouw ("server"). Niet iedereen kent elkaar, maar via via kent men elkaar wel. Deze groep mensen vertellen elkaar allerlei stoere verhalen; wisselen al dan niet relevante informatie uit. Het is echter niet zo dat iedereen de informatie eerst aan de gastheer cq. gastvrouw verteld die vervolgens kiest welke informatie hij/zij verder verteld en dat vervolgens ook doet; het is niet zo dat informatie van één en dezelfde persoon komt. De connecties zijn onderling ("P2P netwerk"). Hetgeen dat hen bij elkaar brengt ("host") is het huis van de gastheer cq. gastvrouw, een infrastructuur.
Om te informatie te delen ("sharen" of "uploaden") of te ontvangen ("leechen" of "downloaden") moet je uitgenodigd zijn op het feest. Je bent welkom! Op verreweg de meeste P2P servers kun je jezelf op uitnodigen omdat een client hiervoor gratis te downloaden is. Sommige servers accepteren alleen verbindingen van van bepaalde internetters, uit bepaalde landen, of wanneer de gebruiker een correct wachtwoord heeft ingevoerd. Dit open principe is een mes dat aan twee kanten snijdt; het is daarom verstandig te begrijpen hoe dit mes in elkaar zit.
Nu kan het zijn dat een persoon op dit feest een ander persoon informatie doorspeelt die illegaal is, bijvoorbeeld een bedrijfsgeheim. Het feit dat dit gebeurd, maakt het feest niet illegaal. Het betekent ook niet per definitie dat iedereen op het feest elkaar illegale informatie doorspeelt. Hetzelfde geldt voor P2P: er kan data (bijvoorbeeld een bedrijfsgeheim) worden doorgespeeld die volgens de wet illegaal is, maar dat hoeft helemaal niet het geval te zijn!
Stel iemand stuurt jou een foto via MSN, IRC, of ICQ. Je bent verbonden via een respectievelijk MSN, IRC of ICQ server maar de data wordt niet via de server verstuurt. De data wordt direct verzonden tussen degene die de foto verstuurt en jou; dat houdt dus in dat via P2P gaat. Dat de reguliere media met P2P bedoelt P2P netwerken waar massaal copyright geschonden wordt, doet verder niets aan de techniese definitie af (wel aan de naam van P2P). Sterker nog, dat op P2P netwerken zoals KaZaA massaal copyright geschonden wordt maakt beheerders van deze netwerken -in Nederland- niet verantwoordelijk voor dit strafbare feit zo is recent gebleken in een uitspraak van de hoge raad over KaZaA.
Geschiedenis
Voordat het internet ontstond, bestond P2P al tijden, namelijk in het dagelijkse leven. Genaamd 'Sneakernet'. Informatie werd altijd al verspreid, denk maar aan het eeuwenoude mond op mond reclame. Geluid en beeld + geluid werd in de jaren 70 en 80 al gekopieerd: LP's werden verspreid, en VHS (Video Home System) en MC (Music Casette) werden gekopieerd, en later ook de CD en de DVD.
Hotline
Op het Internet begon het met Hotline, een soort netwerk, geschreven door een 16-jarige Australier. Een server draait waarnaar clients naar kunnen verbinden. Meerdere servers bestaan en ze draaien onafhankelijk van elkaar. Dit vond plaats rond 1996 en het was razendpopulair voor de Mac. Momenteel bestaat Hotline nog steeds maar vrijwel alle servers zijn beveiligt met een wachtwoord. Wil je er op komen zul je sex-materiaal moeten bekijken (banners ed.) alvorens je deel kunt nemen aan de server. Tenslotte is de techniek redelijk verouderd. Tegenwoordig bestaan er betere P2P technieken.
Napster
Napster deed ongeveer hetzelfde als Hotline maar de servers waren gecentraliseerd. Alleen van Napster. Later, nadat men het Napster-protocol had geanalyseerd, ontstonden er ook andere, onafhankelijke servers. Ook dit systeem was ontwikkelt door een jonge Australier. Het verschil is dat men hiermee vreselijk veel geld heeft verdient omdat het ontzettend populair was. Na de rechtzaken zwakte de populariteit af en is men op andere alternatieven overgegaan zoals bijvoorbeeld KaZaA.
AudioGalaxy
Dit systeem had een "sateliet" die op de achtergrond draaide. Via een makkelijke web-interface kon een gebruiker zoeken en een bestandje aanklikken, voor muziek. De "sateliet" onderschepte deze en downloadde vervolgens. De "sateliet" deed ook het upload-werk. Er ontstonden complete communities. Na rechtzaken (bron, nog een bron) is AudioGalaxy ten onder gegaan. De communities leven tegenwoordig nog steeds voort op andere P2P netwerken zoals Soulseek. Zie ook dit artikel op Kuro5hin waar een programmeur vertelt over zijn werk bij AudioGalaxy.
KaZaA
Het overbekende KaZaA is over z'n beste tijd heen. KaZaA begon eind 2000 als Nederlands bedrijf gestart door 2 scandinaviers. Na rechtzaken waren zij bang en hebben zij de boel goedkoop verkocht aan een Australisch bedrijf genaamd Sharman Networks. Was KaZaA een jaar of 2 geleden nog enorm populair, tegenwoordig neemt de populariteit sterk af. Omdat organisaties zoals BREIN en de RIAA de meeste kans hebben om grootgebruikers te vinden op populaire netwerken is het verstandig om een alternatief te kiezen al. Het is goed mogelijk dat deze organisaties op het aantal bestanden dat je deelt afgaat terwijl die bestanden ook legaal kunnen zijn. Qua alternatief kun je denken aan een veiliger alternatief welke bijvoorbeeld gebruik maakt van methodes die een gedecentraliseerd netwerk mogelijk maken, anoniemiteit verhogen, gebruik maken van sterke cryptografie maar ook aan een minder populair alternatief om zo het risico te verkleinen kan helpen.
Slyck heeft nog een aardig artikel genaamd P2P: Then, Now and the Future gedateerd 23 februari 2004.
Commercieel?
Bedrijven zoals KaZaA doen het echter niet voor de gebruiker. Zij doen het met name om winst te maken. Sommigen, zoals bijvoorbeeld KaZaA, doen dit door middel van spyware mee te leveren bij hun programma. Deze spyware (o.a. Gator en Bonzibuddy) zorgen voor spontane popups met reclame, sluizen surfgegevens door naar derden, een combinatie van eerdergenoemde, of iets dat er op lijkt. Kortom, goed voor het saldo van hun bankrekening, slecht voor jouw privacy.
Er zijn een aantal oplossingen voor dit probleem:
- Installeer GNU/Linux en gebruik uitsluitend vrije software.
- Gebruik het betreffende programma en het netwerk van hen niet. Er zijn voldoende alternatieven. Verder in dit artikel komen er enkele aan bod.
- Kies voor een alternatief programma dat verbinding met het P2P netwerk. In plaats van de officiele KaZaA client kun je KaZaA-Lite gebruiken, of wanneer je geen Windows draait maar een UNIX-clone zoals Linux kun je giFT of MLDonkey gebruiken. Sharman Networks, het bedrijf achter KaZaA, is niet zo blij met KaZaA-Lite.
- Installeer een Spyware-killer. Pas op, want sommige doen zich voor als spyware-killer terwijl ze iets anders met je computer doen. Bijvoorbeeld ze zetten je computer open voor computerkrakers of installeren juist spyware. Een goede spyware-killer is AdAware.
- Een goede virusscanner is ook aan te raden aangezien er via P2P nogal eens virussen verspreid worden. Met name belangrijk wanneer je software download of wanneer je niet goed naar de extensie van een bestand kijkt.
- Tenslotte, er zijn ook P2P clients die iets anders doen dan wat ze claimen. Sommigew zetten bijvoorbeeld je computer wagenwijd open voor derden; een trojaans paard ("trojan horse"). EarthStation5 (andere bron, nog een bron, en nog een, en zelfs nog een) is hier een voorbeeld van.
Aanbieden
Het aanbieden ("sharing") van data is bij de meeste clients kinderspel. Bij de instellingen selecteert men een map waarin zich data (bestanden) bevindt. Die map wordt vervolgens gedeeld. Sommige P2P clients hebben de standaard instelling dat alle gedownloade bestanden ook meteen gedeeld worden. Dit kan gevolgen hebben voor de legaliteit mbt wat men aanbiedt, de queue ("wachtrij"), internetsnelheid en tenslotte het datalimiet.
Op het moment dat je iets download en je deelt het automatisch omdat je dat hebt ingesteld kan dat de legaliteit van je activiteiten aantasten. In hoeverre verschilt. Indien je muziek van een DIY punkband shared heb je minder kans dat je op je activiteiten aangesproken wordt dan wanneer je de laatste top40 deelt. Het aantal bestanden dat je deelt kan ook invloed hebben. Dat heeft te maken met het feit dat massaal copyright wordt geschonden; een kleine vis zet weinig zoden aan de dijk.
Iedere ISP (internet provider) heeft voor haar klanten een datalimiet voor ogen. Bandbreedte, met name internationaal verkeer, kost geld. Hoeveel dit limiet is, verschilt per abbonement en per ISP. Sommige ISP's hebben een laag limiet, anderen een hoog limiet. Sommige ISP's hebben een zogenaamde FUP ("Fair Use Policy") dit houdt echter niet in dat gebruikers zoveel mogen down- en uploaden als zij willen. In de praktijk houdt het in dat wanneer een klant een X aantal % meer verstookt als het gemiddelde, er aan de bel getrokken wordt. Sommige ISP's hebben die X op bijvoorbeeld 6 ingesteld en stellen statistieken over het gemiddelde beschikbaar, terwijl anderen hier geheimzinnig over doen hetgeen geen duidelijkheid verschaft. Tenslotte heb je ook nog ISP's die een bepaald limiet claimen te hebben terwijl ze dat om de een of andere reden niet controleren (die ISP's zijn voor grootgebruikers het paradijs onder de Zon).
Het is daarom verstandig om de instellingen van de client goed te bekijken. Sommige clients stellen bijvoorbeeld de client standaard in als "supernode", een doorgeefluik. Ook dit heeft gevolgen voor je internetsnelheid en je datalimiet. Bij een goede client kun je dingen instellen zoals je maximum queue, het maximum dat je per seconde in totaal wilt versturen/ontvangen, en meer van deze instellingen die de gezondheid van een internet-verbinding ten goede komen.
Overigens wordt het als sociaal gezien dat je ook iets teruggeeft aan de community. Het is niet vriendelijk om alleen maar te nemen en niet te geven. Sommige mensen zijn hier nogal hard in en verbannen zij die niets (of in hun ogen rotzooi) aanbieden.
P2P vormen
Om een P2P vorm te begrijpen moet je weten hoe de infrastructuur van het P2P netwerk in elkaar zit (1 server versus meerdere servers, wie beheert ze of wie is de eigenaar), of er sprake is van encryptie en zo ja details (versleuteling; bijv tussen servers onderling, tussen client en server, tussen clients onderling, welk algoritme, lengte/sterkte van de sleutel), hoe data tussen clients verzonden wordt (direct, of via-via) kortom: het protocol.
Grofweg kun je P2P opsplitsen in:
- Gecentraliseerd en gedecentraliseerd.
- Anoniem en niet-anoniem.
Noot: encryptie speelt een belangrijke rol bij anonimiteit. Anoniem dien je met een flinke korrel zout te nemen aangezien het geen propositie (ja/nee) is. Hier kom ik later op terug onder het kopje "Anonimiteit".
(De)centralisatie
(De)centralisatie kan zich op meerdere vlakken voordoen en men kan tot in specifieke details analyseren of en op welke vlakken een P2P al dan niet gedecentraliseerd is. Ik zal enkele voorbeelden aankaarten:
- De servers van het P2P netwerk worden door 1 en hetzelfde bedrijf beheert, al dan niet uitbesteed aan derden (outsourcing). Dit staat in contrast met een netwerk waarbij elk individu een server kan opstarten. Wanneer iedereen een server kan opstarten, al dan niet met eigen restricties, is er minder centralisatie omdat niet iedereen via dezelfde verbinding data uitwisselt.
- De binary (uitvoerbaar bestand) of de source (broncode nodig om een uitvoerbaar bestand te maken) van de client cq. server is open. Indien de source open is kunnen anderen (3rd party) de client cq. server (of het protocol) verder ontwikkelen, het protocol makkelijk begrijpen, en het programma op computers en besturingsystemen aan de praat krijgen waarvoor het programma oorspronkelijk niet bedoelt was. Dit laatste kan makkelijker direct of indirect dankzij de source maar zgn. "reverse engineeren" van binaries is ook een optie. Vaak moeilijker.
- Alle servers staan met elkaar in verbinding. Contrast: verschillende netwerken die hetzelfde protocol gebruiken staan niet met elkaar in verbinding. Bepaalde servers, bijvoorbeeld omdat ze een bepaald soort data uitwisselen, staan wel met elkaar in verbinding. Een gebruiker kan met meerdere netwerken verbinden.
Anonimiteit
Op vrijwel alle P2P netwerken ben je niet anoniem. Mbt illegale data transfers zoals muziek is dat op dit moment nog niet erg om de doodsimpele reden dat men zich op internet massaal niet aan de copyright-wetgeving houdt en omdat er geen goede copyright protection bestaat. Dat houdt echter niet in dat je anoniem bent! Via campagnes proberen organisaties die copyright beschermen de publieke opinie te beïnvloeden. Hier kom ik later op terug.
Er zijn programma's zoals PeerGuardian die bepaalde internet-adressen (IP's) blokkeren om op die manier organisaties die van die IP addressen gebruik maken te weren zodat deze niet te weten kunnen komen over wat je shared of data van jou kunnen downloaden als bewijs. Nicotine (een Soulseek client) heeft bijvoorbeeld ook een optie om bepaalde landen te blokkeren.
Een aantal andere vragen die je jezelf kunt stellen zijn de volgende: wat bied ik eigenlijk aan? Wie is de eigenaar van het originele werk? Wat vindt de eigenaar er van dat ik dit beschikbaar stel? Sommige eigenaren hebben er geen problemen mee; anderen wel.
Anonimiteit op P2P netwerken als GNUnet en Freenet wordt mogelijk gemaakt door de verstuurde data te versleutelen. De data die jij ontvangt komt eerst door een aantal andere hosts, die elk alleen maar de vorige en de volgende host zien. Door een stuk of 15 hops te gebruiken wordt het voor een Echelonachtig systeem een stuk lastiger om te zien welk verkeer waarvandaan komt. De enige manier waarop men een beetje overzicht kan proberen te krijgen van wat jij op je PC'tje aan bestanden deelt op is door direct je internetconnectie af te tappen. Dat is natuurlijk niet iets dat BREINstichtinkjes zomaar bij 3 miljoen Nederlanders gaat doen.
Het tappen van een P2P netwerk dat gebruik maakt van (sterke) encryptie wordt over het algemeen gezien als onbegonnen werk. Sommige critici zijn van mening dat supercomputers van de de NSA in staat zijn om cryptografie te doorbreken. Deze theorien zijn echter nooit bewezen en men heeft een gigantische hoeveelheid supercomputers nodig om dit te bewerkstelligen. Over het algemeen wordt het gebruik van sterke encryptie tesamen met andere maatregelen zoals een hoge kwaliteit implementatie daarvan en geen lekken in de P2P software als veilig geacht. Wil je echt veilig zijn, of zekerder zijn, dan wordt aangeraden je in de P2P software te verdiepen en je in cryptografie te verdiepen. Iemand die niet weet hoe iets precies in elkaar zit kan lastig(er) een objectief oordeel vellen over de materie.
De "anti-terrorisme"- en veiligheidsmaatregelen worden echter met de dag versterkt. Net als de wetgeving waarmee informatiemonopolisten hun bitjes kunnen proberen te beschermen. Er is een kans dat encryptie zoals die nu door versleutelde netwerken gebruikt wordt verboden gaat worden. Als deze netwerken vooral uit kinderporno en nazistische rotzooi bestaan wordt het voor de wetgevers een stuk makkelijker om dit voor elkaar te krijgen. Daarom is het goed om nu al nuttige en legale informatie op deze netwerken te plaatsen. Het zou bijvoorbeeld niet gek zijn om informatie welke niet controversieel volgens Westerse maatstaven is te plaatsen op P2P netwerken. Bijvoorbeeld de Chinese Wikipedia (die verboden is in de Volksrepubliek China) via deze netwerken toch beschikbaar te stellen aan geïnteresseerde Chinezen.
Frontend en Core
Een ander interessant princiepe (wat verder los staat van privacy, beveiliging, anonimiteit en (de)centralisatie) is een client die in stukken is opgeplitst: ten eerste een zgn. core zorgt ervoor dat er een verbinding is met het netwerk. Hiermee kan de gebruiker zelf niets maar deze core regelt alles achter de schermen. De gebruiker kan vervolgens wel een (van de vele, meestal) frontends kiezen welke de core aansturen. Daarbij kun je denken aan een grafische schil welke voor elk besturingsysteem anders is, een browser-interface waarbij de gebruiker zelf de browser kiest, of een op commando gebaseerde interface bijv via Telnet. Dit geeft de gebruiker meer keuzevrijheid. Bijvoorbeeld, niemand vindt exact dezelfde browser even fijn. Door de client op te splitsen in 2 delen hoeveen programmeurs die een frontend willen schrijven stukken minder moeite te doen om een client te schrijven waardoor meer diversiteit ontstaat.
AudioGalaxy is een voorbeeld van een gescheiden frontend / core, maar alleen voor de browser. Voor Freenet en ENTROPY geldt hetzelfde hoewel deze verschillend zijn van AudioGalaxy vanwege hun encryptie, decentralisatie en verhoogde anonimiteit. Mldonkey is een van de eDonkey clients waar enorm veel frontends voor zijn.
Multi-netwerk
Tenslotte is er nog een aspect dat bijdraagt aan een gebruikersvriendelijke ervaring: Multi-netwerk clients. Dit zijn clients waarmee je met 1 client op meerdere P2P netwerken kunt vertoeven. Een voorbeeld van zo'n client is Mldonkey.
Links & toekomst
Hieronder volgen een aantal links naar P2P-gerelateerde websites.
P2P nieuws-sites
Een aantal websites ed. welke P2P gerelateerd nieuws berichten. Uiteraard is de lijst niet compleet.
Specifieke P2P programma's
De omschrijvingen zijn nogal kort door de bocht; neem het met een korrel zout. De lijst is verre van compleet. Er is echter wel aandacht besteed om de meer unieke projecten aan de lijst toe te voegen itt 13-in-een-dozijn P2P programma's.
- GNUnet - Gedecentraliseerd P2P project van GNU.org.
- FreeNet - Een van de eerste P2P software projecten welke anonimiteit in een hoog vaandel stelt. Maakt veel gebruik van encryptie, zelfs lokaal op de harde schijf. Geschreven in Java.
- ENTROPY - Een clone van FreeNet geschreven in C.
- Gnutella - Software voor het Gnuttela netwerk.
- BitTorrent - BitTorrent is een populair, semi-gedecentraliseerd P2P netwerk dat gebruik maakt van metadata ("torrents"). Er zijn veeel BitTorrent clients; dit is de website van de officiele client. BitTorrent is redelijk schaalbaar.
- Peer Distributed Transfer Protocol - Een protocol en software welke schaalbaarder behoort te zijn dan BitTorrent. Het moet ook een aantal andere BitTorrent-problemen. Momenteel is het project nog in ontwikkeling.
- MUTE - Progressieve P2P software uit de 3rde generatie (gedecentraliseerd, verhoogde anonimiteit en encryptie).
- Konspire - Idem.
- Freehaven - Idem.
- Coral - Een P2P (web)cache project.
- p2psim - P2P simulator.
- HavenCo - Een bedrijf dat hosting services aanbiedt op het eiland Sealand. Sealand is min of meer een anarchie met vrijwel geen wetten; in ieder geval geen wetten mbt auteursrecht en aanverwante zaken.
Slot
Het artikel had nog veel uitgebreider kunnen zijn door bijvoorbeeld legaliteit van P2P, video-activisme, muziek-activisme, creative commons, free software / open source software, websites en artiesten die hun muziek vrij, legaal beschikbaar stellen, de economische aspecten, het gift-economie princiepe, de activiteiten van BREIN, RIAA e.a. organisaties aan de kaak te stellen. Helaas heb ik momenteel geen interesse om hier over te schrijven, wie weet doe ik dat in een ander artikel.
Dislaimer & bedankje: de auteur ("dpi") stelt zich niet verantwoordelijk voor welke manier dan ook bovenstaande informatie gebruikt wordt. De auteur wil graag Guaka bedanken voor de nodige feedback en Chuck D voor de leus "Power 2 the People". Deze gehele text valt onder het publiek domein (public domain).