You are on page 1of 8

Razvoj Softvera 2 0(0):18 DOI: N/A

Kriptovalute

Uro Jovanovic 1047/2013

Matematicki fakultet
Studentski trg 16, 11000 Beograd
mi10062@matf.bg.ac.rs

Saetak Ovim radom bice opisani osnovni pojmovi i koncepti kriptovaluta. O ekonom-
skom aspektu kriptovaluta bice neto vie reci u zavrnom delu dok c e generalno
veci deo panje biti posvecen kriptovalutama u kontekstu informacionih tehnologija.
Kljucne reci: kriptovalute, kriptografija, digitalni novac, biktoin

1. Uvod
Kriptovalute (eng."cryptocurrency") su specijalan oblik digitalne, odnosno virtualne va-
lute. Iako kriptovalute formalno jesu sredstvo razmene, za razliku od "realnih" valuta jo
uvek nisu strogo regulisane zakonom u vecini drava a u pojedinim su i zabranjene. Zacet-
nik, a ujedno i glavni predstavnik kriptovaluta, jeste Bitkoin (eng."Bitcoin"). Sam termin
Bitkoin oznacava istoimenu organizaciju, softver i protokol dok se terminom bitkoin oz-
nacava jedinica mere (skraceno BTC). Principi i algoritmi na kojima su zasnovane sve
ostale kriptovalute generalno poticu od Bitkoina, te c e on biti glavna tema daljeg izla-
ganja.

2. Istorija Bitkoina
2.1. Inicijalni razvoj
Bitkoin, kao koncept, se prvi put spominje 2008. godine u c lanku "Bitcoin: A Peer-
to-Peer Electronic Cash System"[1] izdatom od strane autora (ili organizacije) poznatog
jedino pod pseudonimom "Satoshi Nakamoto". Pocetkom 2009. godine ista organizacija
pokrece projekat otvorenog koda pod nazivom Bitcoin-Qt i prvi bitkoini se putaju u
promet. Prvih godina postojanja bitkoin nije imao skoro nikakvu vrednost a aktivnosti
su bile jako slabe i uglavnom su se svodile na razmene bitkoina izmedju kriptografskih
entuzijasta.1

2.2. Uspon Bitkoin mree


Sredinom 2011. godine Bitkoin dobija na popularnosti i dolazi do prvog masivnog skoka
vrednosti (1BTC = 32$) ubrzo ispracenog prvim masivnim padom. U narednom periodu
vrednost stabilno raste da bi tokom kiparske finansijske krize (2012-2013) dostigla maksi-
mum od c ak 266$. Broj korisnika kao i broj transakcija pocinje naglo da raste, otvaraju se
prve onlajn menjacnice kriptovaluta, dok pojedine trgovinske radnje pocinju da prihvataju
bitkoine kao validno sredstvo placanja.
1
Korisnik Bitkoin mree "laszlo" se vodi kao osoba koja je napravila prvu Bitkoin transakciju.
Kupio je 2 pice za 10.000 bitkoina u vrednosti od 25$ (22. maj 2010.)
2 Uro Jovanovic 1047/2013

2.3. Globalno prihvatanje Bitkoina


Oktobra 2013. godine kineski internet gigant "Baidu" pocinje da prihvata bitkoine za
svoje usluge bezbednosnih servisa. Ubrzo se otvara i prva BTC menjacnica u Kini "BTC
China" koja nadjacava do tada najpopularniju menjacnicu "Mt.Gox"(Japan) i evropski
"Bitstamp". U Kanadi se istog meseca postavlja prvi bitkoin bankomat. Polovinom novem-
bra 2013. USS (United States Senate) priznaje kriptovalute kao legitimno finansijsko sred-
stvo. Istog dana vrednost bitkoina skace na rekordnih 1100$. No, ovaj skok nije uspeo
dugo da se odri, kako je vec pocetkom decembra 2013. Narodna banka Kine zabranila
svim finanskijskim institucijama upotrebu bitkoina. Iskljucenjem Kine vrednost bitkoina
se skoro prepolovila.

2.4. Zatvaranje menjacnice "Mt.Gox"


Pocetkom februara 2014. godine, jedna od najvecih Bitkoin menjacnica je suspendovana
zbog navodnih tehnickih problema. Par nedelja kasnije "Mt.Gox" prijavljuje da je izgubljeno
oko 850.000 bitkoina (473.000.000$ u to vreme), najverovatnije zlonamernim upadom
hakera. Ogorceni ovom vecu, korisnici menjacnice podiu tubu protiv "Mt.Gox" pod
sumnjom da je cela stvar iscenirana. Krajem februara 2014. godine, "Mt.Gox" proglaava
bankrot i zatvara se. Zatvaranje ove menjacnice se negativno odrazilo na vrednost bitkoina
koji za svega par nedelja pada sa 800$ na 400$.

