Decentralizacija je stigla (1. deo)
Autor: Petar Simović
Istorija razvoja mreža i ideje
Vratimo se malo u vreme nastanka interneta. Ideja koja je u početku nastanka interneta postojala bila je veoma jednostavna i ukratko se svodila na mogućnost i jednostavnost deljenja nekakvog sadržaja između udaljenih računara preko mreže na koju su ti računari priključeni. Ova ideja se posle razvijala u različitim pravcima koji su opisani kao topologije računarskih mreža. Kada se radi o mrežama, treba postaviti pitanje da li su svi računari na mreži ravnopravni ili jedni zavise od drugih. Mreže u kojima su računari ravnopravni i ne zavise od centralnog računara koji ih opslužuje pružajući im željeni sadržaj ili ih upućujući na njega, jesu decentralizovane ili distribuirane mreže. Ova dva termina ne znače isto i biće uskoro bolje objašnjeni. Nasuprot njima, mreže u kojima se učesnici dele na klijente i servere su centralizovane arhitekture, jer svi korisnici sadržaj dobijaju isključivo od servera, a sami korisnici najčešće ne mogu direktno deliti sadržaj preko mreže.
Međutim, vlade i korporacije koje su uvidele velike potencijale mreža u razvoju su značajno uticale na dalji razvoj računarskih mreža. Ne samo da su uticali, nego su i usmeravali razvoj u pravcima koji su omogućavali veće kontrole nad korisnicima i ostvarivanje profita od mreža, računara i servisa, tj. programa za njihovo korišćenje.
Internet je nastao iz vojnog projekta Arpanet sa idejom da se preko potrebna vojna komunikacija u nepovoljnim uslovima nuklearnog rata, kada celi gradovi mogu nestati za jedan dan, može ipak uspostaviti alternativnim rutama i tako održati (više na https://en.wikipedia.org/wiki/ARPANET). U prevodu ovo znači da nema centralne tačke od koje zavisi funkcionalnost cele mreže, što doprinosi skalabilnosti (lakom uvećanju mreže) i redundantnosti (otpornosti mreže na otkazivanje računara). Ovo nam takođe ukazuje da je internet u početku zasnovan na ideji distribuirane mreže otporne na otkazivanje pojedinačnih čvorišta komunikacije, i ukazuje na sposobnost mreže da preživi značajne infrastrukturne gubitke.
U istoriji postoji dosta projekata koji su pokušali da ograniče slobode informisanja i međusobne komunikacije ljudi na internetu. Jedan takav primer svakako je i propali projekat Multiks (eng. Multics, https://en.wikipedia.org/wiki/Multics) koji je uveo značajne sisteme u računarstvo i operativne sisteme, ali je glavna ideja projekta bila da svaki grad ima centralni moćni superračunar na koji se građani-klijenti povezuju terminalima i preko kojeg izvršavaju svoje programe. Iz današnje perspektive ova zamisao može izgledati kao šala, ali ne zaboravimo da današnje najpopularnije društvene mreže implementiraju baš ovakve centralizovane sisteme.
Trenutno stanje
Pomenuli smo termine decentralizovane i distribuirane mreže, pa da to sada malo pojasnimo.
Decentralizovane mreže su one koje nemaju centralni računar od kojeg zavisi funkcionalnost cele mreže, ali računari nikako nisu svi jednaki među sobom i otkazivanje specifičnog računara može imati ozbiljnije posledice po funkcionalnost mreže globalno i mogućnost da svaki računar komunicira sa bilo kojim drugim u mreži.
Distribuirane mreže su sasvim suprotne jer su svi računari podjednaki i otkazivanje bilo kojeg računara nema nikakav uticaj na funkcionalnost mreže. Ovakve mreže se često zovu i p2p (eng. Peer-To-Peer) mreže. Primeri ovakve mreže su svakako Bittorent (eng. Bittorrent) i Juznet (eng. Usenet).
Tu su i centralizovane mreže u kojima postoji jasna podela na korisnike i centralni računar koji upravlja mrežom. Ovakve mreže isključivo zavise od centralnog računara i bez njega korisnici ne mogu komunicirati. Primer ovakve mreže je telefonska mreža gde korisnici ne mogu komunicirati međusobno ukoliko operater nije u funkciji.
Današnji internet izgleda kao decentralizovana mreža. Svi korisnici zavise od internet provajdera; pretraživanje mreže zavisi od centralizovanih pretraživača (Gugl, Jahu, Bing, Jandeks, Dak-dak-gou i drugi) i kompanija kao što su Gugl; razmenjivanje poruka zavisi od centralnih mejl-servera kao što su Džimejl (eng. Gmail) i Jahu (eng. Yahoo); domeni i IP adrese zavise od centralizovanih DNS, TLD i sličnih servera koje, opet, ne kontrolišu korisnici, već privatne korporacije poput Ajkena (eng. ICANN).
Ovo nikako nisu svi servisi koje korisnici svakodnevno koriste. Napomenućemo još i društvene mreže, koje su postale veoma popularne u poslednje vreme, a koje su opet centralizovane, zasnovane na vlasničkom softveru i u posedu privatnih firmi.
Naravno tu su sada već nezaobilazna pitanja cenzure, nadgledanja korisnika, ugrožavanja privatnosti korisnika kao i sigurnosti same mreže, ukoliko je ona pod nekom vrstom kontrole. Ovim temama, kao i tehnologijama koje nalaze efikasna rešenja za navedene probleme, bavićemo se kroz naredne brojeve (tematski ćemo predstavljati programe koji rešavaju određenu vrstu problema).
Rešenje
Mreže mogu biti totalno distribuirane ili bar decentralizovane, ali tako da korisnici mogu izabrati da li žele biti klijent ili server.
Problemi kao što su cenzura, ugrožavanje privatnosti korisnika, spamovi, nepotrebne reklame i mnogi drugi mogu biti rešeni upotrebom moderne kriptografije, digitalnim potpisima i anonimnim mrežama sličnim Toru (eng. The Onion Router).
Glavna ideologija koja se provlači kroz distribuiranost ili decentralizaciju mreža zasniva se na pružanju većeg izbora korisnicima prilikom povezivanja i razmena informacija, dok u isto vreme uklanjaju nepotrebnog posrednika koji kontroliše korisnike. Na taj način korisnici mreže imaju potpunu kontrolu nad tim sa kime se povezuju i dele informacije, na koji način to čine (šifrovano ili ne), šta će o sebi odati, kome, i tako dalje.
U predstojećim delovima videćemo kako programi otvorenog koda doprinose decentralizaciji na raznim poljima, od decentralizovane trgovine kriptovalutama kao što je Bitkoin, preko decentralizovanih alternativa internetskih domena, razmene elektronske pošte, mrežne rezervne kopije (bekap) i svih ostalih tehnologija servisa i protokola koji su danas centralizovani, a mogu biti distribuirani i sigurniji.