Blockchain

**Blockchain** ili „ulančani blokovi” su baza podataka koja se ne nalazi na jednom mestu, već je čine manje baze (blokovi) koje su međusobno digitalno povezani, a koji sadrže informacije o digitalnim transakcijama bilo koje vrste: od vlasničkih listova, preko podataka iz knjige rođenih, do ugovora kojima se regulišu autorska prava. Prilikom njihove razmene nema nikakvog regulatora osim same mreže koja sadrži informacije o svim transakcijama koje su ikada izvedene. Blockchain ima oblik niza binarnih bitova, jedinica i nula koje računari mogu da obrađuju i pojednostavljuju tako da ih ljudi mogu čitati.

Dakle, za razliku od klasične online baze podataka, blockchain tehnologija omogućava komunikaciju sa nekoliko računara (servera) između kojih se transakcija obavlja.

## Historija
Blockchain i kriptovalute su usko povezani. Prvi blockchain je kreirao čovek pod imenom Satoši Nakamoto, ali je njegov pravi identitet ostao misterija, te se i dan danas ne zna da li je u pitanju bio pojedinac ili organizacija. U svakom slučaju, te 2009. godine osnovan je bitkoin, prva kriptovaluta. Kriptovalute kao način za zaradu su danas jako popularne širom sveta.

Kriptovaluta je u osnovi valuta koju ne izdaje i ne kontroliše centralna banka, kao što je to, na primer, slučaj sa US dolarima ili srpskim dinarima, već ona koristi šifrovani, matematički model blockchaina, putem koga se prate vrednosne razmene i pravo vlasništva nad kriptovalutama. Od osnivanja bitkoina, pa sve do danas pojavio se ogroman broj kriptovaluta koje funkcionišu na potpuno istom, decentralizovanom principu blockchaina. Blockchain je ustvari nastao sa infrastrukturnom namenom, kao mesto za skladištenje, čuvanje i razmenu bitkoina.

Osnovni koncepti blockchaina su razvijeni u originalnom dokumentu Satoshi Nakamota iz 2008. godine pod naslovom Bitcoin: A Peer-to-Peer Electronic Cash System. 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 bitkoin 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:

* Ne bi bio sihronizovan sa ostalim učesnicima sistema i evidencijom transakcija;
* Pravila su definisana na početku i implementirana su 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 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.

## Korišćenje blockchaina
Kada se razmena izvrši, ona se sa drugim podacima i informacijama koje se prenose (a koje su obavljene u poslednjih 10 minuta) kriptografski povezuje sa blokom. Tada na scenu stupa proces "izvlačenja ruda" mining koji se obavlja pomoću računara velike snage – izvlačeći postojeću "rudu" i stvarajući nove blokove. Ovo je ujedno i način na koji se generišu novi bitkoini (izvlačenjem bitkoin blockchaina dobija se BTC kao valuta).

Funkcionisanje svake blockchain mreže (bila ona namenjena samo određenom broju ljudi ili svima) regulisano je tačno određenom procedurom. Pošto su blokovi neraskidivo povezani zahvaljujući kodu (svaki od njih ima svoji svoj unikatni ID koji se naziva Hash Hash pomoću koga možemo pronaći prethodni blok iz niza), bilo koja promena podataka o obavljenim transakcijama, uključujući njihovo brisanje, dodavanje i bilo koji drugi vid falsifikovanja, nije moguća.

Bankovni računi, tajne državne informacije i drugi centralizovani podaci lako mogu biti hakovani. Međutim, ukoliko neko želi da pokuša nešto slično sa blockchainom morao bi da hakuje čitav lanac blokova, što je faktički nemoguće. Stoga, ukoliko se ovakav način skladištenja podataka u budućnosti nađe u širokoj primeni, funkcionisanje sistema se više neće bazirati na poverenju u nekorumpiranost administrativnih i bankarskih službenika, tj. neće zavisiti od faktora ljudske greške, već će zavisiti od blockchain lanca. A blockchain nikada ne greši.

Upravo je nepotkupljivost sistema koja se bazira na nepromenljivosti informacija ono što blockchain čini pogodnim i za mnoge druge sfere, pored finansijske. Tako se sa ekskluzivne primene blockchaina na bitkoinu prešlo i na primenu na druge digitalne valute (poput Ethereuma), a odatle na potencijalnu ulogu u ekonomiji, administraciji, zdravstvu, glasanju putem Interneta i slično.

## Struktura blockchaina
Odgovor na ovo pitanje se krije u samom nazivu – blockchain je kompjuterski fajl koji se sastoji od blokova podataka koji su međusobno povezani. Svaki blok - koji može biti bilo koje veličine u zavisnosti od vrste blockchaina, sadrži link (vezu) sa prethodnim blokom i na taj način se formira lanac – eng. chain.

Takođe, svaki blok sadrži vremensku oznaku za obeležavanje kada je ta informacija u bloku editovana. I na kraju, strukturu blockchaina čine sami podaci koji su ispisani u njemu i koji se snimaju. Ti podaci bi mogli da predstavljaju "vrednost" bloka, ako govorimo o bitkoinu ili drugim kriptovalutama ili mogu da budu u pitanju transakcioni podaci vezani za razmenu robe ili usluga između stranaka, kao i vlasnička prava kada se lanac koristi kao zapis o tome ko je vlasnik nečega.

## Blokovi i rudarenje
Zamislimo 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 na primeru 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 bitkoinom i taj proces nazivamo rudarenje (cryptocurrency mining).

* *Primer: 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 bitkoina je taj problem rešen matematičkim algoritmom na koji nije moguće uticati.*

## Blockchain vs. klasična baza 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, te često dolazi do 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.

## Vrste blockchainova
Trenutno postoji najmanje četiri vrste blockchainova: javni, privatni i hibridni tip blockchaina:

* Javni blockchainovi nemaju apsolutno nikakva ograničenja pristupa. Svako ko ima internet vezu može da šalje transakcije, kao i da postane validator. Obično, takve mreže nude ekonomske podsticaje za one koji ih obezbede i koriste neku vrstu dokaza o ulogu ili dokaza o radnog algoritma. Neki od najvećih, najpoznatijih blockchainova su bitkoin blockchain i Etherum blockchain.  
* Privatnim blockchainovima se ne može pristupiti osim ukoliko potenijalnog člana ne pozovu mrežni administratori. Pristup učesnika i validatora je ograničen. Ova vrsta blockchainova može se smatrati sredinom za kompanije koje su zainteresovane za tehnologiju blockchaina uopšte, ali se ne slažu sa nivoom kontrole koji nude javne mreže. Tipično, oni nastoje da uključe blockchain u svoje procedure računovodstva i vođenja evidencije bez žrtvovanja autonomije i rizika izloženosti osetljivih podataka javnom internetu.
* Hibridni blockchain je kombinacija različitih karakteristika, kako javnih tako i privatnih blockchainova. Omogućava da se izabere koje informacije će ostati privatne, a koje će se objaviti. Dalja decentralizacija u odnosu na primarno centralizovane privatne blokove može se postići na različite načine. Umesto da se transakcije čuvaju u sopstvenoj mreži pokretanja zajednice ili privatnih čvorova, hash (sa ili bez korisnog opterećenja) može da se postavi na potpuno decentralizovane blockchainove kao što je bitkoin. U zavisnosti od hibridne blockchainove arhitekture, multicloud rešenja omogućavaju skladištenje podataka u skladu sa Opštim pravilima o zaštiti podataka i drugim geografskim ograničenjima, a istovremeno koriste globalnu snagu bitkoina za decentralizaciju transakcija.

## Reference