Slika 1. Vrednost bitkoina od marta 2012. do pada "Mt.Gox" februara 2014.

Trenutno, vrednost bitkoina je delimicno stabilizovana na oko 550$ a procenjuje se da


je u opticaju preko 12 miliona bitkoina u mrei. Kako se konkretno generiu novi bitkoini
i detalji koji stoje iza celokupnog sistema bice opisani u sledecem odeljku.
Kriptovalute 3

3. Osnovni koncepti i algoritmi

Bitkoin je koncipiran kao transparentan, decentralizovan (peer-to-peer), elektronski sis-


tem transakcija koji se ne oslanja na poverenje vec na sloene kriptografske algoritme.
Za razliku od tradicionalnih sistema, ovde ne postoji centralna banka koja izdaje novac
ili obraduje
i c uva transakcije, niti postoji jedinstveni vlasnik Bitkoin mree kao celine.
Kako je onda moguca bilo kakva sigurna razmena u ovakvom sistemu?

3.1. Transakcije

Recimo da korisnik Alice eli da poalje korisniku Bob 5BTC. Informacija o ovoj transak-
ciji se automatski emituje svim korisnicima na mrei tj. svaki korisnik ima na uvid svoje
i transakcije svih ostalih korisnika Bitkoina to je jo jedna kljucna razlika u odnosu na
centralizovan sistem. Prvo pitanje koje se namece je kako drugi korisnici znaju da je in-
formacija o pokrenutoj transakciji validna?
Svaka transakcija sadri digitalni potpis korisnika koji ju je zapoceo. Digitalni potpis
se, bez ulaenja u detalje algoritma, generie iz kombinacije same transakcione poruke i
privatnog kljuca korisnika. Lako se zakljucuje da je potpis drugaciji u svakoj poruci to
prakticno c ini falsifikovanje neizvodivim bez originalnog privatnog kljuca. Svaki koris-
nik ujedno poseduje i javni kljuc koji je u nekakvoj matematickoj relaciji sa privatnim.
Triplet (poruka, potpis, javni kljuc) se koristi kao ulaz odredene
matematicke funkcije
koja odreduje
da li je data kombinacija moguca ili ne. Na ovaj nacin ostali c vorovi u
mrei mogu da provere validnost transakcije bez informacije o privatnom kljucu.

Slika 2. Ilustracija procesa generisanja i provere validnosti potpisa

Konkretno, Bitkoin koristi ECDSA (eng."Eliptic Curve Digital Signature Algorithm")[2]


za generisanje digitalnih potpisa. Kao ulaz se zapravo ne koristi sama transakciona poruka
vec he poruke. Za heiranje se u vecini slucajeva koristi SHA-256 dok se algoritam
RIPEMD-160 koristi kada su krace he sekvence poeljnije. Na primer, adresa na koju ko-
risnik prima i sa koje alje bitkoine je zapravo generisana od dvostruko heiranog (SHA-
256, potom RIPEMD-160 kako bi se dobio kraci zapis) javnog kljuca korisnika.
4 Uro Jovanovic 1047/2013

Primer Bitkoin adrese: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy

3.2. Bitkoin novcanik


Kriptovalute se c uvaju u digitalnim novcanicima. Digitalni novcanik predstavlja softver
koji sadri kolekciju privatnih i javnih kljuceva vlasnika. Jedan korisnik moe generisati
proizvoljan broj Bitkoin adresa odnosno parova privatni-javni kljuc. Verovatnoca gener-
isanja iste Bitkoin adrese je zanemarljivo mala2 , te se nikakve provere ne vre, to znaci
da se ceo proces moe odviti bez konektovanja na mreu (offline), to je ujedno i najsig-
urniji nacin. Balans bitkoina korisnika se ne c uva ekplicitno u formi finalne vrednosti,
vec je potrebno proci kroz ceo niz svih potvrdenih
transakcija (u celoj mrei) i sabrati
vrednosti nepotroenih bitkoina koji referiu ka javnim kljucevima korisnika. Bitkoini
se zapravo ne alju (u strogo formalnom kontekstu), vec se samo menja vlasnitvo nad
njima. Gubitkom informacija o privatnom i javnom kljucu, korisnik gubi referencu ka
svojim bitkoinima i oni ostaju nepovratno izgubljeni. S toga je vano praviti redovne
bezbednosne kopije novcanika a isti se moe i dodatno kriptovati radi veceg stepena za-
tite. Iako same datoteke koje c uvaju podatke o kljucevima nisu velike, Bitkoin novcanik
moe zauzeti znacajan prostor, jer konstantna sinhronizacija sa mreom podrazumeva c u-
vanje podataka o svim ikada izvrenim transakcijama. Alternativa lokalnom su veb bazi-
rani novcanici, koji ne zahtevaju c uvanje lokalne kopije transakcije, no, intuitivno, stepen
bezbednosti je znatno nii. Bitkoini se takode mogu c uvati i u fizickim oblicima poput
kovanica i papira sa QR kodovima, no ovakvi nacini c uvanja i distribucije su slabo zastu-
pljeni.

