kriptografske osnove bitkoina i elektronskog bankarstvaunarske...univerzitet u nišu prirodno -...

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

Upload: vokhanh

Post on 26-Apr-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

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