Uvod u Blockchain

Prvi u nizu tekstova u kojima istražujemo osnove blockchain tehnologije, u čemu leži njena inovativnost kao i koje su moguće oblasti primene.

Nikola Milinković - 30. Novembar, 2017.

Blockchain se u prethodnih godinu-dve pretvorio u još jedan internet buzzword. Termin koji jako mali broj ljudi razume, u poslednje vreme se sve češće može sresti ne samo u tech medijima već i u mejnstrimu.

Verovatno glavni razlog za to leži u vrtoglavom rastu vrednosti kriptovaluta, ali i rastu njihovog broja (trenutno ih ima preko 1000). Konceptualno, kriptovalute su negde između matematike, sociologije, ekonomije, prava i politike. Zato ne čudi zašto veliki broj ljudi (uključujući i IT stručnjake i programere) ne zna mnogo o ovoj temi.

Blockchain ipak daleko prevazilazi tehnologiju na kojoj su zasnovane kriptovalute. Zato ćemo tokom narednih nedelja objaviti seriju tekstova u kojima ćemo se detaljno i iz različitih uglova baviti ovom tehnologijom.

Šta je blockchain?

Razumevanjem problema koje blockchain rešava i glavnih koncepata na kojima se zasniva, postaje jasno zašto je ova tehnologija tako značajna. Osnovni koncepti su razvijeni u originalnom dokumentu Satoshi Nakamota iz 2008. pod naslovom Bitcoin: A Peer-to-Peer Electronic Cash System.

Svojim radom, Satoshi je postavio osnove Bitcoina. Kombinovanjem Peer-to-Peer (P2P) mreže i raspodeljenog servera koji obeležava transakcije vremenskim žigom, nastala je baza podataka koja je autonomna i podeljena među svim učesnicima mreže.

S obzirom na to da baza podataka nije sačuvana na jednom mestu odnosno serveru, ona je decentralizovana. Umesto da svako na svetu ima svoje posebne knjige i vodi zasebnu evidenciju transakcija, glavna knjiga je jedna, sadrži sve transakcije, javna je i u vlasništvu svih.

Kada neko pošalje Bitcoin sa jedne adrese na drugu, transakcija je vremenski obeležena i zabeležena kod svakog učesnika sistema. Niko ne može da prevari sistem i pošalje nešto što nema u svom vlasništvu jer:

Na ovaj način, Satoši je prvi dokazao da problem duple potrošnje (double spending problem) kod digitalnih dobara može biti rešen bez treće strane odnosno posrednika u kojeg obe strane imaju poverenja.

Digitalno dobro u tom slučaju funkcioniše poput fizičkog dobra — ne može biti na dva mesta u isto vreme. Dve osobe ili organizacije mogu da sasvim bezbedno, anonimno i bez znanja jedna o drugoj elektronski izvrše razmenu vrednosti (novac ili digitalno dobro) bez posrednika.

To je moguće jer je cela istorija svih transakcija koje su ikada obavljene unutar mreže sačuvana kod svakog učesnika mreže i mora da se podudara na svakom od uređaja na kojem je sačuvana. Takođe, određen broj učesnika mreže (čvorovi — nodes) mora da validira transakciju kada god se ona u okviru mreže dogodi, nakon čega je trajno kriptografski zaključana i nemoguće ju je promeniti.

Ako bismo želeli da izmenimo jednu transkaciju morali bismo to da uradimo na velikom broju uređaja, što postaje sve teže što je sama mreža veća.

Blokovi i rudarenje

Zamislimo sada da kao što svaka strana u knjizi ima određen prostor, postoji i određen prostor pre nego što moramo da okrenemo stranicu i počnemo da ispisujemo novu na blockchainu. Stranice knjige u slučaju blockchaina predstavljaju blokovi. Članovi mreže koji vode evidenciju transakcija u bloku ga verifikuju i zaključavaju. Za ovaj njihov rad mreža ih nagrađuje bitcoinom i taj proces nazivamo rudarenje (cryptocurrency mining).