3.3. Ulancani blokovi


Vec smo spomenuli da se informacija o transakcijama iri (kopira) do svakog c vora u
mrei. Kako se u svakom momentu zapocne veliki broj transakcija, one mogu stizati u ra-
zlicitom poretku do individualnog c vora u zavisnosti od vremena propagacije kroz mreu.
Ovo otvara mogucnosti raznoraznih prevara, te je potreban adekvatan nacin sinhronizacije
redosleda transakcija izmedu svih c vorova. Naivno reenje bi bilo proslediti informaciju
o vremenu zapocete transakcije, no taj podatak se vrlo lako moe lairati od strane inici-
jatora transakcije a i kolizije u toj soluciji su svakako i dalje moguce.
Bitkoin sistem c uva istoriju transakcija u tzv. ulancanim blokovima (eng."block chain")
gde svaki blok sadri referencu ka prethodnom, sve do prvog generisanog bloka transak-
cija. Za sve transakcije unutar jednog bloka se smatra da su se dogodile u isto vreme.
Tako da, kada grupa nepotvrdenih transakcija stigne u isto vreme do jednog c vora, bice
smetene u jedan novi blok i c vor c e emitovati svoj predlog za novi blok ostalim c vorovima.
Medutim,
kako redosled transakcija varira od c vora do c vora, razliciti c vorovi c e imati ra-
zlicite predloge za novi blok istovremeno - koji blok izabrati kao zvanicni novi blok?
Reenje ovog problema je od fundamentalnog znacaja kako za Bitkoin tako i za sve ostale
kriptovalute.
Osnovna zamisao reenja je da svaki blok sadri odgovor na posebno kriptografsko
pitanje. Sadraj potencijalno novog bloka se, zajedno sa nasumicno generisanim brojem,
2
Broj mogucih Bitkoin adresa je 2160 . Kada bi svako zrno peska na Zemlji predstavljalo jo jednu
Zemlju, ukupan broj zrna peska bi bio manji od navedenog broja mogucih adresa.
Kriptovalute 5

heira SHA-256 algoritmom. Ostali c vorovi potom kolektivno nagadaju taj nasumicno
generisani broj pokuavajuci da dobiju he vrednost koja je ispod neke ciljne vrednosti.
c vor koji je pogodio kombinaciju se progrlaava "nalazacem"
Kada se takav broj nade,
novog bloka i njegov predlog se dodaje u Bitkoin lanac blokova. Ovakav mehanizam
nasumicnosti omogucava normalnu raspodelu verovatnoce pronalaska novog bloka u za-
visnosti od vremena. Bitkoin mrea u proseku pronade (rei) jedan blok na svakih 10
minuta.

Slika 3. Raspodela verovatnoce pronalaska novog bloka.

3.4. Rudarenje bitkoina

Jednom kucnom racunaru bi bile potrebne godine da pogodi kombinaciju i rei jedan
blok. Medutim,
u Bitkoin mrei svaki c vor zapravo predstavlja jedan ili vie racunara
koji rade u simultanoj igri nagadanja
poznatijoj kao "rudarenje" bitkoina (eng. bitcoin
mining). Nalazac novog bloka biva nagraden sa 50BTC to je ujedno jedini izvor novih
bitkoina, kao i motivacija za korisnike da aktivno ucestvuju u procesu obrade transakcija.
Tokom 2011. izracunato je da je faktor srece reavanja novog bloka od strane individ-
ualnog korisnika prevelik, te su u tu svrhu korisnici grupisani u tzv. "zajednice rudara"
(eng."mining pools"). Na ovaj nacin vie korisnika kao celina reava jedan blok. Po
pronalasku bloka, nagrada se deli i distribuira ucesnicima u odnosu na doprinos. Moguca
je i naplata takse (uglavnom do 1%) od strane organizatora zajednice. Generalno, postoji
tri nacina raspodele nagrade:

