- Objavljeno datuma
Šta su kriptovalute i gdje se nalaze?
- Autori
- Ime
- Vladimir Stevic
- X
Uvod
Riječ kripto (crypto) potiče od riječi "kriptografija", što je tehnika kojom se štite informacije pomoću matematičkih algoritama. Kakve to veze ima sa kriptovalutama? Da bismo odgovorili na ovo pitanje, prvo moramo razumijeti:
- Gdje su to kriptovalute i kako izgledaju?
- Šta je ledger?
- Šta predstavlja blockchain?
- Šta su ključevi?
- Koja je uloga kriptografije?
Prije odgovora na ova pitanja, postavljamo kratku definiciju osnovne ideje kriptovaluta:
Kriptovalute su digitalni novac. Za razliku od tradicionalnog (fiat) novca poput evra ili dolara, kriptovalute ne izdaju (štampaju) banke. One su bez centrale, dakle decentralizovane - što znači da ne postoji jedna osoba/institucija koja ih kontroliše.
Ovu definiciju treba uzeti s rezervom, no nešto više o tome u drugom članku.
Gdje su kriptovalute i kako izgledaju?
Mnogi od nas, kada pričamo o novcu, imaju jasnu sliku fizičke novčanice u glavi, te se javlja pitanje gdje su kriptovalute i kako izgledaju?
Odgovor na ovo pitanje je prosto: kriptovalute nemaju svoj fizički oblik. Ovo ne znači da nemaju vrijednost.
Većina nas ima račun u banci, gdje možemo vidjeti stanje svog novca putem aplikacije. Međutim, kada bi svi ljudi htjeli u istom trenutku da podignu sav svoj novac sa banke, desio bi se kolaps - jer toliko fizičkog novca ne postoji.
Ovo nas ne treba plašiti niti dovoditi do krajnosti, već treba služiti kao jednostavan primjer da novac ne mora imati fizički oblik. Dakle, ne možemo svi odjednom podići sav novac, ali možemo svi odjednom potrošiti novac putem bankovne transakcije, plaćanjem karticom i slično.
Šta nam ovo govori? Novac nije fizička stvar, nego medijum za razmjenu.
Ledger
Još uvijek nam nedostaje odgovor. Gdje je novac koji postoji na našem računu u banci ukoliko zaista ne postoji u svom fizičkom obliku? Banka nema mali sef za svakog od nas u kojem drži naš novac.
Pokušajmo odgovoriti na ovo pitanje:
Možemo zamisliti da svaka banka ima jednu veliku knjigu gdje su zabilježene sve uplate i isplate. Kada neko primi novac (recimo firma uplati platu), naša banka u svojoj knjizi dodaje novi red - "od firme N.N. 1000 evra za lice N.N.", u nekoj budućnosti ovo isto N.N. lice plaća u marketu karticom račun od 100 evra, banka u svoju knjigu dodaje novi red "od lica N.N. 100 evra za market N.N.".
Pregledom ove knjige, banka jasno može da utvrdi da je trenutno stanje računa N.N. lica 900 evra, iako ni u jednoj od ovih transakcija nismo imali fizički novac.
Ovo nas dovodi do suštine: novac je postao zapis u banci, a ne fizička stvar koju možemo opipati.
Sada imamo odgovor na oba pitanja - gdje su kripovalute i gdje je novac sa bankovnog računa: zapisan je (digitalno) u bazi podataka. Ovaj sistem, zapise u bazi podataka ili knjigu zapisa nazivamo Ledger.
Blockchain
U prethodnom dijelu vidimo jako veliku sličnost, tradicionalni novac je takođe digitalni zapis, kao i kripovalute. Šta je onda razlika?
Osnovna razlika jeste da svaka banka ima svoju veliku knjigu u kojoj vodi evidencije, te je sama banka centrala i ima skoro apsolutnu moć nad tom knjigom. Sa druge strane u svijetu kriptovaluta ovu knjigu posjeduju svi i ona je javna. Da bi ovo bolje razumijeli, navešćemo primjer u kojem Nikola želi da pošalje Jovani 100 evra:
Put transakcije u banci
- Nikola otvara mobilnu aplikacije koju je dobio od banke kada je otvorio račun.
- Nikola sa svog računa putem aplikacije šalje na Jovanin račun 100 evra.
- Radnik u banci na svom računaru provjerava da li Nikola ima dovoljno sredstava
- Radnik je utvrdio pregledom u veliku knjigu evidencija da Nikola ima dovoljno sredstava te odobrava ovu transakciju.
Put transakcije u crypto svijetu
- Nikola otvara svoj digitalni novčanik (aplikacija).
- Nikola sa svog digitalnog novčanika šalje 1 bitcoin na Jovanin račun.
- Ovu transakciju dobijaju svi računari povezani u jednoj mreži, te provjeravaju da li Nikola ima dovoljno sredstava.
- Računarski program je utvrdio da je transakcija validna te ona ulazi u zvaničan zapis - dodaje se novi red u knjigu.
Osnovna razlika je u tome da u bankarskom svijetu, pojedinačna banka odlučuje da li će dozvoliti transakciju, dok sa druge strane svi računari u mreži (računarskim programom) odobravaju transakciju, te ne postoji mogućnost za ljudskom greškom ili malverzacijom.
Ovo nam je omogućila upravo blockchain tehnologija koja najprostijim riječnikom, predstavlja digitalnu knjigu transakcija sačuvanu na svim računarima u mreži.
Ključevi
Jasno nam je da banka igra ulogu čuvara gdje u svojim internim bazama podataka tačno zna i garantuje da Nikola ima 1000 evra, a Jovana 100 evra na računu. Prema tome Nikola i Jovana imaju određenu sigurnost koju im pruža banka, te mogu svoj novac čuvati kod banke i preko nje s njime raspolagati.
Banka garantuje da Nikola ne može poslati 100 evra s Jovaninog računa na svoj. Banka bi rekla Nikoli: ali vi niste Jovana, vaša lična karta i lik kažu da ste Nikola.
Zamislite da postoji mašina koja tačno zna da Nikoli pripada Nikolin račun, a Jovani - Jovanin. Kako?
Kada kreiramo digitalni novčanik (što bi bilo otvaranje naloga u banci) dobijamo računarski generisan privatni i javni ključ. Da bi uprostili ove pojmove, kroz primjer, možemo reći da je javni ključ korisničko ime na društvenoj mreži (facebook, instagram, tiktok), dok je privatni ključ lozinka pomoću koje pristupamo nalogu.
Karakteristike javnog ključa ili korisničkog imena na društvenoj mreži jesu da je vidiljivo svima, svi mogu da vidi da postoji na instagram-u ili facebook-u nalog sa korisničkim imenom "nikola91", te svi mogu poslati poruku ovom profilu.
Sa druge strane privatni ključ ili lozinku jedino posjeduje vlasnik profila, te jedino on pristupom na svoj profil pomoću kojeg može objaviti fotografiju na profilu ili poslati poruku drugom profilu.
Da sumiramo: bez obzira što svi mogu vidjeti naše korisničko ime (javni ključ), niko bez lozinke (privatnog ključa) ne može poslati poruku u naše ime.
Vratimo se na Nikolu i Jovanu, te pokušajmo dati odgovor kako to mašina zna ko je ko?
- Nikola je kreirao svoj digitalni novčanik i dobio svoj javni i privatni ključ koji su povezani.
- Jovana, takođe posjeduje digitalni novčanik, što znači da ima javni i privatni ključ.
- Nikola sada želi prevariti sistem te šalje transakciju sa Jovanine adrese na svoju.
- Sada sistem postavlja Nikoli pitanje: koja je lozinka (privatni ključ) ove adrese sa koje želiš poslati novac?
- Nikola naravno ne zna Jovanin privatni ključ, te sistem (blockchain) odbija ovu transakciju.
Dakle, mašina (blockchain tehnologija) u ovom slučaju tačno zna koji račun (adresa) pripada Nikoli, a koji Jovani.
Ovo nam otvara nova pitanja - da li to mašina zna naš privatni ključ, da li je on negdje sačuvan u bazi podataka, da li neko ipak ima pristup njemu osim nas?
Odgovor na ova pitanja je da niko pa čak ni sama mašina ne zna naš privatni ključ, ali ipak dozvoljava slanje novca sa naše adrese pomoću kriptografije.
Pa kako onda mašina zna da Nikolin privatni ključ odgovara Nikolinoj adresi (javnom ključu)? Ovdje na red dolazi kriptografija.
Kriptografija
Kriptografija igra ključnu ulogu u svijetu kriptovaluta, no šta je zapravo kriptografija?
Na primjer: Nikola želi poslati pismo sa tajnom informacijom Jovani. U tom trenutku odlučuje da sakrije sadržaj ovog pisma, te umjesto da napiše "Ovo je tajna poruka" koristi algoritam pod kojim sakriva sadržaj. Sada ta poruka glasi: "Akurop anjat ej ovo", dakle od nazad ka naprijed. Niko od onih koji nose pismo neće razumijeti šta piše. Jovana unaprijed zna kako dešifrovati ovu poruku, jer joj je Nikola rekao riješenje algoritma: čitaj od nazad ka naprijed.
Dakle, kriptografija je proces sakrivanja informacija tako da samo osoba kojoj je poruka upućena može pročitati njen sadržaj.
U primjeru navedenom iznad Nikola je morao da otkrije Jovani algoritam (privatni ključ) kako bi ona dešifrovala poruku. Moramo li sistemu otkriti privatni ključ kako bi nam dozvolio da pošaljemo novac sa svog računa?
U blockchain tehnologiji idemo korak dalje, niko osim vlasnika ne zna i ne mora znati privatni ključ, a sistem može potvrditi validnost transakcija bez otkrivanja tog ključa.
Kada Nikola želi da pošalje 1 bitcoin Jovani, on zapravo koristi svoj privatni ključ da potpiše tu transakciju. Zahvaljujući posebnim algoritmima kao što je ECDSA, sistem može da potvrdi da je ovaj potpis validan, bez da zna Nikolin privatni ključ.
Zamislite to ovako, samo vi možete da svojom rukom potpišete prenos novca u banci sa vašeg računa na drugi račun, svi mogu da vide i potvrde da je to vaš rukopis i vaš potpis, ali je nemoguće iskopirati taj potpis.
Kraj
Sve ovdje napisano je umnogome uprošteno objašnjenje i banalizovano, detaljnije o pojedinačnim stvarima u nekim budućim člancima.