Marko šalje Dušanu 100 dinara sa svog računa u banci. U današnjem finansijskom sistemu, banka je ta koja garantuje da je sa jednog računa obrisano, a da je drugom pristiglo 100 dinara. Istih 100 dinara ne sme biti na dva različita mesta. Marko i Dušan mogu da ne veruju jedan drugom, ali veruju banci kao posredniku.

Princip je isti kod vlasništva nad dobrima odnosno vođenja bilo kojih knjigovođstvenih transakcija. Problem je rešen posrednikom koji pruža garancije. Posrednik pružanje ove usluge naplaćuje, utiče na cene i odlučuje ko ima pristup. Kod Bitcoina taj problem je rešen matematičkim algoritmom na koji nije moguće uticati.

Problem vizantijskih generala

Onda kada raspodelimo glavnu knjigu koja sadrži sve transakacije nastaje još jedan problem koji je definisan u informatici i teoriji igara — alegorija po nazivom “Problem vizantijskih generala” (The Byzantine Generals Problem).

Određen broj ljudi koji održava mrežu može da odluči da promeni nešto u svoju korist. Na tom problemu su kriptografi i programeri radili tri decenije na teorijskom nivou. Istovremeno, ekonomisti možda i duže jer se on tiče dva veća problema u velikim sistemima: razmene informacija i podsticaja agenata u problemu principala i agenta.


Zamislimo veliku srednjevekonu vojsku koja je opkolila grad, sa mnogo divizija i generala na čelu tih divizija. Oni moraju da postignu konsenzus kada da izvedu koordinisani napad na grad. Nijedan od generala ne može da vidi ostale, niti nekog glavnog generala. Mogu da komuniciraju samo preko glasnika, što nas dovodi do problema razmene informacija.

Istovremeno, nismo sigurni da su svi generali lojalni vojsci. Neki od generala su izdajnici koji su potplaćeni od neprijateljske strane i ne žele da se konsenzus između lojalnih postigne. Lojalni generali žele da napadnu grad, ali potrebna im je istovremena većina. Dakle, potreban je način da svi lojalni generali odluče na isti način o napadu, a da manji broj izdajica ne natera lojalne da uvaže loš plan.

Lojalni generali će postupiti kako se očekuje u skladu sa algoritomom, dok će izdajnici postupiti kako god oni žele. Problem vizantijskih generala prikazuje izazov postizanja konsenzusa u raspodeljenim, decentralizovanim sistemima u kojima: a) ne postoji dobar protok informacija i b) postoje protivnici sistema.

Pretpostavimo sada da su generali iz alegorije učesnici raspodeljene mreže koja je bazirana na blockchainu.

Glasnici su način komunikacije kojim raspolažu u okviru mreže. Cilj većine odnosno lojalnih generala jeste da odluče da li da se neka informacija unosi u raspodeljenu bazu podataka odnosno da li je tačna ili ne. Lojalni generali su učesnici sistema koji žele da mreža funkcioniše prihvatanjem samo tačnih informacija. Izdajnici su bilo koji učesnici koji žele da falsifikuju informacije ili unesu netačne infromacije u bazu podataka.

Bitcoin predstavlja rešenje ovog problema jer daje podsticaj i nagrađuje dobro ponašanje i čini veoma skupim potez da se principal (mreža) napadne za šta su uzgred nagrade male.

Algoritam onda mora da garantuje da bez obzira na to šta izdajnici urade, lojalni generali neće samo postići konsenzus, nego će se složiti oko najboljeg rešenja u interesu većine. Bitcoin je stoga visoko Byzantine Fault Tolerant sistem.

Posledica ovoga je da blockchain sistemi omogućavaju razmenu bilo kog digitalnog dobra od strane jednog korisnika na internetu do drugog na siguran i bezbedan način, jer omogućavaju decentralizovani konsenzus. To može biti digitalni novac, ugovor, dokaz o vlasništvu nad fizičkim dobrima, hartije od vrednosti…