- Proporcionalno Nagrada se proporcionalno deli ucesnicima po doprinosu.


- PPS (eng."pay-per-share") Svaki udeo u obradi se automatski nagraduje
(po oceki-
vanoj vrednosti tog udela)
- Varijacije . . .
6 Uro Jovanovic 1047/2013

"Alati" za rudarenje bitkoina su specijalizovani programi koji upoljavaju hardver


racunara u svrhe reavanja blokova. Neki od poznatijih su CGMiner, Phoenix,MultiMiner,BFGMiner
itd. Brzina obrade se izraava u heevima po sekundi (h/s), mada se c ece koriste gabarit-
nije mere poput Mh/s ili Gh/s. Moguce je uposliti CPU ili GPU pa c ak i oba istovremeno,
no graficke karte su u praksi pokazale bolje rezultate.

Pojavom ASIC (eng."Application Specific Integrated Circuit") specijalizovanog hard-


vera za rudarenje, regularni racunari i komponente su potpuno potisnuti iz Bitkoin trke.
Primera radi, graficka karta visokih performansi moe ostvariti do 1Gh/s dok pojedini
ASIC hardveri idu i preko 1000Gh/s, pritom troeci manje struje nego GPU. Sa druge
strane, GPU rudarenje je i dalje aktivno za neke alternativne kriptovalute (poput La-
jtkoina) o kojima c e biti neto vie reci u nastavku.

Spomenuli smo vec da je prosecno vreme reavanja bitkoin bloka 10 minuta tj. na
svakih 10 minuta se novih 50BTC generie u mrei. Prosecno vreme, a samim tim i priliv
novih bitkoina, moraju ostati stabilni, to predstavlja izazov naglim skokom popularnosti
i procesorske moci korisnika. Da bi se izborio sa ovim problemom, Bitkoin uvodi po-
jam teine rudarenja (eng. "mining difficulty"). Na svakih 2016 blokova teina se menja
u skladu sa stanjem u mrei. Moguce je i da se teina smanji ukoliko je to potrebno.
Teina rudarenja direktno utice na prethodno pomenutu ciljnu he vrednost pri nagadanju

nasumicnog broja.

Slika 4. Priliv bitkoina(plavo),teina obrade(crveno),brzina obrade(zeleno)


Kriptovalute 7

Jo jedna kljucna stvar Bitkoin algoritma je da postoji gornja granica za broj gener-
isanih bitkoina. Cifra od 50BTC kao nagrada za pronalaenje nije konstantna i vec od
2014. godine se prepolovila na 25 a na svake 4 godine (ili 210.000 blokova) c e nastaviti
da se polovi. Algoritam garantuje da nikada nece postojati vie od 21 milion bitkoina u
opticaju.[3]

3.5. Pouzdanost Bitkoin mree

Jedan od osnovnih problema koji se namece kod svih oblika digitalnih valuta jeste pre-
vara dvostrukog utroka (eng."double spending fraud") koja podrazumeva troenje jednog
digitalnog etona (tokena) dva puta. Bitkoin efektivno prevazilazi ovaj problem prethodno
objanjenim sistemom ulancanih blokova transakcija. Svaka transakcija koja referie na
vec "potroena" sredstva se odbacuje od strane mree kao nevalidna. Kako je spisak
transakcija javno dostupan, postavlja se pitanje da li je moguce fabrikovati informaciju
o nekom bloku? Primera radi, osoba A eli da upie podatak u mreu da je primila
100.000BTC. Da bi osoba A imala bar 50% ansi za ovakav poduhvat, mora da nadjaca
50% procesorske snage celokupne mree, to je prakticno neisplativo zbog cene koju bi
osoba A morala da plati u vidu potrebnog hardvera. Uprkos svim merama predostronosti
u algoritmu, greke su svakako moguce. Tome nabolje svedoci nemili dogadaj marta 2013.
kada se lanac blokova razdvojio na 2 dela te je, u periodu od 6 sati, pola mree obradivalo

jedan, a pola drugi lanac.[4]

4. Alternativne kriptovalute

