Uvod u Blockchain

Dodajte komentar

Blockchain se u prethodnih godinu-dvije pretvorio u još jedan internet buzzword. Termin koji jako mali broj ljudi razumije, u posljednje vrijeme se sve češće može sresti ne samo u tech medijimaveć i u mejnstrimu.

Vjerovatno glavni razlog za to leži u vrtoglavom rastu vrijednosti 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 nedjelja objaviti seriju tekstova u kojima ćemo se detaljno i iz različitih uglova baviti ovom tehnologijom.

Šta je blockchain?

Razumijevanjem problema koje blockchain rješ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 raspodijeljenog servera koji obilježava transakcije vremenskim žigom, nastala je baza podataka koja je autonomna i podijeljena među svim učesnicima mreže.

S obzirom na to da baza podataka nije sačuvana na jednom mjestu odnosno serveru, ona je decentralizovana. Umjesto da svako na svijetu 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 zabiljež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:

  • Ne bi bio sihronizovan sa ostalim učesnicima sistema i evidencijom transakcija
  • Pravila su definisana na početku i implementirana kroz programski kod

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 povjerenja.

Digitalno dobro u tom slučaju funkcioniše poput fizičkog dobra — ne može biti na dva mjesta u isto vrijeme. Dvije osobe ili organizacije mogu da sasvim bezbjedno, anonimno i bez znanja jedna o drugoj elektronski izvrše razmjenu vrijednosti (novac ili digitalno dobro) bez posrednika.

To je moguće jer je cijela 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 — nodesmora da validira transakciju kada god se ona u okviru mreže dogodi, nakon čega je trajno kriptografski zaključana i nemoguće ju je promijeniti.

Ako bismo željeli da izmijenimo 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 prije 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 eura 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 eura. Istih 100 eura ne smije biti na dva različita mjesta. Marko i Dušan mogu da ne vjeruju jedan drugom, ali vjeruju banci kao posredniku.

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

Problem vizantijskih generala

Onda kada raspodijelimo 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 promijeni 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: razmjene informacija i podsticaja agenata u problemu principala i agenta.

Zamislimo veliku srednjevjekonu 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 razmjene 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 raspodijeljenim, 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 raspodijeljenu 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 rješ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 rješenja u interesu većine. Bitcoin je stoga visoko Byzantine Fault Tolerant sistem.

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

Istovremeno, ovi sistemi mogu da predstavljaju registar jedinstvenih i trajnih podataka, kao što su na primjer 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. vijeka koja će redefinisati razne aspekte organizacije društva. Nije onda čudno zašto njegovu primjenu 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 primjene i potencijalne biznis logike. Blockchain nudi rješenja koja daleko prevazilaze osnovnu logiku i primjenu 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 djelu, 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 djelovanja 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 provjere 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 rješenje ukoliko postoji namjera ili potreba da baza podataka bude decentralizovana. Kompanija ili organizacija možda želi da postigne veću bezbjednost i sigurnost podataka.

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

Primjenom blockchaina sistem postaje robusniji i nema single-point of failureRaspodijeljena 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 nepovjerljive strane učestvuju u upravljanju. Samim tim povjerenje predstavlja najvažnije pitanje u ovakvom sistemu. Ako ne znamo strane koje učestvuju u mreži, kako da vjerujemo njihovim odlukama ili postupcima?

Kako se postiže povjerenje 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.

Izvor: Startit

Podijeli ovaj članak
Ostavite komentar

Komentariši

Vaša email adresa neće biti objavljivana. Neophodna polja su označena sa *