Što je Blockchain i zašto bi mogao postati jako važan? Svake godine dođe neka tehnologija koja “obećava” i koja bi mogla biti “the next big thing” u IT svijetu. Mnoge od tih tehnologija zažive, kratko budu popularne i onda odu u ropotarnicu povijesti, a njima se bavi manji dio IT zajednice. Blockchain će – po svemu sudeći – biti jako dugo s nama, iako je teško reći jer je tek zaživio.
O ovoj tehnologiji se govori da će donijeti određenu revoluciju jer mu je primjena moguća praktički u svim segmentima života, a i mnoge velike IT firme u ovaj segment tehnologije ulažu znatne resurse. Stoga smo mi odlučili napraviti uvod u ovu tehnologiju, objasniti (pojasniti) vam što to jest i kako bi se Blockchain mogao primjeniti u našem IT svijetu, ali i šire.
Ako tražite neko zanimljivo područje s kojim biste se bavili, svakako si malo detaljnije pogledajte Blockchain. Vjerujemo da njegovo vrijeme tek dolazi i da će potpuno okrenuti razvoj softvera i način na koji dijelimo informacije. Ono što je bio Internet 90.-ih godina, to će uskoro biti blockchain tehnologija.
Kratki uvod
Kada ljudi govore o Blockchain tehnologiji teško je reći da li govore o Bitcoin blockchainu, Ethereum blockchainu, virtualnoj valuti, digitlanim tokenima, pametnim ugovorima ili nečem sasvim desetom. Ono što je ovim pojmovima zajedničko je da se govori o distribuiranoj “glavnoj knjizi”, odnosno podacima koji se distribuiraju na mnoge servere i da svi sudionici u komunikaciji imaju iste podatke zapisane kod sebe.
Glavna knjiga ili engl. ledger je zapravo jedna vrsta baze podataka sa svim transakcijama (ili drugim podacima) koje se ne čuvaju na jednom mjestu (centralnom serveru), nego na mnogo mjesta.
Kada govorimo o podacima to mogu biti podaci bilo koje vrste, iako sada blockchain najčešće sadrži financijske podatke (bitcoin i ostale virtualne valute) i sve transakcije u mreži.
Također, kada kažemo “blockchain tehnologija” mislimo na skup tehnologija koje daju određeni rezultat – zamislite da imate vrećicu sa lego kockicama. S njima možete napraviti što god želite. I upravo u tome leži ljepota Blockchaina – može ga se iskoristiti za sve i svašta.
Baza podataka
Koja je razlika između blockchaina i “obične baze podataka”? Slobodno govoreći, blockchain je isto što i baza podataka, ali sadrži dodatni softver koji dodaje unutra nove redove, validira ih po definiranim pravilima, te komunicira sa drugim serverima na mreži koji s vama razmjenjuju podatke.
Kako je sve počelo?
Sve je počelo sa Bitcoinovima, o kojima smo mnogo puta pisali, pa nećemo opet. Dovoljno je reći da se radi o anonimnoj, virtualnoj valuti s kojom možete plaćati mnogo usluga. Trenutačno jedan BTC vrijedi oko 1200 dolara.
No, kako bi Bitcoin funkcionirao da ispod sebe nema kompleksnu tehnologiju? Nikako. Zato je stvorena tehnologija Bitcoin Blockchain. To je kompleksni ekosustav koji prati sve transakcije, u koji svi mogu zapisivati transakcije (po određenim pravilima) i nitko nije nadležan ili odgovoran za dotični sustav.
Nema centralne banke ili neke druge institucije koja upravlja BItcoinom. Što je potpuno suprotno od današnjeg funkcioniranja svijeta i bankarskog sustava.
Bitcoin Blockchain je zapravo mreža servera koji se ponašaju kao replicirana baza podataka. Svaki server sadrži sve podatke o transakcijama. Postoje određeni čvorovi u mreži koji se zovu “validatori” i oni svaku transakciju provjeravaju i odobravaju ili odbijaju.
Nakon što se transakcija odobri, posebni čvorovi šalju podatke po cijeloj mreži o transakciji i svaki server transkaciju zapisuje kod sebe. Na taj način svi imaju sve podatke o bivšim Bitcoin transakcijama.
I to je otprilike cijela ideja blockchain tehnologije – decentralizirani sustav u koji se mogu upisivati svakakvi podaci, a ne samo oni o financijskim transakcijama. Razmislite malo gdje bi se sve ova tehnologija mogla primijeniti.
Razlike između javnih i privatnih blockchainova
Znači – počelo je sa Bitcoinom, proširilo se i na druge virtualne valute, a sada ova tehnologija traži primjenu i u drugim segmentima života. Ideja Bitcoina je bila decentralizacija, anonimnost i potpuna sloboda tržišta. I uspio je u tome. Danas se na dnevnoj razini trguje Bitcoinova u visini od nekoliko desetaka milijuna dolara. Ponekad i mnogo više od te cifre.
Za očekivati je da bi se ova tehnologija mogla, recimo, uzeti za mnoge državne potrebe. Mogli bismo cijeli katastar imati napravljen na blockchain tehnologiji – svaku kupovini ili prodaju nekretnine možemo imati zapisanu kao “transakciju”.
Možemo bilježiti sve izmjene na nekretninama, tko je kupio nekretninu, za koliko novaca i tako dalje. London je recimo prvi grad koji bi mogao upravo to implementirati – blockchain tehnologiju za praćenje katastra i svih izmjena koje se događaju. Zanimljivo je da bi se isto moglo dogoditi u Grčkoj gdje je praktički u katastar provedeno svega 7 posto nekretnina. Da, dobro ste pročitali. No, vratimo se na samu tehnologiju.
Blockchain tehnologija (skup decentraliziranih servera, validatora itd.) može biti privatna i javna.
Javni blockchain može biti “javan” na dva načina:
- Da svi mogu zapisivati i čitati podatke
- Da svi mogu čitati podatke, a samo validirane osobe zapisivati
Privatni blockchain je onaj kojem ne može svako pristupiti nego osoba mora biti verificirana, i recimo imati određeni token s kojim može zapisivati transakcije. To može biti korisno u velikim organizacijama koje će iskoristiti prednosti blockchaina, ali tim podacima javnost neće moći pristupiti.
Danas kompanije imaju jedan centralni server na kojem su svi podaci – i to je jedna točka na kojoj se može dogoditi greška i podaci mogu postati nedostupni. Vjerojatno vam je poznat pojam “single point of failure”.
Hajdemo malo dublje u cijelu priču
Blockchain zapise možete zamisliti kao običnu datoteku, koja je strukturirana. Podaci su logični posloženi i spremljeni. Baza podataka inače može biti skup tablica koje imaju kolone i redove, može biti tekstualna datoteka, mogu biti podaci koji su odvojeni zarezom ili nekim drugim znakom, linkane liste i slično.
Kada uzmete knjigu, ona ima podatke (sadržaj knjige), ali u headeru ili footeru imate podatke kao što su naslov knjige, na kojem ste poglavlju, broj stranice, fusnote … ti podaci o podacima se nazivaju meta-podaci. Blockchain također ima sadržaj (npr. podaci o Bitcoin transakcijama), a u headeru meta-podatke o bloku u koji se spremaju podaci, referencu na prijašnji blok (blockchain je skup vezanih podataka/datoteka koji se “vežu” u blok i tako nastaje lanac informacija), hashirani otisak (fingerprint) i mnoge druge podatke.
U svaki blok podataka se može zapisati određeni broj podataka, odnosno transakcija. Kada se block popuni, kreira se novi blok i tako dalje. Samim time se tvori neprekinuti blok informacija, a svi su povezani međusobno i nemoguće je te blokove prekinuti. Oni su konzistentni, ali sada nećemo ulaziti skroz u tehničke detalje kako i zašto. Kao što knjiga ide stranicu po stranicu, tako u blockchain imate datoteku po datoteku koje su povezane.
Samim time što se podaci hashiraju, nije moguće retroaktivno izmijeniti podatke. Čak i da nekim čudom uspijete, morali biste istovremeno podatke izmijeniti na svim lokacijama gdje se ovi podaci čuvaju. Tehnički praktički nemoguće za napraviti. Isto tako, validatori bi vam takve radnje odbili i ne biste to niti mogli napraviti na jednom serveru.
Zato je ova tehnologija toliko dobra – kada se podatak jednom zapiše, on više nije izmjenjiv. Napravite transakciju i onda se zapisuje u blok podataka. Ako ste se i zeznuli (npr.) napraviti ćete novu transakciju s kojom ćete prethodnu poništiti. No, obje radnje će se zapisati u blockchain. Zato bi ova tehnologija recimo bila super za katastar, osim za bankarski/financijski sustav.
Blockchain pravila
Svaka blockchain mreža koja funkcionira na ovaj način, ima određena pravila. Kada su pravila zadovoljena, podatak je moguće zapisati. Ako se transakcija krši za pravilima ona će biti odbijena. No, pravila je moguće i mijenjati.
Nodovi koji su zaduženi za validaciju transakcija se mogu ažurirati i nadograditi novim pravilima i onda će se budući zapisi validirati po tim pravilima. Blockchain tehnologija je vrlo felksibilna i sigurna.
Svaki node ili čvor, zna pravila, dobiva podatke u realnom vremenu i svi znaju sve. Nema skrivanja podataka, mijenjanja istih, brisanja ili neke četvrte radnje. Sve ostaje zapisano u jednom od blokova podataka koji čine blockchain.
Nadamo se da ste shvatili nakon ovog teksta što je to blockchain i kako on otprilike funkcionira. Svaki blockchain može imate razne varijacije, ali u srži su isti, odnosno funkcioniraju na isti način.
Ako se bavite razvojem softvera, razmislite malo gdje bi se sve on mogao primjeniti. Mi smo sigurni da nema tog projekta u kojem se ova tehnologija ne može primjenti. Pitanje je samo koliko je isplativa.
Jedna od mogućih primjena je i logistika – ponekad praćenje pošiljke košta mnogo više od samog transporta. S ovom tehnologijom uštede bi mogle biti goleme. No, o tome nekom drugom prilikom.
Piše: B.P.