Kriptografske osnove bitkoina i elektronskog bankarstvaunarske...Univerzitet u Nišu Prirodno -...
Transcript of Kriptografske osnove bitkoina i elektronskog bankarstvaunarske...Univerzitet u Nišu Prirodno -...
Univerzitet u Nišu
Prirodno - matematički fakultet
Departman za računarske nauke
KRIPTOGRAFSKE OSNOVE BITKOINA I ELEKTRONSKOG
BANKARSTVA
- Master rad -
Mentor: Student:
Dr Jelena Ignjatović Aleksandra Manić
Niš, 2018.
Kriptografske osnove bitkoina i elektronskog bankarstva
Sadrţaj
Uvod ................................................................................................................................................ 1
Glava 1
Kriptografija .................................................................................................................................... 3
1.1. Značaj kriptografije .............................................................................................................. 3
1.2. Kriptografija sa javnim ključem ........................................................................................... 4
1.2.1. RSA algoritam ............................................................................................................... 8
1.2.2. Digitalni potpisi ............................................................................................................. 9
1.3. Matematička osnova nekih kriptografskih algoritama ......................................................... 9
1.3.1. Eliptičke krive.............................................................................................................. 10
1.3.2. Konačna polja .............................................................................................................. 13
1.3.3. Privatni i javni ključevi................................................................................................ 14
Glava 2
Bitkoin........................................................................................................................................... 20
2.1. Uvod ................................................................................................................................... 20
2.2. Istorija bitkoina .................................................................................................................. 21
2.3. Satoši Nakamoto ................................................................................................................ 22
1.4. Funkcionisanje bitkoina ..................................................................................................... 22
1.4.1. Rudarenje ..................................................................................................................... 23
1.4.2. Blockchain ................................................................................................................... 24
1.4.3. Novčanici ..................................................................................................................... 25
1.4.4. Transakcije ................................................................................................................... 28
2.5. Upotreba bitkoina ............................................................................................................... 29
2.6. Bezbednost bitkoina ........................................................................................................... 31
2.7. Prednosti i mane bitkoina ................................................................................................... 31
2.8. Budućnost bitkoina ............................................................................................................. 32
Kriptografske osnove bitkoina i elektronskog bankarstva
Glava 3
Elektronsko bankarstvo ................................................................................................................. 33
3.1. Uvod ................................................................................................................................... 33
3.2. Osnovne odlike elektronskog novca .................................................................................. 34
3.3. Proces plaćanja elektronskim novcem ............................................................................... 35
3.3.1. Instrumenti elektronskog plaćanja ............................................................................... 37
3.3.1.1. Elektronski ček..................................................................................................... 37
3.3.1.2. Kreditna kartica .................................................................................................... 38
3.3.1.3. Debitna kartica ..................................................................................................... 39
3.4. Prednosti elektronskog bankarstva ..................................................................................... 40
3.5. Problemi elektronske trgovine ........................................................................................... 41
3.6. AES algoritam .................................................................................................................... 42
Zaključak....................................................................................................................................... 47
Literatura ....................................................................................................................................... 48
Kriptografske osnove bitkoina i elektronskog bankarstva
Sadržaj slika
Slika 1: Šifarski sistem.................................................................................................................... 4 Slika 2: Simetrični kriptosistem ...................................................................................................... 5 Slika 3: Asimetrični kriptosistem.................................................................................................... 6 Slika 4: Grafik eliptičke krive za različite vrednosti a i b............................................................. 10 Slika 5: Grafički prikaz eliptičke krive koju koriste bitkoini ....................................................... 10 Slika 6: Grafički prikaz sabiranja dve različite tačke ................................................................... 11 Slika 7: Grafički prikaz sabiranja tačke sa samom sobom ........................................................... 12 Slika 8: Logo bitkoina ................................................................................................................... 20 Slika 9: Kripto novčanik ............................................................................................................... 25 Slika 10: Desktop novčanik .......................................................................................................... 26 Slika 11: Online novčanik ............................................................................................................. 26 Slika 12: Mobilni novčanik ........................................................................................................... 26 Slika 13: Papirni novčanik ............................................................................................................ 27 Slika 14: Vrednost bitkoina 03.04.2018. ...................................................................................... 30 Slika 15: Vrednost bitkoina 10.04.2018. ...................................................................................... 30 Slika 16: Kreditna kartica ............................................................................................................. 38 Slika 17: Debitna kartica ............................................................................................................... 39 Slika 18: Preslikavanje matrice ulaznih podataka u matricu stanja .............................................. 43 Slika 19: Preslikavanje matrice stanja u matricu izlaznih podataka ............................................. 43 Slika 20: SybBytes( ) operacija ..................................................................................................... 44 Slika 21: ShiftRows( ) operacija ................................................................................................... 44 Slika 22: MixColumns( ) operacija ............................................................................................... 44 Slika 23: AddRoundKey( ) operacija ............................................................................................ 45 Slika 24: Proširenje ključa ............................................................................................................ 45
Kriptografske osnove bitkoina i elektronskog bankarstva
1
Uvod
Svedoci smo velikih tehnoloških i elektronskih dostignuća, zbog toga se i sama praksa
poslovanja menja. Mnogo toga se promenilo poslednjih decenija, pa su tako promene evidentne I
u oblasti bankarstva i upotrebi novca kao sredstva plaćanja. Novac po svojoj prirodi predstavlja
retko dobro, tj. specifično dobro. S obzirom na njegovu retkost i funkciju koju obavlja, novac je
za nas vredna roba. Novac koristimo svi u različite svrhe, bilo da se radi o plaćanju izvršenih
usluga, ili za kupovinu odreĎenih roba.
Kao opšte merilo vrednosti, metod razmene i sredstvo plaćanja, ljudi odavno koriste
novac. Novac je jedan od najspecifičnijih fenomena koji se pojavljuje u ekonomiji i koji na razne
načine intrigira ljude.
Nekada je bio u vidu različitih plemenitih metala, najčešće se radilo o zlatu. Zatim dolazi
do pojave papirnih novčanica (bank note) i kovanog novca (monete). Tokom istorije kao novac
korišćeni su razni predmeti. Ljudi su odlučivali o tome. Savremeni razvoj novca doveo je do
upotrebe čekova, a zatim kreditnih i debitnih kartica. Novac se zapravo nalazi na računima, a
plaćanje se moţe izvršiti karticama.
Masovna primena računara dovela je do obavljanja poslova koji su godinama bili vezani
za lični rad i angaţovanost ljudi. Sistem plaćanja poprima novi oblik, koji se vezuje za pojavu
elektronskog novca u 20. veku. Kako je internet korišćen za razmenu informacija, i sam
elektronski novac je predstavljao informaciju. U svetskom bankarskom sistemu danas se gotovo
sve novčane transakcije obavljaju u digitalnom obliku, putem raznovrsnih interbank mreţa.
Razvojem savremenih sredstava komunikacije i trgovine javljaju se novi problemi
očuvanja bezbednosti informacija i sredstava koje se prenose komunikacionim kanalima, što
uslovljava stalni razvoj kriptografskih algoritama, koji su osnova zaštite svake mreţe od spoljnih
napada.
Ovaj rad se bavi kriptografskom osnovom trenutno najpopularnije digitalne valute,
bitkoina, kao i elektronskog bankarstva. Predstavljen je način na koji funkcioniše bitkoin, kako
ga moţemo koristiti i na čemu se zasniva. Opisano je elektronsko bankarstvo, primene
elektronskog novca, kao i način upotrebe elektronskog novca.
Kriptografske osnove bitkoina i elektronskog bankarstva
2
Prvo poglavlje obuhvata osnove kriptografije. Govori o značaju kriptografije za zaštitu
podataka. Opisan je način šifrovanja i dešifrovanja poruka koje se šalju. TakoĎe je opisana i
matematička osnova kriptografije, osnovni matematički pojmovi koji se koriste u kriptografiji.
Opisan je proces dobijanja javnog i privatnog ključa za šifrovanje. Predstavljena je i kriptografija
sa javnim ključem, kao i RSA algoritam.
Drugo poglavlje predstavlja opis bitkoina, osnovne odlike i način na koji funkcioniše
bitkoin. Prikazana je istorija bitkoina, nastanak bitkoina, način stvaranja i korišćenja bitkoina.
Opisana je bezbednost bitkoina, kao i prednosti i mane u odnosu na ostala sredstva plaćanja
putem interneta.
U trećem poglavlju je opisan elektronski novac, njegov uticaj na društveni sistem,
upotreba platnih sredstava. Predstavljen je proces plaćanja elektronskim novcem, problemi
prilikom upotrebe elektronskog novca, kao i osnovne prednosti i mane korišćenja elektronskog
novca. Opisan je algoritam koji se koristi za zaštitu elekrtonskog novca, AES algoritam.
Kriptografske osnove bitkoina i elektronskog bankarstva
3
Glava 1
Kriptografija
1.1. Značaj kriptografije
Sigurnost računarskih sistema postaje sve vaţnija, zbog toga što se upotreba informacija u
računarskom svetu sve više povećava. U takvom sistemu postoji i sve veća opasnost od
neovlašćene upotrebe informacija, podmetanja laţnih informacija ili uništavanja informacija. U
računarskim sistemima informacije se prenose raznovrsnim otvorenim i nesigurnim
komunikacijskim kanalima. Pristup do tih puteva ne moţe se fizički zaštititi, pa svaki
neprijateljski nastrojen napadač moţe narušiti sigurnost sistema. Zbog toga zaštitni
komunikacijski mehanizmi nad nesigurnim komunikacijskim kanalom postaju najvaţniji oblik
ostvarenja sigurnosti. Pokazuje se da je najdelotvornija zaštita poruka njihovo kriptovanje.
Kriptologija je nauka o zaštiti podataka. Dugi niz godina kriptologija je bila orjentisana
samo na profesionalne sisteme za zaštitu podataka. Sve većom upotrebom interneta kriptologija
je našla svoju primenu u svim aplikacija koje se odnose na elektronsko poslovanje. Kriptologija
obuhvata kriptografiju i kriptoanalizu.
Kriptografija je umetnost i nauka o čuvanju sigurnosti poruke. Predstavlja nauku „tajnog
pisanja“, odnosno nauku čuvanja informacija u onoj formi koja će biti čitljiva samo onima
kojima je namenjena, dok će za ostale biti neupotrebljiva. Uporedo sa razvojem kriptografije
razvila se i nauka kojoj je cilj da analizom kriptovanih poruka odgonetne njen sadrţaj. Ta nauka
o otkrivanju, odnosno „razbijanju“ kriptovanih poruka naziva se kriptoanaliza, i predstavlja
proučavanje metoda za otkrivanje šifrovanih informacija, bez posedovanja tajnih podataka koji
su uobičajeno potrebni da bi se pristupilo tim informacijama i obično podrazumeva
pronalaţenje privatnog ključa.
Kriptografija je način zaštite poruke koja se šifrira. Na taj način poruku moţe razumeti
samo onaj kome je namenjena ta poruka. Šifra i digitalni potpis su kriptografske tehnike koje se
koriste da bi se implementirali bezbednosni servisi. Osnovni element koji se koristi naziva se
šifarski sistem ili algoritam šifrovanja. Svaki šifarski sistem obuhvata par transformacija
podataka, koje se nazivaju šifrovanje (enkripcija) i dešifrovanje (dekripcija). Pošiljalac
transforimiše otvoreni tekst (poruku) koristeći unapred dogovoreni ključ. Ovaj postupak se
naziva šifrovanje, a dobijeni rezultat šifrat (šifrovani tekst). Nakon šifrovanja pošiljalac pošalje
šifrat preko nekog komunikacionog kanala. Primalac zna ključ kojim je šifrovana poruka i moţe
da odredi otvoreni tekst. Proces odreĎivanja otvorenog teksta na osnovu šifrata, korišćenjem
ključa naziva se dešifrovanje. Broj simbola koji predstavljaju ključ (duţina ključa) zavisi od
šifarskog sistema i predstavlja jedan od parametara sigurnosti tog sistema. Kriptoanaliza je nauka
koja se bavi razbijanjem šifri, odnosno otkrivanjem sadrţaja otvorenog teksta na osnovu šifrata,
a bez poznavanja ključa. Različite tehnike kriptoanalize nazivaju se napadi.
Kriptografske osnove bitkoina i elektronskog bankarstva
4
Slika 1: Šifarski sistem
Kriptografija mora da obezbedi sledeće:
1) Integritet ili verodostojnost informacija koje se šifruju se brine o tome da ne doĎe do
neovlašćene promene informacija, kao što su menjanje informacije, brisanje informacije i
zamena informacije. Da bi se osigurala verodostojnost, mora postojati način provere da li
je informacija promenjena od strane neovlašćene osobe.
2) Tajnost informacija osigurava da je sadrţaj informacije dostupan samo ovlašćenim
osobama odnosno samo onima koji poseduju ključ. Postoje brojni načini zaštite tajnosti,
počev od fizičke zaštite do matematičkih algoritama koji skrivaju podatke.
3) Provera identiteta - korisnici koji počinju komunikaciju se trebaju prvo predstaviti jedan
drugome pa tek onda počinju sa razmenom informacija.
4) Nemogućnost izbegavanja odgovornosti je vrlo vaţna stavka, pogotovo u novije vreme
kada se veliki deo novčanih transakcija obavlja putem interneta.
1.2. Kriptografija sa javnim ključem
Kriptografski algoritam predstavlja matematičku funkciju koja se koristi za šifrovanje i
dešifrovanje. Atributi su ključ i otvoreni tekst, odnosno ključ i šifrat.
Kriptosistem se sastoji od kriptografskog algoritma, svih mogućih otvorenih tekstova,
šifrata i ključeva. Kriptosistem je ureĎena petorka (P, C, K, E, D) za koju vaţi:
1) P je konačan skup svih mogućih otvorenih tekstova;
2) C je konačan skup svih mogućih šifrata;
3) K je prostor ključeva, tj. konačan skup svih mogućih ključeva;
4) Za svaki ključ K iz skupa K postoji algoritam šifrovanja eK iz E i odgovarajući
algoritam dešifrovanja dK iz D.
Prema broju ključeva koji se koriste kriptosistem se deli na:
Kriptografske osnove bitkoina i elektronskog bankarstva
5
1. Simetrični kriptosistem
Osnovna odlika simetričnih šifarskih sistema je da se za šifrovanje i dešifrovanje koristi
isti ključ.To je kriptosistem sa tajnim ključem (privatnim ključem).
Da bi se izbegle manipulacije, obe strane moraju drţati ključ u tajnosti, odnosno ključ se ne
sme prenositi nezaštićenim komunikacionim kanalom. Za razliku od ključa, šifrovana poruka
moţe da se šalje i po nezaštićenom kanalu s obzirom na to da sadrţaj izvorne poruke moţe da
protumači samo onaj korisnik koji ima ključ.
Slika 2: Simetrični kriptosistem
Primer slanja ključa različitim komunikacionim kanalom je kada se PIN (Personal
Identification Number) kod za pristup zaštićenim internet sajtovima (npr. banke za uvid stanja na
računu) dostavljaju korisnicima poštom, a ne internetom.
Najpoznatiji algoritmi simetričnih kriptosistema koji se danas koriste su: DES, 3DES,
DESCBC, IDEA, RC5, RC6, AES i drugi.
Prednost simetričnih algoritama
Glavna prednost algoritama koji koriste simetričan ključ je visoka efikasnost, koja se
ogleda u kratkom vremenu šifrovanja poruka. Razlog tome je što se koriste kratki ključevi, zbog
čega su pogodni za šifrovanje i dešifrovanje poruka velike duţine.
Nedostatci simetričnih algoritama
I pošiljalac i primalac poruke moraju imati jedinstven simetrični ključ, što dovodi do
problema distribucije ključeva. Najpouzdaniji način bi bio fizički susret i razmena ključa.
MeĎutim ovo je često nemoguće jer su osobe prostorno dosta udaljene tako da za razmenu
ključeva moraju koristiti neki zaštićeni kanal.
Simetrični kriptosistem zahteva veliki broj potrebnih ključeva. Ako N ljudi ţele da koriste
ovu metodu kriptovanja, to zahteva N(N – 1)/2 simetričnih ključeva. Dobijanje toliko velikog
broja različitih ključeva uslovljava upotrebu ključeva veće duţine. Pre 10-tak godina, duţina
Kriptografske osnove bitkoina i elektronskog bankarstva
6
ključa od 56 bita je predstavljala pravi problem za probijanje zaštite, danas s obzirom na stalni
razvoj informatičke tehnologije savremeni računari mogu relativno brzo da otkriju ključ te
duţine.
Algoritmi simetrične kriptografije obezbeĎuju tajnost komunikacije, ali ne omogućavaju ni
proveru integriteta poruke ni autentifikaciju njenog pošiljaoca.
2. Kriptosistem sa javnim ključem
Kod kriptosistema sa javnim ključem ili asimeričnih kriptosistema ključ za dešifrovanje
se ne moţe izračunati iz ključa za šifrovanje. Ključ za šifrovanje je javni ključ i bilo ko moţe
šifrovati poruku pomoću njega. Pritom, samo osoba koja ima odgovarajući ključ za dešifovanje
(privatni ključ) moţe dešifrovati tu poruku.
Slika 3: Asimetrični kriptosistem
Suština sistema sa javnim i tajnim ključem je sledeća - dva ključa se izaberu na takav
način da budu u posebnoj matematičkoj vezi, a rezultat je takav da poruka šifrovana jednim od ta
dva ključa (recimo javnim) moţe biti dešifrovana samo komplementarnim ključem (recimo
tajnim). Osoba A hoće da pošalje osobi B šifrovanu poruku, ali tako da niko drugi ne moţe da je
dešifruje. Osoba A će onda svoju poruku (otvoreni tekst) šifrovati javnim ključem osobe B, koji
je svima poznat, a samo će osoba B svojim tajnim ključem moći da dešifruje poruku.
Sistem šifrovanja javnim ključem (asimetrični šifarski sistem) je takav da u njemu svaki
učesnik u komunikaciji koristi dva ključa. Jedan ključ je javni i moze se slobodno distribuirati,
dok je drugi privatni i dostupan je samo njegovom vlasniku. Poznavanje jednog ključa i
algoritma transformacije ne omogućava dobijanje drugog ključa. Najbitnije je da se privatni
ključ u celom postupku komunikacije nigde ne šalje jer ne postoji potreba da bilo ko sem
njegovog vlasnika bude upoznat s njim. To znaci da se moţe bilo kome poslati šifrovana poruka
ako se zna javni ključ osobe kojoj se šalje, a samo primalac svojim privatnim ključem moţe da
dešifruje poruku.
Kriptografske osnove bitkoina i elektronskog bankarstva
7
Na ovaj način poruka je zaštićena od trećeg lica koji je prilikom presretanja šifrovane
poruke onemogućen u njenom dešifrovanju jer mu je za to potreban ključ koga strogo u tajnosti
čuva ciljni sagovornik.
Često korišćeni asimetrični algoritmi: RSA (Rivest-Shamir-Adleman), Diffie-Hellman, i
ostali: ElGamal, Rabin, eliptičke krive. Ovaj sistem predstavlja rešenje za zaštitu tajnosti
informacija i očuvanje njihovog integriteta. Osiguravanje autentičnosti informacija tj. provera
identiteta pošiljaoca postiţe se upotrebom digitalnih potpisa i digitalnih sertifikata.
Prednost asimetričnih algoritama
Izbegnut je problem distribucije ključa jer za razliku od simetričnih algoritama ovde
svaka osoba kreira po dva ključa (jedan javni i jedan privatni). Javni ključ moţe biti dostupan i
poznat svima, dok je privatni ključ poznat samo osobi koja ga je kreirala tj. primaocu poruke.
Svaki od učesnika u meĎusobnoj razmeni informacija je nezavisan i svoj par ključeva moţe
koristiti u komunikaciji sa bilo kime.
Druga prednost se ogleda u veoma velikom smanjenju broja ukupno potrebnih ključeva.
Za komuniciranje milion korisnika, potrebno je samo 2 miliona ključeva, dok bi u slučaju
korišćenja simetričnog kriptovanja bilo potrebno 500 milijardi ključeva.
Nedostatci asimetričnih algoritama
Prvi i najveći nedostatak je kompleksnost algoritama koji se koriste za šifrovanje.
Kompleksnost povlači za sobom korištenje ključeva velike duţine što zahteva mnogo vremena te
znatno usporava sam proces šifrovanja i dešifrovanja. Iz ovog razloga algoritmi asimetričnog
šifrovanja nisu pogodni za hardversku implementaciju i koriste se uglavnom za šifrovanje manje
količine izvornih podataka.
Drugi nedostatak je sigurnost u autentičnost primljene poruke. Kada osoba B primi neku
poruku, ona mora biti sigurna da je primljenu poruku poslala baš osoba A. Ovo je pogotovo
vaţno kada se za indentifikaciju na neki sistem koristi asimetrično šifrovanje. TakoĎe i osoba A
treba biti sigurna da je dobijeni javni ključ autentičan. Kao i kod simetričnih sistema ovo se
rešava najčešće primenom digitalnih sertifikata.
Digitalni sertifikat predstavlja digitalnu potvrdu o identitetu koja je izdata od strane, za tu
delatnost ovlašćene sertifikacione sluţbe. ObezbeĎuje autentičnost informacija, odnosno definišu
i proveravaju identitet pošiljaoca.
Digitalni sertifikat sadrţi podatke o identitetu korisnika (ime i prezime, E-mail, adresa),
korisnikov javni ključ i podatke o izdavaocu sertifikata.
Kriptografske osnove bitkoina i elektronskog bankarstva
8
1.2.1. RSA algoritam
RSA algoritam je najpoznatiji algoritam šifrovanja pomoću javnog ključa. Razvili su ga
1978. godine Rivest, Shamir and Adelman (RSA). RSA je blok algoritam za šifrovanje.
Originalna poruka se šifruje u blokovima, takvim da svaki blok ima binarnu vrednost manju od
nekog broja n.
Sigurnost algoritma temelji se na sloţenosti izračunavanja velikih prostih brojeva.
Algoritam se pokazao prilično sigurnim.
Potencijalni nedostaci do sad nisu otkriveni, no postoje druge mogućnosti i načini koji
vremenom utiču na sigurnost RSA algoritma. Sve veći napredak u tehnici izračunavanja, pad
cena računara i porast računarske moći omogućavaju razne vrste napada, ali RSA se zasad
uspešno odupire tim napadima, pošto isti ti napreci paralelno omogućavaju i povećanje duţine
RSA ključeva.
Algoritam za generisanje ključa
Za generisanje javnih i privatnih ključeva koriste se prosti brojevi.
1) Biramo dva velika prosta broja: p i q, pribliţno jednake duţine, od 512-1024 bitova.
2) Računamo proizvod : n = p · q
3) Biramo broj: e takav da je e < (p - 1) · (q - 1)
Brojevi e i (p - 1) · (q - 1) moraju biti uzajamno prosti, odnosno ne smeju da imaju
zajedničke proste faktore.
4) Računamo jedinstveni inverz: d = e-1
mod (p - 1) · (q - 1)
Primer generisanja ključa:
1) p = 3, q = 11
2) n = p · q = 33
3) (p - 1) · (q - 1) = 2 · 10 = 2 · 2 · 5 = 20
4) Javni eksponent e mora biti uzajamno prost sa (p - 1) · (q - 1), odnosno on ne moţe imati
2 i 5 kao faktore.
Privatni ključ čini par (n, d), dok javni ključ čini par (e, d). Vrednosti p i q koje su
korišćene za generisanje ključeva ne smeju nikad biti otkrivene, zato ih je poţeljno uništiti.
Šifrovanje i dešifrovanje
Šifriranje poruke počinje deljenjem poruke u blokove duţine x takve da je 2x < n
Šifrovanje bloka x otvorenog teksta: y = xe mod n
x prestavlja izvorni tekst prikazan u obliku broja, y je šifrovani tekst,a brojebi e i n su
komponente javnog ključa.
Pošiljalac koristi javni ključ primaoca da šifruje x < n.
Dešifrovanje bloka y šifrata: x = yd mod n
Kriptografske osnove bitkoina i elektronskog bankarstva
9
x i y predstavljaju otvoreni tekst i šifrovani tekst, a n i d su komponente privatnog ključa.
Primalac koristi privatni ključ da otkrije blok x otvorenog teksta.
yd = (x
e)d = x
e·d = x
m·(p-1)·(q-1) + 1 = x
1 = x (mod n)
Šifrovanje i dešifrovanje su inverzne operacije.
1.2.2. Digitalni potpisi
Primena šifrovanja javnim ključem jesu digitalni potpisi. Svrha digitalnog potpisa je
garancija identiteta pošiljaoca i samim tim autentičnost poslate poruke. TakoĎe garantuje da je
poruka dostavljena u originalnoj verziji, tj. niko je nije modifikovao, kao i da pošiljalac ne moţe
da tvrdi suprotno, da nije napisao poruku.
Za razliku od klasičnog potpisa, digitalni potpis je gotovo nemoguće falsifikovati.
Potpisivanjem dokumenata osoba koja ih šalje garantuje autentičnost, integritet i neporicljivost
osobi koja ih prima. Primenom digitalnog potpisa, pošiljalac ne moţe da tvrdi da nije poslao
poruku ako stoji njegov potpis. Potpisivanje dokumenata bazira se na matematičkoj funkciji i dva
ključa, privatnom i javnom.
Problem kod digitalnog potpisa je duţina potpisane poruke. Kako ona moţe biti
proizvoljne duţine, autentifikacija na strani prijema moţe dugo da traje zbog toga što je
algoritam za prepoznavanje potpisa pomoću javnog ključa prilično spor. Protokol digitalnog
potpisa je kombinacija algoritma enkripcije javnim ključem i šeme digtalnog potpisa. Postoje tri
glavna predstavnika algoritama enkripcije javnim ključem i oni su zasnovani na problemima koji
su teški za rešavanje: faktorizacija celih brojeva, diskretno logaritmovanje i eliptička kriva.
Bitkoin koristi algoritam eliptičke krive u kombinaciji sa šemom digitalnog potpisa, tj. ECDSA.
1.3.Matematička osnova nekih kriptografskih algoritama
Eliptičke krive u kriptografiji su pronašle svoju primenu u asimetričnim šifarskim
sistemima odnosno sistemima sa javnim ključem. Primenu eliptičkih krivih u kriptografiju su
nezavisno jedan od drugog uvela dva istraţivača i to Nil Koblic (Neal Koblitz, 1948) i Viktor
Miler (Victor Saul Miller, 1947) 1985. godine. Тako je nastala kriptografija eliptičkih krivih
(Elliptic curve cryptography ECC), dok je u široku upotrebu uvedena 2004. i 2005. godine.
ECDSA predstavlja algoritam digitalnog potpisa eliptičke krive. Predstavlja proces koji
koristi eliptičku krivu i konačno polje za potpisivanje podataka. Algoritam digitalnog potpisa ne
šifruje podatke, niti sprečava nekog da vidi podatke, već sluţi da se uverite da podaci nisu
izmenjeni.
Kriptografske osnove bitkoina i elektronskog bankarstva
10
ECDSA ima odvojene procedure za potpisivanje i verifikaciju. Svaka procedura je
algoritam koji se sastoji od nekoliko aritmetičkih operacija. Algoritam potpisivanja koristi
privatni ključ, a algoritam verifikacije koristi javni ključ.
1.3.1. Eliptičke krive
Eliptičke krive predstavljaju jedan od oblika glatkih algebarskih krivih. Eliptičke krive se,
kao i sve algebarske krive, mogu predstaviti nekim algebarskim izrazima. Eliptičke krive
predstavljaju ravanske krive, odnosno njihov grafik se nalazi u jednoj ravni. TakoĎe to su i glatke
krive, što znači da su neprekidne, odnosno nemaju tačke prekida i diferencijabilne su u svakoj
tački u oblasti definisanosti.
Eliptička kriva se moţe izraziti kao kvadratna zavisnost y-koordinate od trećeg stepena x-
koordinate:
= + a · x + b, gde su a i b realni brojevi.
Za različite vrednosti a i b grafički prikaz krive izgleda drugačije. Na sledećoj slici
moţemo videti primere za različite vrednosti a i b.
Slika 4: Grafik eliptičke krive za različite vrednosti a i b
Verzija koju koriste bitkoini je a = 0 i b = 7, = + 7 i izgleda ovako:
Slika 5: Grafički prikaz eliptičke krive koju koriste bitkoini
Kriptografske osnove bitkoina i elektronskog bankarstva
11
Eliptičke krive imaju korisna svojstva. Ako su P i Q dve tačke na krivoj, onda
jedinstveno moţe da se opiše treća tačka koja je presek krive i prave koja prolazi kroz P i Q. Ako
je prava tangenta na krivu u nekoj tački, onda se ta tačka broji dvaput. Tačno jedan od ovih
uslova vaţi za bilo koji par tačaka na eliptičkoj krivoj.
Koristeći ova svojstva moţemo definisati dve operacije:
1) dodavanje tačaka (sabiranje različitih tačaka na krivoj) i
2) udvostručavanje tačaka (sabiranje tačke sa samom sobom) .
1. Sabiranje dve različite tačke eliptičke krive
Sabiranje tačke P + Q = R definiše se kao osna simetrija kroz x osu treće tačke preseka R’ na
liniji koja uključuje P i Q. Kroz dve tačke u ravni moţe postaviti jedna i samo jedna prava.
Imamo dve različite tačke P i Q koje pripadaju grafiku eliptičke krive. Postavimo pravu tako da
sadrţi tačke P i Q.
Prava će presecati grafik eliptičke krive u još jednoj, trećoj tački koja takoĎe pripada
grafiku eliptičke krive. Označimo sa R` treću presečnu tačku prave sa grafikom eliptičke krive.
Postavimo sada pravu koja je paralelna sa y osom koordinatnog sistema i sadrţi tačku R`. Ona je
istovremeno normalna na x osu pravouglog kooridinantnog sistema. Presek prave i grafika
eliptičke krive označimo sa R. Tačka R je osno simetrična sa tačkom R`, u odnosu na x osu
koordinatnog sistema. Na ovaj način je definsano sabiranje tačaka P i Q koje se nalaze na grafiku
eliptičke krive. Tačka R, koja predstavlja rezultat sabiranja tačaka P i Q takoĎe se nalazi na
grafiku eliptičke krive. Grafička interpretacija opisanog je prikazana na slici:
Slika 6: Grafički prikaz sabiranja dve različite tačke
Kriptografske osnove bitkoina i elektronskog bankarstva
12
2. Sabiranje tačke eliptičke krive sa samom sobom
Udvostručavanje tačke P + P = R predstavlja nalaţenje tangente u tački koju treba
udvostručiti (P) na eliptičku krivu.
Uočimo tačku preseka tangente sa grafikom eliptičke krive i označimo je sa R`.
Analogno, kao i u slučaju sabiranja dve različite tačke, postavimo sada pravu koja sadrţi tačku
R` tako da je paralelna y osi pravouglog koordinatnog sistema, pri čemu je istovremeno
normalna na x osu pravouglog koordinatnog sistema. Presek prave i grafika eliptičke krive
označimo sa R. Očigledno je da je tačka R osno simetrična sa tačkom R u odnosu na x osu
pravouglog koordinatnog sistema. Tačka R predstavlja rezultat sabiranja tačaka P sa samom
sobom i takoĎe se nalazi na grafiku eliptičke krive. Ili u oznaci P ⊕ P ili 2 · P. Postupak koji smo
opisali ima svoju grafičku interpretaciju predstavljenu narednom slikom.
Slika 7: Grafički prikaz sabiranja tačke sa samom sobom
Ove dve operacije se zajedno koriste za skalarno mnoţenje, R = a · P, definisano
dodavanjem tačke P samoj sebi. Na primer:
R = 7 · P
R = P + (P + (P + (P + (P + (P + P)))))
Proces skalarnog mnoţenja je obično pojednostavljen korišćenjem kombinacije,
dodavanje tačaka i udvostručavanje tačaka. Na primer:
R = 7 · P
R = P + 6 · P
R = P + 2 · (3 · P)
R = P + 2 · (P + 2 · P)
Kriptografske osnove bitkoina i elektronskog bankarstva
13
1.3.2. Konačna polja
Eliptičke krive se kod primena u kriptografiji posmatraju nad konačnim poljima.
Neprazan skup R = (R, +, ·) zovemo prsten ukoliko je za operacije sabiranja + : R × R →
R i mnoţenja · : R × R → R ispunjeno sledeće:
(1) (R, +) je Abelova grupa (komutativna grupa)
(2) Mnoţenje je asocijativno, a · (b · c) = (a · b) · c
(3) Distributivnost mnoţenja prema sabiranju, a · (b + c) = a · b + a · c, ∀a, b, c ∈ R.
Ako je operacjia mnoţenja komutativna: a · b = b · a, tada se prsten naziva
komutativnim, a ako je operacija mnoţenja asocijativna: a · (b · c) = (a · b) · c, tada se prsten
naziva asocijativnim.
Ako postoji neutralni element e za operaciju mnoţenja, a · e = e · a = a, ∀a ∈ R,
nazvaćemo ga jedinicom, a odgovarajuči prsten prsten sa jedinicom.
Ako u komutativnom i asocijativnom prstenu sa jedinicom svaki element, izuzev nule,
ima svoj inverzan element za mnoţenje, tada se takav prsten naziva polje.
Prsten je polje ako svi njegovi elementi osim nule obrazuju komutativnu grupu za
mnoţenje.
Polje je algebarska struktura u kojoj se mogu izvoditi operacije sabiranja, oduzimanja,
mnoţenja i deljenja (osim deljenja s nulom), i gde vaţe osnovna pravila iz aritmetike brojeva.
Sva polja su prsteni, ali ne i obratno. Polja se razlikuju od prstena po tome što se traţi da
je deljenje moguće, a i po tome da operacija mnoţenja u polju bude komutativna. Prsteni sa
deljenjem se nazicvaju polja.
Polja mogu biti:
1) Q = (Q, +, ·, 0, 1) - polje racionalnih brojeva.
2) R = (R, +, ·, 0, 1) - polje realnih brojeva.
3) C = (C, +, ·, 0, 1) - polje kompleksnih brojeva.
4) Zp = (Zp, + p, · p, 0, 1) - polje ostataka po modulu prostog broja p (konačno
polje)
U matematici, konačno polje je polje koje sadrţi konačan broj elemenata. Kao i u bilo
kom polju, konačno polje je skup, u kom su operacije mnoţenja, sabiranja, oduzimanja i deljenja
utvrĎena i zadovoljavaju odreĎena osnovna pravila. Najčešći primeri konačnih polja su u celim
brojevima po modulu p kada p je prost broj.
Red polja ili kardinalnost polja je broj elemenata koje polje sadrţi, q, i to je prost broj ili
stepen prostog broja. Prost broj je ceo broj koji je deljiv isključivo sa samim sobom i brojem
jedan. Konačno polje sa q elemenata označava se sa Fq. Polje reda q postoji samo ako je q stepen
prostog broja, odnosno q = p , gde je n prirodan broj, a p prost broj koji nazivamo
karakteristikom konačnog polja.
Kriptografske osnove bitkoina i elektronskog bankarstva
14
Sabiranje dva elementa u konačnom polju postiţe se sabiranjem koeficijenata
odgovarajućih stepena u polinomima dva elemenata. Koristeći XOR operaciju (ekskluzivno ili)
tako da je: 1 ⊕ 1 = 0, 1 ⊕ 0 = 1, 0 ⊕ 0 = 0. Primer sabiranja:
( + + + x + 1) + ( + x + 1) = + + +
Mnoţenje dva elementa A(x) i B(x) se izvodi kao:
C(x) ≡ A(x)B(x) (mod P(x)).
Konačna polja se koriste u nekoliko oblasti matematike i informatike, uključujući teoriju
brojeva, algebarsku geometriju, geometriju konačnih tela, kriptografiju i teoriju kodiranja.
Konačno polje u kontekstu ECDSA moţe se smatrati kao unapred definisani opseg
pozitivnih brojeva unutar kojih svaki proračun mora pasti.
Najjednostavniji primer je izračunavanje ostataka, kao što je predstavljanje modulom
(mod operator).
9 mod 7 = 2 (ostatak pri deljenju 9 sa 7 je 2)
ovde je konačno polje modulo 7.
Algoritam šifrovanja eliptičkom krivom uzima u obzir krivu koja je lišena svoje grafičke
predstave. Razlog je pojednostavljivanje računanja. Tačke krive koje su bitne za šifrovanje , nisu
realni brojevi,već celi brojevi,i to oni koji predstavljaju ostatak pri deljenju sa prostim brojem reda q:
= + a · x + b) mod q
Dobija se jednačina u kojoj su svi njeni elementi (y,x,a,b) celi brojevi dobijeni celobrojnim
deljenjem prostim brojem q. Broj q predstavlja red polja.
1.3.3. Privatni i javni ključevi
Korišćenjem eliptičkih krivih moţe se formirati par ključeva, pri čemu će jedan od njih biti
privatni ključ, dok će drugi biti javni ključ.
Pretpostavimo da postoji konačno polje sa q elemenata nad kojim je definisana eliptička
kriva E. To su tačke x ose pravouglog koordinatnog sistema. Označimo to polje sa Fq. Očigledno
je da je red tog polja q pošto to polje sadrţi q elemenata. Uočimo sada tačku P na eliptičkoj
krivoj E. Moţe se napisati izraz da je P ∈ E(Fq). Svaka tačka P eliptičke krive E se definiše sa
dve koordinate x i y. Na taj način smo dobili novi skup, skup svih tačaka eliptičke krive E. Ako
taj skup označimo sa P moţemo uočiti da taj skup čini n tačaka eliptičke krive E. Skup P se
moţe smatrati i poljem reda n. Tako da je red polja u stvari n pošto polje ima n elemenata.
Elementi polja nisu brojevi već parovi brojeva koji predstavljaju koordinate tačaka eliptičke
krive.
Za izračunavanje javnog ključa koriste se više operacija dodavanja tačaka i udvostručavanja.
Kriptografske osnove bitkoina i elektronskog bankarstva
15
Javni ključ predstavlja slučajno izabrana tačka Q iz grupe tačaka P. Odgovarajući privatni ključ
se izračunava na sledeći način:
d = log𝑃 Q
Algoritam generisanja para ključeva, privatnog i javnog, korišćenjem eliptičkih krivih se
moţe definisati i na sledeći način:
Izlazni parametri su: javni ključ Q i privatni ili tajni ključ d
1) Izabere se: d ∈ [1, n − 1]
2) Izračuna se: Q = d · P, gde je P polazna tačka
3) Rezultat je par ključeva (Q , d)
Privatni kjuč d se bira iz skupa R tačaka eliptičkih krivih koje zadovoljavaju neophodne
uslove slično kao u klasičnoj kriptografiji. Moţe se primetiti da je problem izračunavanja
privatnog ključa d na osnovu javnog ključa Q zapravo problem izračunavanja diskretnog
logaritma eliptičkih krivih.
U digitalnom svetu se koriste digitalni potpisi koji imaju identičnu pravnu snagu kao i
svojeručni potpisi u realnom svetu. Digitalni potpisi se koriste za proveru identiteta pošiljaoca, za
proveru integriteta podataka, kao i za neporecivost poslatih podataka. Šeme digitalnog
potpisivanja se koriste u sertifikacionim telima za potpisivanje digitalnih sertifikata, pa se na taj
način povezuje vlasnik digitalnog sertifikata sa svojim javnim ključem.
U konačnom polju moţemo napraviti tangetnu liniju i na grafiku utvrditi javni ključ.
Postoje jednačine koje se trebaju rešiti da bi dobili vrednost javnog ključa. Dodavanje tačaka p+q
za nalaţenje tačke r je definisano:
c = (q - p ) / (q - p )
r = - p - q
r = c · (p -r ) - p
Udvostručavanje tačke p za pronalaţenje r je sledeće:
c = (3 · p + a) / 2 · p
r = - p
r = c · (p - r ) - p
Primer:
jednačina: = + 7 (a = 0, b = 7)
polazna tačka: (2,22)
red polja: 79
privatni ključ: 2
Kriptografske osnove bitkoina i elektronskog bankarstva
16
Prvo pronaĎemo javni ključ. Pošto smo odabrali najjednostavniji privatni ključ 2, od polazne
tačke se zahteva samo jedna operacija udvostručavanja tačke. Izračunavanje izgleda ovako:
c = (3 · + 0) / (2 · 22) mod 67
c = (3 · 4) / 44 mod 67
c = 12 / 44 mod 67
= 32 pa je onda:
c = 12 · 32 mod 67
c = 384 mod 67
c = 49
r = ( - 2 · 2) mod 67
r = (2401 - 4) mod 67
r = 2397 mod 67
r = 52
r = (49 · (2 - 52) - 22) mod 67
r = (49 · (-50) - 22) mod 67
r = (-2450 - 22) mod 67
r = -2472 mod 67
r = 7
Naš javni ključ odgovara tački (52,7). Privatni ključ je 2.
Algoritam potpisivanja javnim ključem
Imamo privatni ključ d, poruku z, polaznu tačku P .
Izlazni parametri su: digitalni potpis (r, s).
1) Izabere se broj k između 1 i n-1
2) Izračuna se tačka (x, y) = k ·P, zatim se x konvertuje u ceo broj
3) Izračuna se r = x mod n. Ako je 𝑟 = 0 ide se ponovo na korak 1
4) Izračuna se s = k−1 (z + d · r) mod n. Ako je s = 0 ide se ponovo na korak 1
5) Konstatuje se konačan rezultat digitalni potpis (r, s)
Primer:
z = 17 (poruka)
n = 79 (red polja)
p = (2,22) (polazna tačka)
d = 2 (privatni ključ)
Kriptografske osnove bitkoina i elektronskog bankarstva
17
1. Izabere se nasumičan broj
k = rand(1, n-1)
k = rand(1, 79-1)
k = 3
2. Izračunavanje tačke sa koordinatama (x,y).
(x, y) = 3 · P
(x, y) = P + 2 · P
(x, y) = (2, 22) + (52, 7)
(x, y) = (62, 63)
x = 62
y = 63
3. Nalaţenje r:
r = x mod n
r = 62 mod 79
r = 62
4. Nalaţenje s:
s = (z + r · d) / k mod n
s = (17 + 62 · 2) / 3 mod 79
s = (17 + 124) / 3 mod 79
s = 141 / 3 mod 79
s = 47 mod 79
s = 47
5. Naš potpis je par (r, s) = (62, 47).
Algoritam verifikacije
Neophodno je da primalac bude siguran da je pošiljalac zaista potpisao poruku odnosno da je
digitalni potpis verodostojan. U tom cilju je potrebno izvršiti verifikaciju digitalnog potpisa.
Algoritam verifikacije digitalnog potpisa korišćenjem eliptičkih krivih (ECDSA) moţe se
definisati i na sledeći način:
Ulazni parametri su: javni ključ Q, poruka z i digitalni potpis (r, s).
Izlazni parametri su: prihvatanje ili odbijanje digitalnog potpisa.
1) Provera da li su r i s celi brojevi u intervalu [1, n − 1].
2) Izračuna se w = s−1 mod n
3) Izračunavaju se u = z · w mod n
Kriptografske osnove bitkoina i elektronskog bankarstva
18
4) Izračuna se v = r · w mod n
5) Izračuna se (x, y)= u · P + v · Q
6) Proverava se da li je r = k mod n. Potpis je nevaţeći ukoliko nije.
Primer:
z = 17 (poruka)
(r, s) = (62, 47) (potpis)
n = 79 (red polja)
P = (2, 22) (polazna tačka)
Q = (52, 7) (javni ključ)
1. Proverimo da li su r i s izmeĎu 1 i n-1.
r: 1 <= 62 < 79
s: 1 <= 47 < 79
2. Izračunamo w:
w = s-1 mod n
w = 47-1 mod 79
w = 37
3. Izračunamo u:
u = z · w mod n
u = 17 · 37 mod 79
u = 629 mod 79
u = 76
4. Izračunamo v:
v = r · w mod n
v = 62 · 37 mod 79
v = 2294 mod 79
v = 3
5. Izračunamo tačku (x, y):
(x, y) = u · P + v · Q
Kriptografske osnove bitkoina i elektronskog bankarstva
19
Tačke dodavanja i dupliranja u · P i v · Q računamo odvojeno:
u · P = 76 · P
u · P = 2 · (38 · P)
u · P = 2 · ( 2 · (19 · P) )
u · P = 2 · ( 2 · (P + 18 · P) )
u · P = 2 · ( 2 · (P + 2 · (9 · P) ) )
u · P = 2 · ( 2 · (P + 2 · (P + 8 · P) ) )
u · P = 2 · ( 2 · (P + 2 · (P + 2 · (4 · P) ) ) )
u · P = 2 · ( 2 · (P + 2 · (P + 2 · ( 2 · (2 · P) ) ) ) )
u · P = 2 · ( 2 · (P + 2 · (P + 2 · ( 2 · ( 2 · (2, 22) ) ) ) ) )
u · P = 2 · ( 2 · (P + 2 · (P + 2 · ( 2 · (52, 7) ) ) ) )
u · P = 2 · ( 2 · (P + 2 · (P + 2 · (25, 17) ) ) )
u · P = 2 · ( 2 · (P + 2 · ( (2, 22) + (21, 42) ) ) )
u · P = 2 · ( 2 · (P + 2 · (13, 44) ) )
u · P = 2 · ( 2 · ( (2, 22) + (66, 26) ) )
u · P = 2 · ( 2 · (38, 26) )
u · P = 2 · (27, 40)
u · P = (62, 4)
Sada izračunamo v · Q:
v · Q = 3 · Q
v · Q = Q + 2 · Q
v · Q = Q + 2 · (52, 7)
v · Q = (52, 7) + (25, 17)
v · Q = (11, 20)
Stavljamo ih zajedno, računamo u · P+v · Q:
(x, y) = u · P + v · Q
(x, y) = (62, 4) + (11, 20)
(x, y) = (62, 63)
6. Proverimo da li je r = x mod n
r = x mod n
62 = 62 mod 79
62 = 62
Potpis je validan!
Kriptografske osnove bitkoina i elektronskog bankarstva
20
Glava 2
Bitkoin
Slika 8: Logo bitkoina
2.1. Uvod
Pre nego što krenemo sa upoznavanjem bitkoina, neophodno je da napravimo korak
unazad i spomenemo kriptovalute. Kriptovalute su digitalne valute koje funkcionišu kao sredstvo
razmene koristeći kriptografiju da bi osigurali transkacije i kontrolisali stvaranje dodatnih
jedinica. Postoje mnoge kriptovalute kao što su litecoin, ethereum, peercoin, namecoin, catcoin,
ali meĎu najpoznatijom spada upravo bitkoin.
Bitkoin je digitalna valuta koja čini elektronski novčani sistem. Bitkoin se u mnogome
razlikuje od tradicionalnih valuta, najpre zato što nema pokriće u prirodnim dobrima (kao što
obične valute imaju u zlatnim polugama), ali i zbog toga što nema posrednika (poput banke ili
neke slične finansijske institucije) već se prenosi direktno od korisnika do korisnika. Bitkoin je
virtualna valuta, tako da se ne moţe pronaći u papirnom ili kovanom obliku. Ono što je još
karakteristično za bitkoin, pa i za sve ostale kriptovalute, jeste da one nisu priznate kao zvanična
valuta i nikada do sada nisu izlazile na berzu.
Iako mnoge kompanije dozvoljavaju plaćanja bitkoinom, ova valuta je decentralizovana i
nema garanta koji stoji iza nje. Vlasnik ove valute ne postoji, niti postoji osoba koja vrši kontrolu
nad ovim sistemom koji u potpunosti funkcioniše po transparentnim principima. Korisnici imaju
mogućnost prebacivanja bitkoina putem mreţe i sa njim mogu obavljati sve što se inače moţe i
sa tradicionalnim valutama, pod tim se podrazumeva i kupovina i prodaja kao i transfer novca. U
posebnim menjačnicama i na odreĎenim aparatima postoji mogućnost kupovine i prodaje
bitkoina za ostale valute. Osnovna svrha bitkoina je da bude brz, jednostavan i bezbedan kao
jedinstvena internet valuta za ceo svet.
Kriptografske osnove bitkoina i elektronskog bankarstva
21
2.2. Istorija bitkoina
Bitkoin je teoretski osmišljen u naučnom radu objavljenom 2008. godine. Identitet autora
koji se potpisao sa Satoši Nakamoto je nepoznat. Naučnici veruju da iza bitkoina ne stoji jedna
osoba već da je to sistem koji je osmišljen od grupe ljudi. Pre ove valute su se pojavljivale i još
neke poput B-money i HashCash-a, na osnovu čijih temelja je Nakamoto i osmislio bitkoin. Ono
što je činilo inovaciju ove valute u odnosu na prethodne je bio distribuirani sistem izračunavanja
(„proof-of-work“ algoritam) koji je sluţio za potvrdu transkacije. Ovakav sistem je doprineo
uštedu na vremenu u odnosu na prethodne virtualne valute jer je sada za transkaciju bilo
potrebno samo 10 minuta.
Bitkoin mreţa u praksi počinje sa radom u januaru 2009. godine. U početku su je
karakterisale brojne greške koje su dovele do stvaranje prevelikog broja bitkoina. Tokom marta
2013. godine, bitkoin mreţa je doţivela jedan od svojih većih problema kada je usled tehničkih
problema došlo do podele mreţe na dva nezavisna dela, gde su delovi paralelno radili i svaki je
beleţio svoj deo transkacija. Iako je problem bio otklonjen kroz svega par sati, ovo je uzrokovalo
veliki pad vrednosti bitkoina.
Veće web stranice počele su prihvatati bitkoin kao sredstvo plaćanja otprilike 2013.
godine (WordPress, Atomic Mall, OverStock,…). Pokazalo se veoma efikasno po njih, jer su
mnogi ljudi na dnevnom nivou vršili plaćanje bitkoinima. OdreĎene neprofitne ili interesne
grupe, kao što su Electronic Frontier Foundation dopuštaju bitkoin donacije. Vlasnik kompanije
Overstock.com je u martu 2014. izjavio da ta kompanija ima dnevni promet od 20-30 hiljada
dolara od kupaca koji plaćaju bitkoinom. Prve veće policijske i pravosudne akcije protiv onih
koji zloupotrebljavaju bitkoin sistem kreću u maju 2013. u Sjedinjenim Američkim Drţavama.
U oktobru 2013. kineski internetski gigant Baidu je uveo plaćanje bitkoinima. Tokom
novembra 2013., bitkoin berza osnovana u Kini “BTC China” je pretekla japansku i evropsku i
izbila na prvo mesto po obimu trgovine. 19. novembra 2013. godine kada je Senat SAD-a rekao
da je bitkoin legitimna finansijska usluga, bitkoin je doţiveo svoju vrednost od 1.100$. MeĎutim,
nedugo zatim, Narodna banka Kine je uvela zabranu korišćenja bitkoina kineskim finansijskim
institucijama, nakon čega je vrednost bitkoina ponovo opala.
Prvi bitkoin automat je uveden krajem 2013. godine u Vankuveru u Kanadi. Iako je
nemoguće proceniti tačan broj korisnika ovog sistema jer jedan korisnik moţe da koristi više
adresa, u 2013. godini se taj broj procenjivao na 8 miliona.
Kriptografske osnove bitkoina i elektronskog bankarstva
22
2.3. Satoši Nakamoto
Satoši Nakamoto je ime koje se koristi od strane nepoznate osobe ili osoba koje su
dizajnirale bitkoin i stvorile svoju prvobitnu referentnu realizaciju. U sklopu realizacije, oni su
osmislili prvu blockchain bazu podataka. Oni su bili aktivni u razvoju bitkoina sve do decembra
2010. godine. Nakamoto je tvrdio da je čovek koji ţivi u Japanu, roĎen 5. aprila 1975. MeĎutim
neki veruju da je to osoba koja nije iz Japana, nego iz Sjedinjeih Američkih Drţava, ili iz
Evrope. Od 24. maja 2017. godine, veruje se da Nakamoto poseduju otprilike milion bitkoina,
čija je vrednost procenjena na oko 3,6 milijardi dolara.
Bilo je mnogo slučajeva visokog profila ljudi koji su tvrdili da su Satoši Nakamoto
poslednjih godina ili ljudi za koje se sumnja da su Satoši Nakamoto. Jedan od načina
dokazivanja da je neko Satoši je potpis poruke sa ključevima iz prvih blokova bitkoina. Niko od
njih to nije mogao učiniti (ili je negirao da moţe), dok su neki negirali navode da su Satoši.
Zbog potencijalnog rizika za sopstveni ţivot stvaranja nečeg ovakvog i rizika da bude
javna ličnost, verovatno je izabrao da sakrije svoj identitet radi zaštite, posebno kada je bitkoin
bio povezan u medijima kao valuta kriminalaca.
Postoje razna nagaĎanja i razna istraţivanja vezana za otkrivanje identiteta osnivača
bitkoina, ali se i dalje ne zna ko je otkrio bitkoin i ko stoji iza imena Satoši Nakamoto.
1.4. Funkcionisanje bitkoina
Bitkoin je kreiran pomoću veoma kompleksnog algoritma. Za šifrovanje se koristi
algoritam sa javnim ključem. Bitkoin se generiše u mreţi tako što tzv. rudari (miners)
pokušavaju po principu pokušaja i greške da reše kriptografski algoritam. To znači da računari
koji imaju instaliran novčanik konstantno rade na rešavanju sloţenog matematičkog problema.
Kada neki kompjuter u svetu uspe da reši problem, njegov korisnik dobija bitkoin, s tim što
mogu da proĎu godine dok se to ne desi. Neki korisnici su toliko oduševljeni ovom valutom,
smatrajući da će ona doneti finansijsku revoluciju, da nastoje da pronaĎu rešenje za brzo
rudarenje bitkoina.
MeĎutim, rudarenje nije jedini način na koji se dobijaju kriptovalute. Najlakši način je da
ih kupite koristeći svoju lokalnu valutu na online trţištima, gde ih moţete i prodavati drugim
korisnicima. Kao kod zaliha zlata, na primer, vrednost kriptovalute se odreĎuje kupovinom i
potraţnjom. Bitkoine moţemo kupiti online na internetu, preko ljudi koji prodaju bitkoine,
upotrebom bitkoin bankomata, putem berzi, rudarenjem, pregledom odreĎenih oglasa, preko
donacija, prodajom raznih stvari na internetu za bitkoine.
U početku bitkoin je rudaren pomoću običnog komjutera koristeći snagu procesora ili
grafičke karte, dok se danas koriste specijalizovani procesori ASIC, ili u prevodu integrisano
kolo sa specifičnom namenom, odnosno procesor koji radi samo zadatak za koji je konstruisan.
Kriptografske osnove bitkoina i elektronskog bankarstva
23
Razlog pojave ovakvih ureĎaja je taj što se povećava teţina rudarenja bitkoina pa samim tim
postaje neisplativo rudarenje sa grafičkim karitcama koje su do sada radile posao rudarenja.
Potrebna je odreĎena brzina za obavljanje sloţenih računskih operacija koju grafičke kartice ne
poseduju da bi bile rentabilne. Mada se još uvek koriste ali samo u posebnim konfiguracijama
koje se nazivaju Mining Rigs ili platforme. Dve ili više grafičkih kartica je povezano u jednu
celinu i obavljaju posao rudarenja.
Najbitnija komponenta je grafička kartica jer se matematičke operacije kojim dolazite do
bitkoina mnogo brţe izračunavaju preko grafičke kartice. Kao što je napomenuto, nekada se
bitkoin mogao kopati sa par veoma jakih grafičkih kartica, ali vremenom je porasla teţina
rudarenja tako da obične grafičke kartice nisu dovoljne za rudarenje. Druga najbitnija
komponenta u konfiguraciji jeste dobro napajanje. Ostale komponente su manje bitne, moţete
uzeti računar srednje klase, ali kjučne stvari jesu grafika i napajanje.
1.4.1. Rudarenje
Kriptovalute se generišu rudarstvom. Rudarenje rade računari koji pokušavaju da reše
kompleksan matematički algoritam.
Ljudi širom sveta se takmiče da budu prvi koji će rešiti matematički algoritam, a
pobednik dobija odreĎenu količinu kriptovalute koja se rudari. Proces zahteva specijalan hardver
za rešavanje kompleksnih matematičkih algoritama.
Rudarenje (mining) predstavlja proces dobijanja kriptovalute korišćenjem računarskog
programa koji rešava sloţen algoritam. Usled kompleksnosti algoritma povećala se teţina
rudarenja, tako da je danas potrebna specijalizovana oprema.
Pre nekoliko godina mogli ste da rudarite pomoću računara i jače grafičke karte, dok je
danas potrebna specijalna oprema (Mining Rig) kako bi sve to bilo rentabilno i profitabilno.
Ove je osnovna funkcija bitkoina, koji je istovremeno i valuta i način plaćanja. Svaka
transakcija je predmet obrade svakog u mreţi ko je uključio svoje računare u izračunavanje
komplikovanih problema, sa zajedničkim ciljem da obezbede sigurnost transakcija (kao i njihovu
anonimnost i neopozivost). Za nagradu dobijaju odgovarajući deo novostvorenih bitkoina.
Tim Red Harbinger pokrenuo je Indiegogo kampanju za finansiranje proizvodnje vrlo
zanimljivog kućišta Dopamine. Kućište je posebno dizajnirano za korisnike koji ozbiljnije rudare
digitalne valute poput bitkoina, litecoina ili dogecoina, što se posebno odnosi na podršku za
ugradnju što većeg broja grafičkih kartica. Dopamine tako podrţava ugradnju do šest grafičkih
kartica za maksimalne performanse, dok bi open-air dizajn bez bočnih stranica trebao da
omogući efikasno hlaĎenje ovakvih konfiguracija. U donjem delu kućišta se nalazi prostor za dva
napajanja, dok je oblik nosača prilagoĎen slaganju više Dopaminea jedan na drugi za manje
zauzeće fizičkog prostora. Moguće je ugraditi i bilo koje matične ploče mini-ITX, micro-ATX ili
punog ATX formata kao i tri ventilatora prečnika 120 ili 140 mm. Cena kućišta je 249 dolara.
Kriptografske osnove bitkoina i elektronskog bankarstva
24
1.4.2. Blockchain
Blockchain je matematički algoritam koji moţe da pruţi maksimalnu bezbednost
transakcije korišćenjem kriptografskih metoda. Blockchain se zasniva na distribuiranoj bazi
podataka, koja sadrţi šifrovane podatke koje nije moguće menjati ili ih ometati.
Blockchain sadrţi dve vrste zapisa u lancu prenosa podataka:
1) Transakcije
2) Blokovi
Transakcije su zapravo informacije, odnosno podaci koji se prenose. Blokovi su delovi
lanca u kompletnom procesu (stoga naziv block - chain), koji upravljaju prenosom informacija.
Blokovi su meĎusobno povezani čvorovima čineći tako lanac.
Blockchain se, dakle, moţe predstaviti kao distribuirana, decentralizovana baza podataka,
podeljena u blokove, meĎusobno povezane čvorovima, koja omogućava bezbedne transkacije, u
realnom vremenu, korišćenjem matematičkih modela za distribuciju kriptovanih informacija kroz
lanac blokova.
Blockchain je zapravo sloţena baza podataka. Ova baza podataka je transakcijska baza
podataka, baza koja beleţi transakcije, odnosno operacije. Sve se drţi unutar mreţe servera koji
se ponašaju kao baza podataka, te svaki server sadrţi sve podatke o transakcijama.
Puna kopija, odnosno kompletna baza podataka blockchaina sadrţava sve transakcije
ikad izvršene s valutom odnosno bitkoinom. Zahvaljujući tim zapisima valuta je potpuno
transparentna. Moguće je saznati koliko je bitkoina bilo na svakoj adresi u bilo kojem trenutku.
Svaki blok sadrţi tzv. hash podatak prethodnog bloka. U odreĎenom vremenskom
periodu se napravi jedan komad lanca, nakon njega idući i tako dalje. Kako se svaki komad lanca
veţe podacima za onaj pre, to ima za posledicu mogućnost praćenja svih podataka hronološki
unazad. Svaki blok takoĎe garantovano dolazi nakon onog prethodnog hronološki, iz razloga što
u protivnom hash prethodnog bloka ne bi bio poznat.
Zapisivanje i kreiranje novog bloka je upravo ono što rade serveri koji rudare ili
popularnije izvode mining. Rešavaju kompleksne matematičke probleme verifikacije transakcija
i zapisivanja podataka novog novca, a za uzvrat dobijaju bitkoine.
Osoba A šalje zahtjev za slanjem novca osobi B. Transakcija se šalje u mreţu u obliku
novog bloka. Blok se distribuira svima koji su na mreţi. Svi članovi proveravaju da li je
transakcija ispravna. Blok se nakon toga dodaje u lanac svih ostalih blokova te postaje
transparentan podatak. Novac se prenosi osobi B.
Kriptografske osnove bitkoina i elektronskog bankarstva
25
1.4.3. Novčanici
Kripto novčanik je softverski program koji čuva privatne (private) i javne (public)
ključeve i uzajamno radi sa različitim blockchain-ovima kako bi omogućio korisnicima da šalju i
primaju digitalnu valutu i prate stanje. Ako ţelite da koristite bitkoin ili bilo koju drugu
kriptovalutu, potrebno je da imate digitalni novčanik. Javni ključ vam daje adresu (duga
kombinacija) i vidljiva je svim članovima peer-to-peer mreţe . Ovo je broj koji će drugi članovi
koristiti za identifikaciju vas i koji biste morali da pruţite ako ţelite primiti transfer od drugog
korisnika. Privatni ključ je ono što morate čuvati u svako doba. Kombinacija oba ključa je
potrebna kao potpis na poruci koja je vezana za vašu transakciju. Ako izgubite svoj privatni
ključ, takoĎe ćete izgubiti svoj novac i nećete moći da ih vratite. Da bi mogli da otključaju
transakciju, privatni i javni ključ moraju se meĎusobno podudarati.
Za razliku od tradicionalnih 'dţepnih' novčanika, digitalni novčanici ne čuvaju valutu.
Zapravo, valute se ne čuvaju ni na jednoj lokaciji niti postoje u bilo kojoj fizičkoj formi. Sve što
postoji jesu zapisi transakcija sačuvanih na blockchainu.
Slika 9: Kripto novčanik
Postoji nekoliko vrsta novčanika koji pruţaju različite načine za čuvanje i pristup
digitalnoj valuti. Novčanici se mogu razvrstati u tri različite kategorije - softver, hardver i papir.
Softverski novčanici mogu biti desktop, mobilni ili online.
Desktop novčanici se preuzmu i instaliraju na računaru ili laptopu. Oni su dostupni samo
iz jednog računara u kojem se preuzmu. Ovi novčanici nude jedan od najviših nivoa
sigurnosti, meĎutim, ako je vaš računar hakovan ili bude zaraţen virusom, postoji
mogućnost da ćete izgubiti sva svoja sredstva.
Kriptografske osnove bitkoina i elektronskog bankarstva
26
Slika 10: Desktop novčanik
Online novčanici se pokreću na internetu i i moţe im se pristupiti sa bilo kog računa na
bilo kojoj lokaciji. Iako su pristupačniji, online novčanici čuvaju vaše privatne ključeve
na mreţi i kontrolišu ih treća lica što ih čini još ranjivijim za hakerske napade i kraĎe.
Slika 11: Online novčanik
Mobilni novčanici pokreću aplikaciju na telefonu i korisni su zato što se mogu koristiti
bilo gde i u svakom trenutku. Mobilni novčanici su obično mnogo manji i jednostavniji
od novčanika na računaru zbog ograničenog prostora na mobilnom ureĎaju.
Slika 12: Mobilni novčanik
Kriptografske osnove bitkoina i elektronskog bankarstva
27
Hardver novčanici se razlikuju od softverskih novčanika jer čuvaju privatne ključeve
korisnika na hardverskom ureĎaju kao što je USB. Iako hardverski novčanici vrše
transakcije online, oni se čuvaju offline što povećava sigurnost. Hardverski novčanici
mogu biti kompatibilni sa nekoliko web interfejsa i mogu podrţavati različite valute; to
zavisi samo od toga za koju se valutu vi odlučite. Štaviše, stvaranje transakcije je
jednostavno. Korisnici jednostavno uključuju svoj ureĎaj na bilo koji računar ili ureĎaj sa
omogućenim internetom, unose PIN, pošalju valutu i potvrde. Hardverski novčanici
omogućavaju jednostavnu transakciju, a takoĎe i drţe novac van mreţe i dalje od
opasnosti.
Papirni novčanici su jednostavni za korišćenje i pruţaju veoma visok nivo sigurnosti.
Dok izraz "papirni novčanik" jednostavno moţe da se odnosi na fizičku kopiju ili štampu
vaših javnih i privatnih ključeva, moţe se odnositi i na deo softvera koji se koristi za
sigurno generisanje par ključeva koji se zatim štampaju. Korištenje papirnog novčanika je
relativno jednostavno. Prenošenje bitkoina ili bilo koje druge valute u vaš novčanik
postignut je prenos sredstava sa vašeg novčanika za softver na javnu adresu prikazanu na
papirnom novčaniku. Alternativno, ukoliko ţelite da povučete ili potrošite valutu, sve što
treba da uradite je da prebacite sredstva iz papirnog novčanika u vaš softver novčanik.
Ovaj process se moţe ručno izvršiti unosom privatnih ključeva ili skeniranjem QR koda
na papirnom novčaniku.
Slika 13: Papirni novčanik
Novčanici su sigurni u različitim nivoima. Nivo sigurnosti zavisi od vrste novčanika koji
koristite (desktop, mobilni, online, papir, hardver) i provajdera servisa. Web server je rizičnije
okruţenje za drţanje valute u poreĎenju offline metodom. Online novčanici mogu izloţiti
korisnike mogućim ranjivostima u samoj platformi novčanika koju hakeri mogu eksploatisati
kako bi ukrali vaša sredstva. Offline novčanici, s druge strane, ne mogu biti hakovani jer
jednostavno nisu povezani na mreţu i ne oslanjaju se na treću stranu zbog sigurnosti.
Kriptografske osnove bitkoina i elektronskog bankarstva
28
1.4.4. Transakcije
Bitkoin transakcije se šalju iz i na elektronske bitkoin novčanike, a digitalno su potpisani
radi sigurnosti. Svako u mreţi zna za transakciju, a istorija transakcije moţe se pratiti do tačke
gde su proizvedeni bitkoini.
Bitkoini ne postoje nigde, čak ni na hard disku, postoje samo zapisi o bitkoin
transakcijama. Ne moţete pokazati na fizički objekat, kao što je novac ili čak na digitalnu
datoteku i reći ovo je bitkoin. Umesto toga, postoje samo dokazi transakcija izmeĎu različitih
adresa, sa balansima koji se povećavaju i smanjuju. Svaka transakcija koja se ikada dogodila
čuva se u ogromnoj javnoj datoteci - blockchain.
Ako osoba A šalje neke bitkoine osobi B, ta transakcija imaće tri informacije:
Ulaz. Ovo je zapis o tome koja bitkoin adresa se koristila za slanje bitkoina osobi A
(prvobitno ih je dobila od njene drugarice, osobe C).
Iznos. Ovo je količina bitkoina koje osoba A šalje osobi B.
Izlaz. Ovo je bitkoin adresa osobe B.
Da biste poslali bitkoine, potrebne su vam dve stvari: bitkoin adresa i privatni ključ.
Bitkoin adresa se generiše nasumično, i sastoji se od niza slova i brojeva. Privatni ključ je još
jedan niz slova i brojeva, ali za razliku od vaše bitkoin adrese, to se čuvano tajno.
Kada osoba A ţeli da pošalje bitkoine osobi B, ona koristi svoj privatni ključ da potpiše
poruku sa ulaznim (izvornom transakcijom (ili transakcijama) novčića), količinom i izlazom
(adresa osobe B).
Onda ih šalje iz svog bitkoin novčanika na širu bitkoin mreţu. Odatle, bitkoin mreţa
potvrĎuju transakciju, stavljaju je u blok transakcije i na kraju izvršavaju transakciju.
Vlasništvo nad bitkoinima podrazumeva da korisnik moţe prebaciti bitkoin sa odreĎene
adrese. Da bi se to uradilo, korisnik mora digitalno potpisati transakciju koristeći odgovarajući
privatni ključ. Bez prisustva privatnog ključa, transakcija ne moţe biti potpisana i bikoin ne
moţe biti potrošen. Mreţa proverava potpis koristeći javni ključ. Ako se privatni ključ izgubi
bitkoin mreţa neće priznati bilo koji drugi dokaz o vlasništvu i novčići su tada neupotrebljivi i
zauvek izgubljeni. U stvarnosti, transakcija moţe imati više od jednog ulaza i više od jednog
izlaza
Kriptografske osnove bitkoina i elektronskog bankarstva
29
2.5. Upotreba bitkoina
Bitkoin, kao i svaka druga vrsta novca sluţi za kupoprodaju, ali u ovom slučaju
elektronsku, odnosno digitalnu. Prednost bitkoina u odnosu na druga sredstva plaćanja je u tome
što bitkoin nije i ne moţe biti kontrolisan ni od jedne svetske institucije, velike korporacije, niti
bilo koje druge vrste industrije.
Kako popularnost bitkoina sve više raste, veliki broj banaka je instalirao i u svoju ponudu
uveo takozvane bitkoin bankomate. Najpopularniji i prvi osmišljen ovakav bankomat za bitkoin
transakcije se nalazi u Vankuveru.
Pored standardnih platnih kartica sve se više upotrebljava i jednostavna bitkoin kartica,
kako za internet transakcije, tako i za prevoĎenje bitkoina u realne novčane valute, bilo u samoj
banci, bilo preko bitkoin bankomata.
Neke turističke organizacije, kao i razni svetski festivali imaju u svojoj ponudi i
mogućnost direktnog plaćanja računa i usluga pomoću ovakvih kartica sa novcem u formi
bitkoina. Sve veći broj restorana, kafiča, hotela uvodi bitkoine kao sredstvo plaćanja. Mnogi
kulturni i sportski dogaĎaji takoĎe sve više uvode mogućnost plaćanja raznih sadrţaja putem
bitkoina. Sve češće brojne humanitarne organizacije i fondacije prihvataju donacije u vidu
digitalnog novca.
Bitkoin se za plaćanje i kupovinu na internetu moţe koristiti veoma lako, brzo i
jednostavno. Što je najvaţnije, u digitalnom svetu je ovaj način plaćanja najbezbedniji i upravo
zbog toga raste rasrostranjenost upotrebe bitkoina. Postoje odreĎene online radnje, tj prodavnice
u kojima je bitkoin jedino sredstvo trgovine. Na internetu postoji spisak online radnji koje kao
sredstvo plaćanja prihvataju i bitkoin.
Brojne online kockarnice i kladionice dozvaljavaju upotrebu bitkoina kao sredstvo
plaćanja. Neke od internet igrica koriste bitkoine kao ulog, ili ih daju kao nagradu ukoliko
preĎete odreĎeni nivo, ili ukoliko pobedite.
U bitkoin mreţi postoji mogućnost zamene bitkoina za neku drugu novčanu valutu, kao i
slanje novca. Pomoću bitkoina moţemo vršiti investiranje u akcije, fondove, nekretnine, deonice,
ili neke hartije od rednosti. Na taj način od digitalnog novca moţemo ostvariti i značajnu zaradu.
Jedina mana prilikom korišćenja bitkoina u ovakvim investicijama je to što njegova vrednost
stalno varira.
U većini zemalja bitkoin još nije pravno regulisan. U Rusiji su bitkoin i sve ostale
digitalne valute zabranjeni. Luksemburg aktivno podrţava sve digitalne valute. Kina dozvoljava
upotrebu bitkoina u lične svrhe, ali je kompanijama i drugim zvaničnim institucijama zabranjena
upotreba bitkoina.
Kriptografske osnove bitkoina i elektronskog bankarstva
30
Vrednost bitkoina varira. Od 2009. godine, pa sve do januara 2010. godine bitkoin nije
imao vrednost. U januaru 2010. godine je vredeo samo 0,01 dolar. 2013. godine je imao vrednost
1250 dolara, nakon čega je njegova vrednost počela da pada i 2016. godine je vredeo 430 dolara.
Vrednost bitkoina 03. aprila 2018. godine bila je 7473.24 dolara. Na grafu moţemo videti
vrednosti bitkoina za protekla 6 meseca. Prikazana je najveća vrednost bitkoina u toku tih 6
meseca, koja je iznosila 19193.72 dolara i najniţa vrednost bitkoina u toku poslednjih 6 meseca,
koja je iznosila 4214.60 dolara.
Slika 14: Vrednost bitkoina 03.04.2018.
Vrednost bitkoina nastavila je da opada i nakon samo nekoliko dana bitkoin je vredeo
6848.58 dolara.
Slika 15: Vrednost bitkoina 10.04.2018.
Kriptografske osnove bitkoina i elektronskog bankarstva
31
2.6. Bezbednost bitkoina
ObezbeĎivanje bitkoina je izazov, jer bitkoin nije apstraktni odnos na vrednost, kao
balans na računu u banci. Posedovanje ključa za otključavanje bitkoina je ekvivalentno
posedovanju novca ili komada plemenitih metala. Moţe se izgubiti, biti ukraden ili moţemo
slučajno greškom dati nekome.
MeĎutim, bitkoin ima mogućnosti koju gotovina, zlato i bankovni računi nemaju. Bitkoin
novčanik, koji sadrţi svoje ključeve, moţe da se napravi kao i svaki fajl. Moţe se čuvati u više
primeraka, čak se moţe štampati na papiru. Bitkoin je dovoljno drugačiji od svega što se do sada
pojavilo, pa se prema tome mora posvetiti paţnja na bezbednost bitkoina.
Kompanije za obradu plaćanja i kompanije za kreditne kartice štite svoje potrošače od
prevarantskih prodavaca koristeći povraćaj. Ukoliko potrošač moţe dokazati da je kupio i platio
za robu ili usluge, a tokom procesa je došlo do greške kod prodavaca, kompanija koja obraĎuje
uplatu odmah će refundirati sredstva kupcu.
Kod bitkoina, ne postoji takva zaštita za svoje korisnike. Transakcije koje su ostvarene su
nepovratne. Prodavci kod bitkoin transakcija su zaštićeni od prevare, samim tim što su
transakcije nepovratne. Zbog toga kupci treba da budu izuzetno oprezni pre slanja novca
prodavcu.
Bitkoin stavlja dosta veliku moć u rukama korisnika. Sa tom moći dolazi i odgovornost
za odrţavanje tajnosti ključeva. Za većinu korisnika to baš i nije lako uraditi, pogotovo ukoliko
se koriste računarski ureĎaji opšte namene, kao što su pametni telefoni povezani sa internetom ili
laptop računari.
2.7. Prednosti i mane bitkoina
Bitkoin je digitalna verzija novca koja ima tu prednost da se isplate mogu obavljati bez
posrednika i bez transakcionih troškova koji su prisutni ako prenos novca radite preko banke ili
nekog od popularnih servisa za prenos novca kao što je Western Union koji svoju uslugu skupo
naplaćuju. Transakcije koje radite sa bitkoinom su u principu bez naplate. Jedino pri zameni za
neku drugu ponuĎenu valutu menjačnica uzima neki simboličan procenat koji je i dalje daleko
manji nego kod poslovanja sa bankama.
Prednosti jedne ovakve valute su:
Bitkoin ne moţe biti zamrznut (kao što je slučaj kod PayPal naloga).
Bitkoin ne moţe da se prati.
Bitkoin ne moţe biti oporezovan.
Transakcioni troškovi su izuzetno mali.
Kriptografske osnove bitkoina i elektronskog bankarstva
32
Danas postoji dosta mesta (velika većina virtualna) koja primaju bitkoin, što zapravo nije
čudo jer je sistem besplatan (dakle, najjeftiniji) i moguće je koristiti ga za anonimna plaćanja bez
ostavljanja traga. Plaćanje računa za sve IT usluge (recimo hosting web sajtova), kupovanje
igrica za mobilni telefon, plaćanje raznoraznih usluga (prepis tekstova, prevoĎenje, usluge web
dizajna), čak i prebacivanje većih količina novca u inostranstvo su samo neki od načina na koji
moţete iskoristiti svoje bitkoin novčiće. Sa njima moţete da trgujete i na specijalizovanim
berzama i na kupoprodajnoj razlici dodatno zaradite.
Bitkoin treba posmatrati kao investiciju sa velikim rizikom. Nezavisnost ove valute od
centralne banke je razlog što ona kod mnogih izaziva sumnju, jer kao takva nije podloţna ni
političkim odlukama. Postavlja se pitanje da li će monetarne i druge vlasti raznih drţava gledati
na ovo sa blagonaklonošću ili će nekada u budućnosti doneti zabrane ili druge mere u odnosu na
one koje koriste bitkoin kao novu valutu. OdreĎene drţave smatraju da se upotreba bitkoina
koristi u zaobilaţenju kapitalne kontrole, što je naravno nepoţeljno.
Skeptici odbacuju bitkoin kao trenutni mehur sa objašnjenjem da nema suštinsku
vrednost i da je to u stvari samo eksperimet. Bitkoin karakterišu i velike oscilacije u ceni.
Još jedan nedostatak je što je bitkoin postao povezan sa online kriminalnom. I u
budućnosti bitkoin će verovatno nastaviti da privlači sajber kriminalace. Krivične aktivnosti koje
uključuju bitkoin uglavnom su centrirane oko kraĎe valute, pranja novca i korišćenje bitkoina u
zamenu za ilegalnih stvari ili usluge. Kao i novac i bitkoin se moţe koristiti kako za dobro, tako i
za loše.
2.8. Budućnost bitkoina
Postoje različita mišljenja o bitkoinu. Mnogi smatraju da je bitkoin budućnost. Za sada je
sve i dalje na samom početku. U pitanju su investicije sa velikim rizikom, ukoliko na bitkoin
gleda kao na investiciju. MeĎutim, ne postoji razlog koji bi sprečio da bitkoin da naraste i da
postane poput velikih nacionalnih valuta. Ne postoji nijedan tehnički razlog koji bi to sprečio.
Bitkoin je svakako napravio svojevrsnu revoluciju u digitalnom svetu i uprkos tome šta
finansijski savetnici kaţu, neće tako lako nestati. Uprkos tome što je relativni novitet, velika
količina novca se obrće preko bitkoin novčića i moţemo samo pretpostaviti da će se samo sve
više i više koristiti. Ono što je sigurno je da će nekada u budućnosti plaćanja novcem prestati da
postoje. Da li je će ih zameniti bitkoin ili neka druga forma digitalnog plaćanja, to ne moţemo da
znamo.
Trgovanje bitkoinima na jedan mah se čini zaista komplikovanim, ali sa sve većom
zainteresovanošću digitalnih entuzijasta i investitora, vodeći lideri u trgovini, nude pravljenje
virtuelnog portfolija na kojem korisnik moţe da veţba prodaju i kupovinu ove valute.
Kriptografske osnove bitkoina i elektronskog bankarstva
33
Glava 3
Elektronsko bankarstvo
3.1. Uvod
U uslovima vrlo jake konkurencije gde postepeno nestaju razlike izmeĎu banaka,
investicionih banaka, brokerskih firmi i osiguravajućih kompanija, finansijske organizacije su
pod stalnim pritiskom i koriste tehnologiju kao izvor konkurentske prednosti.
Elektronsko bankarstvo predstavlja primenu principa i tehnologija elektronskog
poslovanja (pre svega interneta i pametnih kartica) u oblasti bankarstva, a šire posmatrano i u
oblasti finansijskih organizacija. Elektronsko bankarstvo omogućava pruţanje bankarskih usluga
24 sata dnevno.
Najveće tehnološko dostignuće u razvoju bankarstva je pojava elektronskog novca, a
samim tim i elektronskog bankarstva. Novac je, u savremenoj interpretaciji informacija. Kroz
njega se markira pravo nekog subjekta u odnosu na robu i usluge koje egzistiraju u jednom
društvu. Elektronski novac se definiše kao specifična „monetarna informacija“ koja se putem
elektronskog impulsa u „realnom vremenu“ prenosi izmeĎu transaktora koji obavljaju plaćanja.
Ideja elektronskog novca jeste da umesto što smeštamo vrednost na papir, moţemo da je
upakujemo u jedan niz cifara koji je mnogo prenosiviji i što je još značajnije, mnogo
inteligentniji od papirnog novca. S obzirom na karakteristike elektronskog novca, on se moţe
kontrolisati mnogo preciznije od papirnog novca. Kod elektronskog novca postoji mogućnost
autorizacije i praćenja transakcija, a novac moţete i proslediti elektronskim putem.
Elektonsko bankarstvo podrazumeva sledeće poslove:
Pristup i pregled stanja na računima korisnika
Evidencija i čuvanje svih transakcija
Plaćanja
Transfer novca sa računa na račun
Izmena informacija
Naručivanje čekova
Kontakti
Kriptografske osnove bitkoina i elektronskog bankarstva
34
3.2. Osnovne odlike elektronskog novca
Elektronski novac odnosno elektronsko plaćanje je razmena materijalnih sredstava putem
telekomunikacionih infrastruktura, kao što je internet. Ovakav novac u osnovi je virtualan i
predstavljen je brojčanim sistemom koji postoji u memoriji računara, te kao takav ne poznaje
geografske granice i moţe se praktično u trenutku prebaciti na velike udaljenosti. Premda je
češće u upotrebi pojam „elektronski novac“, terminološki je precizniji naziv „digitalni novac“,
jer se prvi moţe koristiti i u analognim komunikacijama.
Elektronski novac omogućava kupovinu roba i usluga pomoću računara u okviru
komercijalnih računarskih mreţa (npr. interneta) ili poslovnih bankarskih mreţa. Praktično,
elektronski novac u svakodnevnim transakcijama zamenjuje gotovinu i čekove. S druge strane,
poslovnim subjektima omogućava da mimo uobičajenih kanala direktno posluju putem
računarskih mreţa. Velika prednost elektronskog nad običnim novcem je u tome da je on
informacija u računaru koja moţe da se programira.
Dominantni oblik elektronskog novca je elektronski transfer sredstava pomoću
instaliranih terminala u trgovačkoj i usluţnoj mreţi (POS aparati). Drugi oblik korišćenja
elektronskog novca moguć je preko bankomata, koji omogućavaju podizanje gotovine, polaganje
depozita, prenos na druge račune i plaćanje sa različitih računa. TakoĎe, sve je veće korišćenje
personalnih računara u kućama korisnika što je dovelo do pojave sistema koji omogućavaju
raspolaganje finansijskim sredstvima iz kuće, bez odlaska u banku. Novim instrumentima
omogućava se najpre udaljen ulaz na račune, njihovo korišćenje u svim varijantama i podizanje
gotovine.
Budući da su velika brzina prenosa informacija u savremenim telekomunikacionim
sistemima podrazumeva, najznačajniji problem predstavlja bezbednost podataka koji se prenose
digitalnim putem, budući da i najmanja greška ili neopreznost mogu potpuno da uruše kompletnu
transakciju.
Tehnologije digitalnog potpisa i šifrovanja omogućuju postojanje elektronskog novca.
Ovi sistemi uključuju dve vrste ključeva za šifrovanje: privatni, koji je poznat samo vlasniku
sredstava i javni, koji je dostupan svima. Informacije koje privatni ključevi šifruju, javni mogu
da dešifruju i obrnuto. Banke i klijenti koriste svoje ključeve da šifruju (radi zaštite) i potpisuju
(u cilju identifikacije) blokove digitalnih podataka koji predstavljaju novčana sredstva. Banke
„potpisuju“ novčane naloge koristeći privatne ključeve, a tako potpisane naloge stranke i klijenti
proveravaju koristeći javni ključ. S druge strane, klijenti se privatnim ključem sluţe tokom
polaganja depozita ili podizanja novca, da bi banka putem javnog ključa korisnika proverila
verodostojnost takvog naloga.
Osnovna i veoma bitna karakteristika elektronskog novca jeste da omogućava potpunu
slobodu prilikom obavljanja transakcija na trţištu. Odlike elektronskog novca su:
Kriptografske osnove bitkoina i elektronskog bankarstva
35
Sigurnost - obavljanje transakcija treba da bude sigurno i na viskom nivou.
Anonimnost - podrazumeva privatnost prilikom obavljanja transakcija.
Prenosivost - upotreba novca nezavisna je od fizičke lokacije, jer se prenosi kroz
računarske mreţe.
Dvosmernost - novac se prenosi na druge račune i njihovi korisnici mogu slobodno da
koriste novac, bez obzira da li se radi o registrovanim trgovcima.
Offline mogućnost - podrazumeva da se transakcija moţe obaviti i bez prisustva banke ili
drugog posrednika, kao ni to da moraju biti priključeni na globalnu mreţu.
Deljivost - iznos se moţe podeliti na manje iznose.
Neograničeno trajanje - elektronski novac nema rok trajanja.
Široka prihvaćenost - ovaj način vršenja kupovine ili prodaje postaje sve više prihvaćen u
svetu, jer daje prednosti i za jednu i za drugu stranu.
Prilikom korišćenja elektronskog novca, svi mogu pomoću svojih kućnih ili poslovnih
računara vršiti plaćanje, bilo gde u svetu. Ova prednost, bitna je za sve poslovne ljude, koji ţive
u vremenu brzih promena, a kojima se moraju prilagoditi. Njegovu jednostavnost prilikom
upotrebe cene kako kupci, tako i prodavci. Korištenjem elektronskog novca smanjuju se troškovi
transakcija. Razlog jeste taj što je ovaj način plaćanja dosta jeftiniji od standardnog plaćanja
putem banke.
3.3. Proces plaćanja elektronskim novcem
Plaćanja se vrši izmeĎu računa putem softvera koji poseduju razni korisnici ovog sistema
plaćanja. Sam elektronski novac bazira se na prethodno izvršenim uplatama monetarnih
vrednosti koje su registrovane na mikročipovima elektronskih kartica koje mogu biti
upotrebljene za plaćanje roba i usluga. Proizvodi na bazi elektronskog novca razlikuju se po
svojoj tehničkoj implementaciji.
Za skladištenje unapred uplaćene vrednosti, modeli bazirani na karticama poseduju
specijalizovan i prenosni kompjuterski hardverski ureĎaj, obično mikroprocesorski čip ugraĎen u
plastičnu karticu, dok šeme bazirane na softveru koriste specijalizovani softver instaliran na
standardnom personalnom računaru.
Moguće je plaćati odreĎene usluge ili kupovinu robe putem POS aparata koji su
instalirani u prodavnicama. Postoji mogućnost plaćanja računa preko interneta, ili kupovina robe
preko interneta. TakoĎe mogu se instalirati aplikacije na kompjuteru, ili na mobilnom telefonu
preko kojih moţemo vršiti plaćanje.
Vrste elektronskog bankarstva su:
1) PC bankarstvo
2) Mobilno bankarstvo
Kriptografske osnove bitkoina i elektronskog bankarstva
36
PC bankarstvo se deli na dve grupe:
1) Desktop bankarstvo - sve se radi preko aplikacije instalirane na računaru u offline
reţimu, a računar se povezuje na internet samo radi razmene podataka.
2) Web bankarstvo - sve se radi u online reţimu, sistemu se pristupa iz internet čitača,
preko internet web stranice
Mobilno bankarstvo
Uvid u stanje i promet na bazi SMS poruka
M-Banking - moderni servisi
Desktop bankarstvo
Desktop bankarstvo predstavlja obavljanje bankarskih transakcija direktnom vezom
klijenta i banke uz pomoć specijalizovanog softvera instaliranog na klijentovom računaru sa kog
se jedino i mogu obavljati transakcije i na kome se nalaziti podaci o izvršenim promenama.
Nedostaci desktop bankarstva, poput ograničenja za obavljanje transakcija samo sa
računara na kome je instaliran skup softver, potrebno vreme za obuku za rad, kao i nezaštićenost
podataka na hard disku korisnika na napade iz okruţenja, okrenuli su veliki broj korisnika ka
web bankarstvu.
Web bankarstvo
Web bankarstvo predstavlja obavljanje bankarskog poslovanja direktno iz kuće,
posredstvom interneta.
Pri obavljanju bankarskih transakcija u web bankarstvu:
Nije potreban specijalan softver i ne postoje podaci uskladišteni na klijentovom hard
disku, pa je veća sigurnost pri obavljanju transakcija.
Pristup banci i nalogu je moguć sa bilo kog mesta na svetu, pod uslovom da na tom mestu
postoji računar povezan na internet,
Banka brine o odrţavanju sopstvenog hardverskog i softverskog sistema zaštite,
Moguće je i obavljanje online transakcija.
Internet nudi bankama veoma mnogo mogućnosti mada se još uvek globalna mreţa
uglavnom koristi u promotivne svrhe. PredviĎanja su da će se ovaj vid bankarstva razvijati
velikom brzinom. Web bankarstvo je najjeftniji oblik bankarskih usluga, dostupan 24 sata
dnevno, praktično bez prostorne ograničenosti. Glavni ograničavajući faktori, koji uslovljavaju
pristanak potrošača na ovu vrstu tehnologije, su bezbednost i privatnost.
Jasno su vidljive razlike izmeĎu web bankarstva i desktop bankarstva. Osnovna razlika je
u ugradnji specijalnih softverskih programa, koji ograničavaju korisnika na obavljanje usluga
isključivo sa računarom u koji je ugraĎen odgovarajući softver. Razlike su iu stepenu sigurnosti
pri obavljanju transakcija, zatim u novcu potrebnom za kupovinu i ugradnju softvera i vremenu
Kriptografske osnove bitkoina i elektronskog bankarstva
37
potrebnom za obuku korisnika. Pomenuti razlozi jasno ukazuju da je web bankarstvo praktičniji i
ekonomičniji način obavljanja bankarskog poslovanja direktno iz kuće.
Mobilno bankarstvo
Moţemo preko mobinih telefona pratiti stanje na našem računu. Slanjem SMS poruke
moţemo dobiti uvid u stanje na našem tekućem računu. TakoĎe moţemo instalirati aplikacije za
plaćanje putem mobilnog telefona.
Mobilni sistemi plaćanja beleţe strahovit rast. Procenjuje se da je u upotrebi preko 7
milijardi mobilnih brojeva. Korišćenje mobilnih ureĎaja kao sredstava za plaćanje se već dobro
razvijeno u Japanu i Evropi, a i u SAD se ubrzano razvija.
Korišćenjem mobilnih telefona, korisnici u Japanu mogu da kupuju stvari kao što su
vozne karte, dnevne novine, hrana u restoranu, knjige, itd. Japanski mobilni telefoni se koriste
kao digitalni novčanici, sa velikim izborom načina plaćanja.
Plaćanje mobilnim telefonom odnosno razmena informacija se obično vrši primenom
NFC tehnologija (Near Field Communication, skup tehnologija za beţični prenos podataka na
kraćim rastojanjima).
Svi vaţniji igrači, uključujući Google (Google Wallet), Apple (Apple Pay), RIM
(BlackBerry), razvijaju sopstvene sisteme za mobilna NFC plaćanja, bazirane na sopstvenim
platformama.
3.3.1. Instrumenti elektronskog plaćanja
Instrumenti elektronskog plaćanja mogu biti elektronski ček, kreditna kartica, debitna
kartica i slično.
3.3.1.1. Elektronski ček
Elektronički ček je elektronski ekvivalent klasičnog papirnatog čeka. Izdaje ga kupac
prodavcu, a prodavac ga prosleĎuje svojoj banci, koja obavlja naplatu od banke izdavaoca.
Banka izdaje ček kupcu. Prilikom kupovine kupac upisuje u elektronički ček iznos i
datum, potpisuje ga svojim digitalnim potpisom i predaje prodavcu. Prazan ček je potpisan
digitalnim potpisom banke koja ga je izdala. Prodavac upisuje na ček svoj broj računa i
prosleĎuje elektronski ček svojoj banci, potpisujući ga svojim digitalnim potpisom. Prodavčeva
banka proverava potpis prodavca i potpis banke izdavaoca i prosleĎuje ček banci izdavaocu na
naplatu. Kupčeva banka proverava svoj digitalni potpis i digitalni potpis kupca na prispelom
čeku, proverava stanje novca na računu i, ako je sve u redu, prebacuje novac s računa kupca na
račun prodavca.
Kriptografske osnove bitkoina i elektronskog bankarstva
38
Elektronski ček predstavlja rizik za prodavca pošto ne moţe znati da li kupac ima na
svom računu u banci dovoljno novca za pokriće čeka. Osim toga, kupac moţe falsificirati svoj
digitalni potpis. Ako ţeli biti siguran, prodavac mora imati online vezu s bankom izdavaocem
čeka, što bitno komplikuje i poskupljuje transakciju jer banaka moţe biti mnogo.
Elektronski ček nudi neke pogodnosti:
Veća fleksibilnost pri upravljanju
Sposobnost brze verifikacije dostupnih sredstava
Povećana sigurnost usled korišćenja digitalnog potpisa
Smanjuju se troškovi opreme koja je potrebna za servisiranje papirnih čekova
Smanjuje se manuelni rad koji je potreban za servisiranje papirnih čekova
Povećana brzina transakcija
Smanjuju se poštanski troškovi slanja čekova
3.3.1.2. Kreditna kartica
Kreditna kartica nije elektronski način plaćanja, ali budući da se plaća prenosom
informacija, moguće je njome plaćati u sistemima koji omogućavaju elektronski prenos poruke.
Osim svoje funkcije naloga za plaćanje, kreditne kartice imaju i dodatnu funkciju odlaganja
plaćanja, odnosno kredita. Plaćanje kreditnom karticom zbog velike je raširenosti kartica postalo
najzastupljeniji način plaćanja na internetu.
Banka izdaje kupcu kreditnu karticu. Kupac šalje prodavcu podatke sa svoje kartice (broj
kartice, ime nosioca). Ili ukoliko kupuje iz radnje predaje elektronski cek prodavcu. Prodavac
preko online sistema proverava valjanost kartice kod banke izdavaoca ili druge institucije
(autorizacija). Ako je kartica valjana, šalje autorizacijskoj instituciji iznos koji kupac ţeli platiti i
ako je iznos ispod limita koji ima kartica kupca, dobiva odobrenje za naplatu. Nakon što je dobio
odobrenje, beleţi kod sebe broj transakcije koje je dobio zajedno sa odobrenjem. Predaje kupcu
robu i kopiju autorizacije s brojem transakcije.
Slika 16: Kreditna kartica
Kriptografske osnove bitkoina i elektronskog bankarstva
39
Plaćanje na otvorenim mreţama (npr. internet) kreditnom karticom ima nekoliko
nedostataka:
Sigurnost transakcije - ako se neko dokopa broja kartice moţe neovlašteno trošiti.
Cena transakcije - postupak autorizacije i naplate košta, tako da nije isplativ u
slučajevima malih iznosa i malih trgovačkih marţi. Postoji odreĎeni limit.
U trenutku naplate prodavac mora imati online vezu s bankom, kako bi proverio valjanost
kartice.
Transakcija je moguća samo izmeĎu kupca i prodavca, nije moguća izmeĎu dve fizičke
osobe.
Banka odnosno izdavalac kartice raspolaţe svim podacima o iznosima, mestima i
vremenima plaćanja, pa skladištenjem tih podataka moţe pratiti klijentove potrošačke
navike, što narušava njegovu privatnost.
3.3.1.3. Debitna kartica
Debitna kartica je vrlo slična kreditnoj kartici, s tom razlikom da kupac mora u trenutku
kupovine imati na računu novac. Prodavac tada preko online veze s bankom proverava valjanost
kartice i odmah prebacuje novac s računa kupca na svoj račun. Debitne kartice obično su
zaštićene PIN brojem, tako da u slučaju kraĎe lopov ne moţe njome neovlašteno trošiti. PIN je
dovoljan sigurnosni element u slučaju kada se mora ukucavati na bankomatu, ali u slučaju kada
se on predaje u radnjama sasvim sigurno nije dovoljan. Način plaćanja debitnom karticom ne
omogućava naknadno stopiranje uplate, kao što je to kod kreditnih kartica. Debitna kartica ne
predstavlja rizik za prodavca, ali zahteva da se celi proces provere i prenosa novca obavi pre
isporuke robe kupcu. Uz već spomenuti rizik kupca, ovo debitnu karticu čini nepraktičnom za
korištenje na internetu.
Slika 17: Debitna kartica
Banka izdaje debitnu karticu klijentu. Kupac posećuje online stranicu prodavca i upisuje
broj kartice. Kupac daje banci nalog za prenos sredstava prodavcu, upisuje svoj PIN. Banka
prenosi novac sa računa kupca na račun prodavca. Prodavac proverava stanje na svom računu i
izdaje robu. Ili se moţe koristiti u radnjama koje imaju aparat za naplatu preko kartica.
Kriptografske osnove bitkoina i elektronskog bankarstva
40
Upotreba debitnih kartica ima veliki potencijal iz više razloga. Stvoren je jedinstven
sistem plaćanja koji ne poznaje nacionalne i valutne granice. Izbegava se rizik nošenja gotovine,
ali ni ovo nije sasvim bezbedan sistem. Ako izgubite digitalni novac, na primer, moći ćete
momentalno da zabranite transakcije sa kartice. Pored toga, za razliku od papirnog novca koji
prestaje da donosi kamatu u momentu kada ga podignete sa računa, elektronski novac moţe da
donosi kamatu sve do trenutka kada ga potrošite.
Mnogi smatraju da je najbolja stvar u vezi sa elektronskim novcem ta što on moţe lako
da se prati, čime će se konačno raščistiti sa čitavom kategorijom kriminala baziranog na
papirnom novcu.
Zahtevi koji moraju da se ispune za jednu karticu:
Kartice mogu da se proizvode samo od strane ovlašćenih proizvoĎača.
Svaka kartica mora zadovoljiti odreĎene tehnološke karaktersitike.
Treba da bude onemogućena reprodukcija.
ObezbeĎeni svi nivoi kontrole.
Propratni vidovi kontrole.
Moraju biti definisani uslovi za dobijanje platne kartice
Za sve tipove kartica struktura i sadrţaj podataka moraju biti propisani ISO 7831
meĎunarodnim standardom.
Moraju biti definisani uslovi, ovlašćenja i obaveze u postupku izdavanja platne kartice.
3.4. Prednosti elektronskog bankarstva
Elektronsko bankarstvo je doprienlo tome da banka smanji broj zaposlenih kadrova u
svojim poslovnim objektima. Instaliranjem različitih elektronskih servisa pruţa se kvalitetnija i
sigurnija usluga korisniku od usluge pruţene u filijali banke. Banka je svojim klijentima pruţila
mogućnost da upravljaju svojim tekućim računima od kuće, putem interneta, mobilnih telefona,
preko banomata, POS terminala u prodavnicama i time je smanjila deo troškova. TakoĎe,
uvoĎenje različitih usluga elektronskog bankarstva banka ima mogućnost da svoju uslugu širi na
veću geografsku površinu. To doprinosi ukidanju barijera koje su postojale u poslovima
tradicionalnog bankarstva. Pokrivanjem veće teritorije, banka automatski utiče na povećanje
broja korisnika svojih usluga, koji prihvataju sva savremena rešenja koja im smanjuju utrošeno
vreme.
Elektronsko bankarstvo svojim raspoloţivim servisima pruţa veliki broj pogodnosti za
korisnike. Kao najznačajniji korisnici elektronskog bankarstva mogu se navesti fizička i pravna
lica. Za sve korisnike najznačajnija prednost upotrebe distributivne mreţe elektronskog
bankarstva jeste mogućnost korišćenja bankarskih usluga 24 časa, 7 dana u nedelji. To znači da
su raspoloţivi servisi dostupni u svakom trenutku kada korisnik ima potrebu za njima.
Upotrebom ovih servisa smanjuju se troškovi odlaska u banku i nepotrebna čekanja u redovima.
Kriptografske osnove bitkoina i elektronskog bankarstva
41
Posedovanjem platnih kartica moţe se podići gotovina na više lokacija, moţe se proveriti stanje i
drugo. Korisnici mogu brzo i lako da dobiju sve potrebne informacije u vezi njihovih računa.
Moguće je slanje novčanih sredstava sa jednog računa na drugi putem interneta i plaćanje svih
računa. Postoji mogućnost obaveštavanja o uplatama na tekući račun putem interneta i mobilnog
telefona.
3.5. Problemi elektronske trgovine
Digitalni novčanice sastoje se od izvesnog broja bitova. Prema tome, postoji mogućnost
kopiranja ovih novčanica i njihovog puštanja u opticaj. Ovaj fenomen poznat je pod nazivom
problem dvostrukog trošenja. Zbog toga, platni sistem mora da poseduje mehanizme za
prepoznavanje i prevenciju ponovljenih plaćanja istim digitalnim novčanicama.
U mnogim zemljama postoji organizovani kriminal kada su platne katice u pitanju. Neki
od mehanizama su pravljenje duplikata kartica, kraĎa i snimanje korisnika koji koristile
bankomate (kako bi se došlo do lozinki), laţna dokumenta... TakoĎe moţe biti narušena
privatnost kupca jer se elektronski novac moţe lako pratiti.
Ono što je nepogodnost za banke jeste što najveći broj sistema elektronske gotovine ima
epitet interaktivnih sistema kao i skupu opremu. Potrebno je obezbediti sigurnost i pouzdanost,
što naše banke još uvek ne mogu da obezbede, pa se često zna desiti da neki od terminala ne radi
i da ne moţete podići novac ili platiti nešto u prodavnici.
Glavna prepreka porastu trgovine preko interneta je nedostatak široko prihvaćenih
sistema za bezbedna elektronska plaćanja. Strah od davanja finansijskih informacija preko
interneta, glavni je razlog zbog koga potrošači ne naručuju robu i usluge online. Od suštinske
vaţnosti za uspeh transakcija u elektronskoj trgovini je obezbeĎenje sigurnosti podataka koji se
šalju preko interneta. Bez garancija da će njihovi podaci sa kreditne kartice biti bezbedni,
potrošači neće da kupuju preko interneta.
Da bi elektronske transakcije bile bezbedne neophodno je da zadovolje sledeće zahteve:
ObezbeĎenje privatnosti komunikacija - zaštita tajnosti i poverljivosti podataka, zaštita
osetljivih i ličnih informacija od namernog i nenamernog otkrivanja;
Provera da komunikacije nisu bile promenjene u transmisiji - sprečavanje neovlašćene
izmene informacija;
Autentifikacija - provera klijenta i servera;
Autorizacija - postupak provere da li je lice legalno ovlašćeno za prava koja zahteva, npr.
pristup podacima, odnosno garancija da informacije potiču od autora koji ih je potpisao.
Autorizacija transakcije podrazumeva proveru stanja na računu kupaca i proveru njegove
kreditne sposobnosti.
Kriptografske osnove bitkoina i elektronskog bankarstva
42
Protokoli koji se koriste pri razmeni elektronskog novca zasivaju se na sigurnosnom
sistemu koji koristi više elemenata: algoritme za kriptovanje, funkcije saţetka, jednosmerne
funkcije, generatore slučajnih brojeva, lozinke, itd. Svaki od ovih elemenata podloţan je napadu
zlonamernih napadača. U praksi se pokazalo da su najčešći i najuspešniji napadi usmereni na
ljude, odnosno korisnike sistema.
Svaki od algoritama za kriptovanje koji se koristi ima nivo sigurnosti koji zavisi od teţine
matematičkog problema na kojem je baziran. Kod simetričnih i asimetričnih algoritama sigurnost
zavisi od duţine ključa. Kako s vremenom računari postaju sve brţi i jeftiniji, a pri tom
napreduju i saznanja na polju algoritama, minimalna duţina ključa se povećava. Minimalna
potrebna duţina ključa za komercijalnu upotrebu procenjena je tako da se korišćenjem najboljeg
trenutno dostupnog algoritma i najbrţeg trenutno dostupnog računara (ili mreţe računara) ne
moţe obaviti dekriptovanje poruke bez poznavanja ključa u prihvatljivom roku.
Za potrebe kratkoročne zaštite (slanje poruka) u ovom trenutku dovoljan je ključ od 72
bita za simetrični algoritam, 1024 bita za asimetrični i 136 bita za algoritam s eliptičkom krivom.
Za kriptovanje podataka koji će biti čuvani više decenije, tada se moţe računati da će simetrični
algoritmi sa 96 bita, asimetrični sa 2048 bita i eliptički sa 192 bita biti sasvim dovoljni. Kako
AES algoritam predviĎa duţinu ključa od 128, 192 i 256 bita, čini se da nam algoritmi
omogućavaju miran san još dugi niz godina. Kriptografski algoritam koji stoji iza platnih kartica
je AES algoritam.
3.6. AES algoritam
Blok šifrovanje se koristi za šifrovanje kratkih poruka kao što su ključevi, lozinke, potpisi
ili autentifikacije korisnika. Izvorni podatak se deli u blokove simbola odreĎene veličine koji se
individualno i nezavisno kodiraju u cilju formiranja šifrovanog bloka podataka.
AES (Advanced Encryption Standard) AES algoritam je tzv blok šifra koja koristi isti
ključ u procesu šifrovanja i dešifrovanja podataka koja se primenjuje u nekoliko ciklusa.
AES se zasniva na Rijndael algoritmu koji su razvili Daemen i Rijmen 1999. godine.
Ovaj algoritam pripada grupi simetričnih šifarskih blokova, koji kriptuje blokove podataka od po
128 bitova koristeći ključeve od 128, 192 i 256 bita. Sve vrednosti u okviru AES algoritma
predstavljaju se u vektorskom obliku ( , , , , , , , a koji odgovaraju sledećem
polinomu:
+
+ +
+ +
+ + ∑
Kriptovanje podataka pomoću AES algoritma se obavlja iz više iteracija, zavisno od
duţine ključa. Izvorni podaci se dele u 4 grupe od po 4 bajta na osnovu kojih se formira
dvodimenzionalna matrica ulaznih bajtova. Na osnovu matrice ulaznih podataka formira se
Kriptografske osnove bitkoina i elektronskog bankarstva
43
matrica zvana matrica stanja. Sve operacije koje se obavljaju u toku AES algoritma se izvode
nad matricom stanja. Matricu stanja čine četiri reda duţine jedan bajt.
Matrica ulaznih podataka se sastoji od elemenata in , in , …, in , duţine od po jedan
bajt. Ova matrica se preslikava u matricu stanja pomoću sledeće šeme:
s , = in , za 0 ≤ r < 4 i 0 ≤ c < Nb
Slika 18: Preslikavanje matrice ulaznih podataka u matricu stanja
Ukoliko se radi o dekriptovanju proces formiranja matrice izlaznih podataka iz matrice
stanja koristi se sledeća šema:
out = s , za 0 ≤ r < 4 i 0 ≤ c < Nb
Slika 19: Preslikavanje matrice stanja u matricu izlaznih podataka
U svakoj od iteracija izvršavaju se operacije nad elementima matrice stanja dimenzije
4x4. Redosled i broj izvršavanja ovih operacija je definisan algoritmom za kriptovanje. Moguće
su sledeće operacije:
1) SubBytes ( ) (nelinearna zamena bajtova pomoću supstitucione tabele).
2) ShiftRows ( )(promena mesta bajtovima unutar istog reda).
3) MixColumns ( ) (transformacija bajtova unutar iste kolone).
4) AddRoundKey ( ) (inicijalno dodavanje ključa).
AES algoritam počinje i završava se operacijom AddRoundKey, jer jedino ova faza
koristi ključ. Ostale tri faze obezbeĎuju konfuziju, difuziju i nelinearnost, ali samostalno ne
doprinose bezbednosti, jer ne koriste ključ.
Kriptografske osnove bitkoina i elektronskog bankarstva
44
SubBytes (zamena bajtova). U svakom ciklusu vrši se zamena bajtova. To je operacija
substitucije koja se obavlja nad svakim bajtom iz matrice stanja tako što se svaki element menja
sa elementom iz pomoćne tabele odnosno S-box-a.
Slika 20: SybBytes( ) operacija
ShiftRows( ) operacija se odnosi na pomeranje elemenata (bajtova) u okviru kolona za
odreĎeni broj pozicija. Prva kolona ostaje nepromenjena, dok se svaka sledeća kruţno pomera i
to: druga kolona za po jedno mesto ulevo, treća za po dva mesta ulevo itd.
Slika 21: ShiftRows( ) operacija
MixColumns( ) operacija koja koristi odreĎenu linearnu transformaciju nad svakom
kolonom iz matrice stanja. Primer ove operacije je prikazan na slici gde se nad kolonom obavlja
operacija mnoţenja sa konstantom C(x).
Slika 22: MixColumns( ) operacija
Kriptografske osnove bitkoina i elektronskog bankarstva
45
Operacija AddRoundKey( ) operacija se odnosi na XOR operaciju nad matricom stanja i
matricom ključeva.
Slika 23: AddRoundKey( ) operacija
Ključ veličine 128/192/256 bita se predstavlja kao matrica koja ima 4 kolone od po 4/6/8
bajta. Zatim se tako dobijena matrica proširuje u niz reči od po 4 bajta, odnosno ukupno 44/52/60
reči od 128/192/256 bita. Proširenje ključa se započinje kopiranjem prve četiri reči ključa u
reč ( , , , ). Zatim se formira petlja koja generiše sledeće četiri reči na osnovu
predhodne reči i reči koja je za 4 mesta unazad . U tri od četiri slučaja se primenjuje
samo XOR operacija, a svaki četvrti ima sloţeniju funkciju g.
Slika 24: Proširenje ključa
Kriptografske osnove bitkoina i elektronskog bankarstva
46
Funkcija g se formira od sledećih operacija:
- RotWord ( )
- SubWord ( )
- Rcon (i)
RotWord ( ) se odnosi na kruţno pomeranje reči u levo za jedan bajt. Ukoliko je ulazna
reč ( , , , ) nakon pomeranja se transformiše u ( , , , ).
SubWord ( ) operacija substitucije koja se obavlja nad svakom od reči veličine četiri
bajta. Ova operacija zamenu reči vrši pomoću S-box-a.
Rcon (i) operacija predstavlja matricu konstanti koju čine reči, a računa se po formuli:
Rcon (i) =
Algoritam se na najvišem nivou sastoji iz sledećih radnji:
• Proširenje ključa
• Inicijalna iteracija: AddRoundKey( )
• Iteracije redom: SubBytes ( ), ShiftRows ( ), MixColumns ( ) i AddRoundKey ( )
• Konačna iteracija: SubBytes ( ), ShiftRows ( ) i AddRoundKey ( )
Kriptografske osnove bitkoina i elektronskog bankarstva
47
Zaključak
Bitkoin je skup koncepata i tehnologija koje čine osnovu ekosistema digitalnog novca.
Jedinice štednje pod nazivom bitkoin se koriste za čuvanje i prenos vrednosti meĎu učesnicima u
bitkoin mreţi. Bitkoin korisnici komuniciraju jedni sa drugima koristeći bitkoin protokol
prvenstveno putem interneta, iako se druge saobraćajne mreţe takoĎe mogu koristiti.
Za razliku od tradicionalnih valuta, bitkoin su potpuno virtualna valuta. Nema fizičkih
kovanica ili čak digitalnih kovanice. Novac se sadrţi u transakcijama koje prenose vrednosti od
pošiljaoca do primaoca. Korisnici bitkoina koriste svoje ključeve koji im omogućavaju da
dokaţu vlasništvo u bitkoin mreţi, koje koriste da bi mogli da troše bitkoine, ili da ih prenose
dalje. Bitkoini se često čuvaju u digitalnom novčaniku na računaru svakog korisnika, na
mobilnom telefonu, ili u nekom drugom obliku. Posedovanje ključa koji otključava transakciju je
jedini preduslov za trošenje bitkoina, stavljajući kontrolu u potpunosti u rukama svakog
korisnika.
Elektronski novac se definiše kao specifična monetarna informacija koja se putem
elektronskih impulsa u realnom vremenu prenosi izmeĎu transaktora koji obavljaju plaćanja.
Elektronski novac omogućava kupovinu roba i usluga pomoću računara u okviru komercijalnih
računarskih mreţa (npr. interneta) ili poslovnih bankarskih mreţa. Praktično, elektronski novac u
svakodnevnim transakcijama zamenjuje gotovinu i čekove. S druge strane, poslovnim subjektima
omogućava da mimo uobičajenih kanala direktno posluju putem računarskih mreţa. Pojava
elektronskog novca nametnula je potpuno novu filozofiju u bankarstvu koja se zasniva na
elektronskoj razmeni podataka i sredstava (EFT - Electronic Funds Transfer), koja je pojmovno
odreĎena kao elektronsko bankarstvo.
Za zaštitu bitkoina i elektronskog novca koriste se kriptografski algoritmi. Oni su veoma
pouzdani. Za zaštitu bitkoina se koristi kriptosistem sa javnim ključem, dok se kod elektronskog
novca koristi simetrični kriptosistem.
Kriptografske osnove bitkoina i elektronskog bankarstva
48
Literatura
Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder,
“Bitkoin and Cryptocurrency Technologies“, 2015., Princeton
Andreas M. Antonopoulos, “Mastering Bitkoin“, 2015. Sjedinjene Američke Drţave
Johannes A. Buchmann, “Introduction to Cryptography“, Technical University Dramstadt,
2002., New York
dr Dejan Erić, dr Aleksandar Ţivković, Uvod u finansijski menadţment, 2005., Beograd
Radovanović, Predrag, Zbornik radova Više ekonomske škole, 1999., Leskovac
http://www.mathscareers.org.uk/article/bitcoin-currency-built-with-mathematics/
https://www.coindesk.com/math-behind-bitcoin/
https://www.slideshare.net/akram-elkorashy/bitcoins-math
https://en.wikipedia.org/wiki/Elliptic-curve_cryptography
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
https://www.raf.edu.rs/citaliste/svastara/4007-elektronski-novac-bitkon
https://www.scribd.com/document/350618813/KRIPTOVALUTA-pdf
Прилог 5/1
ПРИРОДНO - MАТЕМАТИЧКИ ФАКУЛТЕТ
НИШ
КЉУЧНА ДОКУМЕНТАЦИЈСКА ИНФОРМАЦИЈА
Редни број, РБР:
Идентификациони број, ИБР:
Тип документације, ТД: монографска
Тип записа, ТЗ: текстуални / графички
Врста рада, ВР: мастер рад
Аутор, АУ: Александра Манић
Ментор, МН: Јелена Игњатовић
Наслов рада, НР: Криптографске основе биткоина и електронског
банкарства
Језик публикације, ЈП: српски
Језик извода, ЈИ: енглески
Земља публиковања, ЗП: Р. Србија
Уже географско подручје, УГП: Р. Србија
Година, ГО: 2018.
Издавач, ИЗ: ауторски репринт
Место и адреса, МА: Ниш, Вишеградска 33.
Физички опис рада, ФО: (поглавља/страна/ цитата/табела/слика/графика/прилога)
48 стр. ; граф. прикази
Научна област, НО: рачунарске науке
Научна дисциплина, НД: криптографија
Предметна одредница/Кључне речи, ПО: симетрични криптосистеми, асиметрични
криптосистеми, РСА, биткоин, електронско
банкарство, АЕС
УДК 003.26:336.7+336.71
004.421:336.7+336.71
Чува се, ЧУ: библиотека
Важна напомена, ВН:
Извод, ИЗ: Тема рада је криптографска основа тренутно
најпопуларније криптовалуте, биткоина, као и
криптографска основа електронског банкарства.
Приказана је математичка основа криптографских
алгоритама, која је базирана на елиптичким кривама и на
коначном пољу. Описани су симетрични и асиметрични
криптографски алгоритми, као и принцип рада РСА
алгоритма и АЕС алгоритма. Представљен је биткоин,
његова функционалност и значај. Описано је електронско
банкарство и употреба електронског банкарства.
Датум прихватања теме, ДП: 20.03.2018. год.
Датум одбране, ДО:
Чланови комисије, КО: Председник:
Члан:
Члан, ментор:
Образац Q4.09.13 - Издање 1
Прилог 5/2
ПРИРОДНО - МАТЕМАТИЧКИ ФАКУЛТЕТ
НИШ
KEY WORDS DOCUMENTATION
Accession number, ANO:
Identification number, INO:
Document type, DT: monograph
Type of record, TR: textual / graphic
Contents code, CC: university degree thesis
Author, AU: Aleksandra Manić
Mentor, MN: Јelena Ignjatović
Title, TI: Cryptographic basics of bitcoin and electronic banking
Language of text, LT: Serbian
Language of abstract, LA: English
Country of publication, CP: Republic of Serbia
Locality of publication, LP: Serbia
Publication year, PY: 2018.
Publisher, PB: author’s reprint
Publication place, PP: Niš, Višegradska 33.
Physical description, PD: (chapters/pages/ref./tables/pictures/graphs/appendixes)
48 p. ; graphic representations
Scientific field, SF: Computer Science
Scientific discipline, SD: cryptography
Subject/Key words, S/KW: symmetric cryptosystems, asymmetric cryptosystems, RSA,
bitcoin, electronic banking, AES
UC 003.26:336.7+336.71
004.421:336.7+336.71
Holding data, HD: library
Note, N:
Abstract, AB: The theme of the thesis is the cryptographic basis of the most
popular cryptocurrency, bitcoin, and cryptographic basis of
electronic banking. The mathematical basis of cryptographic
algorithms is presented, which is based on elliptic curves and
the final field. Symmetric and asymmetric cryptographic
algorithms are described, as well as the principle of the RSA
algorithm and AES algorithm. Bitcoin, its functionality and
significance are presented. Electronic banking and the use of
electronic banking are described.
Accepted by the Scientific Board on, ASB: 20/03/2018
Defended on, DE:
Defended Board, DB: President:
Member:
Member, Mentor:
Образац Q4.09.13 - Издање 1