Kako je Bitkoin projekat otvorenog koda, postoje razne alternative ovoj kriptovaluti,
grupno imenovane altkoini (eng."altcoins"). U sutni su u pitanju varijacije samog Bitkoin
algoritma poput razlicitog prosecnog vremena pronalaska novog bloka, gornje granice
generisanja, kao i korienja drugih he algoritama. Jedan od najpopularnijih altkoina jeste
Lajtkoin (eng."Litecoin"). Tehnicki gledano identican Bitkoinu, Lajtkoin donosi par bit-
nih razlika:

Novi blokovi se nalaze na svakih 2.5 minuta


Gornja granica generisanih lajtkoina je 84 miliona
Lajtkoin koristi scrypt[5] algoritam pri obradi blokova

Scrypt algoritam spada u tzv. memorijski teke (eng."memory-hard") algoritme te je,


za razliku od SHA256, znatno tee i skuplje napraviti ASIC hardver za obradu scrypt
enkriptovanih blokova. Iz tog razloga se Lajtkoini i dalje preteno rudare grafickim kar-
tama (GPU) 3 medutim,
izvesno je da c e ASIC preuzeti vodstvo
u nekom momentu. Pored
Lajtkoina popularne alternative su i FeatherCoin, Namecoin, Dogecoin itd.

3
Tokom naglog skoka vrednosti kriptovaluta u novembru 2013. dolo je do velike nestaice AMD
grafickih karti visokih performansi.
8 Uro Jovanovic 1047/2013

5. Ekonomski aspekt kriptovaluta


Po formalnoj definiciji novac je sredstvo razmene, c uvar vrednosti i jedinica obracuna.
Kriptovalute ispunjavaju samo prvu funkciju, s toga se ne mogu smatrati, u strogo for-
malnom kontekstu, pravim novcem. Uprkos tome, novembra 2013. je registrovano oko
1000 fizickih i c ak 35000 internet radnji koje su prihvatale bitkoin kao sredstvo placanja.
Funkciju c uvara vrednosti u najvecoj meri ogranicava velika oscilacija vrednosti i strucn-
jaci upozoravaju da je rizicno kupovati i c uvati kriptovalute. Mnogi ekonomisti nazivaju
Bitkoin "spekulativnim mehurom" kao neto trenutno popularno i c ije je "pucanje" ne-
minovno, dok drugi navode da je nagli skok vrednosti ove valute normalan ekonom-
ski razvoj. Do neslaganja u jo vecoj meri dolazi pri pokuajima predvidanja vrednosti
bitkoina gde se prognoze krecu od 10$/BTC do c ak 40000$/BTC u skorijoj buducnosti.
Veliki problem koji kriptovalute namecu je porast sajberkriminala. Bitkoini se ko-
risti za pranje novca, kao i za kupovinu droge, oruja i trgovinu ljudima na crnim tri-
tima Interneta. Bezbednosne agencije irom sveta prate ulancane blokove u cilju detekcije
ovakvih transakcija.

6. Zakljucak
Kriptovalute, kao nov koncept, su i dalje u procesu razumevanja i prihvatanja od strane
potroaca, trgovaca i finansijskih institucija. Sa razvojem Bitkoina i njegovih derivata,
kao i generalnim porastom interesovanja za upotrebu istih, izvesno je da c e problemi
i rizici koji se trenutno namecu biti eliminisani u buducnosti. Pored svih kontroverzi i
skepticizma koji prate kriptovalute, jasno je da njihova pojava i mogucnost da opstanu
u ovom periodu oznacava pocetak jednog novog poglavlja u digitalnom a i finansijskom
svetu.

Bibliografija
1. Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008. url: https://
bitcoin.org/bitcoin.pdf.
2. Don Johnson, Alfred Menezes, and Scott Vanstone. The eliptic curve digital signature algorithm
(ecdsa). url: http://cs.ucsb.edu/~koc/ccs130h/notes/ecdsa-cert.pdf.
3. Controlled supply. url: https://en.bitcoin.it/wiki/Controlled_Currency_
Supply.
4. Bitcoin network shaken by blockchain fork. url: http://bitcoinmagazine.com/
3668/bitcoin-network-shaken-by-blockchain-fork/.
5. Colin Percival. Stronger key derivation via sequential memory-hard functions. url: http:
//www.tarsnap.com/scrypt/scrypt.pdf.
6. http://en.wikipedia.org/wiki/Bitcoin.
7. Scott Driscoll. How bitcoin works under hood. url: http://www.imponderablethings.
com/2013/07/how-bitcoin-works-under-hood.html.

You might also like