Istovremeno, ovi sistemi mogu da predstavljaju registar jedinstvenih i trajnih podataka, kao što su na primer identiteti. Ova dobra i funkcije predstavljaju osnovne strukture svih ekonomskih, pravnih i političkih sistema i definišu odnose između individua, zajednica, organizacija i nacija.

Glavna inovacija blockchaina

Blockchain nesumnjivo jeste transformativna tehnologija 21. veka koja će redefinisati razne aspekte organizacije društva. Nije onda čudno zašto njegovu primenu trenutno ne istražuju samo banke ili tehnološke kompanije, već čitave industrije i vlade raznih zemalja.

Razlog je to što pored navedenih osnovnih funkcija blokchain ima mogućnost izvršavanja programa što nas dovodi do njegove primene i potencijalne biznis logike. Blockchain nudi rešenja koja daleko prevazilaze osnovnu logiku i primenu Bitcoina – transakcije. U daljem tekstu ćemo istražiti te mogućnosti.

Suština blockchain mreže je u raspodeljenoj odnosno distribuiranoj knjizi u kojoj se nalazi evidencija svih transakcija koje su se desile unutar mreže.

Glavna ideja blockchaina je decentralizacija. Ipak blockchain može biti javni i privatni.

Privatni su donekle kontraintuitivni jer je glavna svrha ove tehnologije raspodela moći u sistemu. Koji god da je sistem dokazivanja na delu, nijedna grupa ne može da ima kontrolu niti da menja pravila arbitrarno. Na taj način decentralizovane kriptovalute i aplikacije imaju razvijen checks and balances sistem protiv bilo kog delovanja suprotnog sistemu. To nije ništa drugo do novi način održavanja dogovora, sa velikom razlikom da te dogovore ne garantuje nijedan centralni autoritet.

Možemo reći da ukoliko nekoliko različitih banaka napravi blockchain, to zapravo nije blockchain, već baza. Samo ukoliko banke, regulatori, akcionari i mušterije banke imaju pristup blockchainu i učestvuju istovremeno, suprotstavljajući moć jedni drugima, to predstavlja blockchain. Sistem provere i ravnoteže je suština ove tehnologije. Zato pravi blockchain sistem mora da bude open-source, neisključiv (permissionless) i decentralizovan.

Blockchain vs. klasična baza podataka

Ukoliko je blockchain ovako opisan zašto bi se neka organizacija odlučila da ga razvija nasuprot uobičajenoj bazi podataka?

Blockchain je privlačno rešenje ukoliko postoji namera ili potreba da baza podataka bude decentralizovana. Kompanija ili organizacija možda želi da postigne veću bezbednost i sigurnost podataka.

Trenutne baze podataka u poslovnim mrežama su: neefikasne (svaki član vodi posebnu evidenciju — preklapanja), skupe (centralne baze nisu cost-efficient) i podložne napadu (moguće ih je hakovati ili unositi lažne podatke).

Primenom blockchaina sistem postaje robusniji i nema single-point of failure. Raspodeljena mreža ne može biti hakovana, manipulisana ili podložna napadu kao što tradicionalne baze podataka jesu.

Centralizovane baze podataka imaju definisan korisnički pristup sistemu. Određena individua, organizacija, kompjuter ili operativna jedinica direktno upravlja sistemom.

U slučaju blockchaina, nepoznate ili nepoverljive strane učestvuju u upravljanju. Samim tim poverenje predstavlja najvažnije pitanje u ovakvom sistemu. Ako ne znamo strane koje učestvuju u mreži, kako da verujemo njihovim odlukama ili postupcima?

Kako se postiže poverenje u okviru blockchaina, šta je konsenzus i koje su njegove osnovne metode biće tema narednog teksta. Istovremeno ćemo se potruditi da bliže objasnimo šta je Ethereum, zašto je važan i koje su mu osnovne prednosti.


Nikola Milinković je blockchain i kriptoentuzijasta, a radi u domaćoj blockchain kompaniji GameCredits.

Rubrika Blockchain je pod pokroviteljstvom Game Creditsa →