Ukoliko niste pročitali naš uvodni tekst o Bitcoin-u, i zašto vam je važno da to učinite, onda prvo pročitajte: Šta je Bitcoin, i kako on može da nam pomogne?
Bitcoin, sa velikim B na početku, odnosi se na mrežu računara koji održavaju knjigu stanja na akauntima bitcoin digitalne valute, slično kao što banke održavaju knjigu stanja na računima dolara, eura ili neke druge valute. Bitcoin softver, odnosno protokol, takođe omogućava korisnicima da putem interneta pošalju bitcoin-e sa svog akaunta na drugi akaunt, slično PayPal-u ili Venmo-u, ali bez kompanije koja pruža uslugu prenosa. Bitcoin softver je otvorenog koda, tako da svako može da ga pokrene na svom računaru i da se pridružiti mreži.
Najbolji način da se razume kako Bitcoin funkcioniše “iznutra” je da ga zamislimo kao finansijski sistem. Naš trenutni finansijski sistem, koji uglavnom koristi dolare, eure, dinare i druge valute kao „novac“, izgleda otprilike ovako:
Centralne banke i vlade proizvode i distribuiraju novac pozajmljujući ga ljudima, i trošeći ga na oružje, puteve i socijalne programe. Ovaj sistem se naziva sistemom zasnovanom na dugovima, jer svaki put kada banka da zajam, stvara se nova valuta koja ranije nije postojala. Ova valuta ima vrednost jer dug koji ju je stvorio ima vrednost: primalac zajma obećava da će otplatiti svoj dug banci, plus kamate.
Kad god banka odobri kredit, ona stvara novu valutu. Ovo takodje važi i kada podignete hipoteku ili kredit za auto. Takođe se primenjuje i kada Američke Federalne Rezerve kupuju državne obveznice od vlade Sjedinjenih Država. U svakom od ovih slučajeva, banka šalje novonastalu valutu primaocu zajma. Primaoc zajma obećava banci da će u budućnosti vratiti tu valutu, plus kamate. Međutim, ulaz nove valute u sistem znači i da opada vrednost postojeće valute koja je u opticaju. To se dešava kroz proces koji se obično naziva inflacija.
Da bi imali koristi od pogodnih usluga koje nude banke, poput kreditnih kartica i digitalnih transfera novca, normalni ljudi i preduzeća obično novac drže na bankovnim računima. Svaka banka poseduje svoju knjigu sa računima svih svojih klijenata.
Banke su neophodne da bi omogućile digitalna plaćanja koja vršimo svakodnevno, jer su nam potrebne pouzdane strane koje bi proverile da li se sav računovodstveni sistem sabira. U suprotnom, bilo bi lako da neko uradi “copy-paste“ jednog dela digitalnog novca i da ga potroši dva puta, ili da doda par nula na stanje svog računa.
Sada razumemo nekoliko ključnih tačaka o trenutnom sistemu zasnovanom na dugu: banke proizvode novu valutu svaki put kad pozajmljuju novac, a većina ljudi svoj novac čuva u bankama koje im nude pogodnosti.
Bitcoin je malo drugačiji. Hajde da započnemo ovo putovanje sa pitanjem.
Šta ako bi svi posedovali knjigu stanja na računima, baš kao i banka?
Umesto da banke poseduju po jednu knjigu depozita svojih klijenata, šta ako svi poseduju istu knjigu, sa detaljnim opisima svih stanja na računima svih učesnika u ekonomiji? O privatnosti ne morate da brinete ni na trenutak – to ćemo objasniti kasnije.
Hajde da vidimo kako bi transakcija mogla da se izvrši koristeći ovakav bankarski sistem. Recimo da Ana želi da plati Davidu 10 digitalnih „novčića“. Ona tu transakciju zapisuje u e-mail, potpisuje je digitalno kako bi svi bili sigurni da e-mail dolazi od stvarne Ane, i šalje ga svima ostalima. Kada ostali prime taj e-mail, oni ažuriraju svoje knjige, tako što skinu 10 novčića sa Aninog računa i dodaju 10 novčića na Davidov račun.
Zašto bi se neko trudio da evidentira transakciju u svojoj knjizi?
Recimo da će prva osoba koja izvrši sledeće korake dobiti 5 novčića:
- Proverom da li je prava Ana potpisala transakciju
- Proverom da li Ana ima dovoljno sredstava na svom računu da plati Davidu 10 novčića
- Zapisivanje transakcije ukoliko ispunjava uslove #1 i #2
Primetićete da se ovo mnogo razlikuje od trenutnog monetarnog sistema. U novom sistemu morate da imate novčiće da biste mogli da ih date nekom drugom. Ne postoje banke sa posebnim privilegijama koje mogu da stvore valutu davanjem zajma.
Umesto da dozvoljava samo maloj grupi bankara da prave nove valute, novi sistem omogućava svima da kreiraju novu valutu ako pružaju korisnu uslugu mreži: verifikovanje i evidentiranje transakcija između ljudi. Nazvaćemo ovo nagradom za potvrđivanje.
Kako se svi slože oko pravila sistema? Ona su kodirana u softverskom protokolu otvorenog koda. To znači da svako može besplatno da preuzme pravila sistema sa interneta i da počne da ih koristi za zaradu valute u sistemu. Ako svi koriste isti skup pravila, njihove knjige će se sinhronizovati, jer će prihvatiti i odbiti potpuno iste transakcije.
- Otvoreni kod = svako može da preuzme kod i da ga pročita
- Softverski protokol = skup pravila napisanih u kodu
Kako zaustaviti ljude koji pokušavaju da prevare sistem da bi zaradili “nagradu za potvrdu”?
Recimo da Boris i Marko žele da se obogate – oni bi mogli jedan drugom da plaćaju po jedan novčić u krug, vodeći računa da neko od njih prvi zabeleži transakciju kako bi mogli da zahtevaju nagradu za potvrdu. Pomoću ove šeme oni bi u osnovi mogli da stvore (odštampaju) novu valutu, kad god oni to požele!
Softverski protokol to zaustavlja zahtevajući da osoba koja validira transakciju uradi neki „posao“ sa računarom kako bi je zabeležila. Ovo osigurava da računari moraju da troše energiju za zabeležavanje transakcija, pa bi u tom slučaju varanje sistema bilo veoma skupo. Borisova i Markova šema varanja sistema više nema finansijskog smisla. Da bismo demonstrirali ovaj proces, pogledajmo Filipa i njegov C-Bot računar. Filip je na svoj računar instalirao Bitcoin protokol, koji predstavlja Bitcoin-ov softverski protokol otvorenog koda koji sadrži pravila Bitcoin sistema.
Kako C-Bot Verifikuje Transakcije
Korak 1: Slušanje transakcija
Prvo, C-Bot sluša transakcije (skraćeno “txn”) koje Ana, Boris, Marko i David emituju putem interneta.
Korak 2: Stvara “Heš”
Drugo, C-Bot će prikupiti sledeće delove podataka:
- Sve Bitcoin transakcije koje ljudi šalju
- Tajni broj (objasnićemo kasnije)
- Nonce – neki slučajan broj
C-Bot sve ovo stavlja u heš mašinu. Mašina za heširanje uzima sve ove podatke i proizvodi 256 bitova (bitovi su 1 i 0) koji se jedinstveno uklapaju u te podatke, nazvane ‘heš’. To heširanje je poput otiska prsta podataka. Uvek ćete dobiti isti heš sa istim ulaznim podacima. Mašina za heširanje je takođe jednosmerna: lako je stvoriti heš od nekih podataka, ali ne možete da stavite heš u mašinu i da vratite ulazne podatke.
C-Bot će iznova isprobavati svoju heš mašinu sa drugim nonce-om (slučajnim brojem). Svaki put, on će proveriti da li je mašina proizvela heš za koji Bitcoin softverski protokol kaže da je tačan.
Ovaj proces pronalaženja heša troši puno vremena i energije. Mašina za heširanje je jednosmerna, tako da C-Bot ne može tek tako da stavi ‘tačan’ heš u mašinu i otkrije ulazne podatke. Svaki računar na Bitcoin mreži takođe prolazi kroz ovaj proces pokušavajući da pronađe ‘ispravan’ heš.
Ukoliko bi ovi računari uspeli da pronađu ‘ispravan’ heš bez velikog trošenja energije, mogli bi da prevare sistem. Dva računara bi mogla da prosleđuju transakcije u krug, zarađujući bitcoin-e svaki put kada bi potvrdili transakciju.
Korak 3: Pronalaženje Ispravnog Heša
C-Bot konačno pronalazi heš koji zadovoljava pravila Bitcoin protokola koristeći sve nedavne transakcije. Sada ovaj blok podataka šalje na druge računare. Blok se sastoji od nedavnih transakcija, nonce-a i tajnog broja. Ti drugi računari stavljaju sve ove podatke kroz istu heš mašinu za sebe, da bi proverili da li je heširanje tog C-Bota tačno. S obzirom da znamo da računari ne mogu da varaju u ovoj igri, znamo da je C-Bot morao da izvrši neka izračunavanja sa svojom heš mašinom da bi pronašao ispravan heš.
Heš bloka C-Bota koji je poslat, sada postaje tajni broj koji ulazi u izračunavanje sledećeg bloka. Budući da heš svakog bloka u ‘blockchain-u’ bitcoin-a koristi heš poslednjeg bloka kao ulaz, bila bi potrebna apsurdna količina energije da se prepiše istorija transakcija (lanac blokova, eng. the blockchain)
Budući da se svačija stanja bitcoin-a zasnivaju na transakcijama na i sa njihovih računa, to takođe onemogućava izmenu bilo čijih stanja bitcoin-a.
Čitav ovaj proces poznat je pod nazivom rudarenje bitcoin-a. Svaki računar na mreži pokušava da proba nove podatke kroz heš mašinu, bilione puta u sekundi.
Šta je blockchain?
Blockchain predstavlja istoriju Bitcoin transakcija, koja omogućava bilo kome da utvrdi svoje Bitcoin stanje.
- ‘Block – Blok’ = Grupa Bitcoin transakcija, nonce-a i heša prethodnog bloka
- ‘Chain – Lanac’ = Heš svakog bloka takođe koristi heš prethodnog bloka kao ulaz. Ovo povezuje podatke svakog bloka sa svakim drugim blokom, stvarajući chain – lanac.
Na blockchain-u, prava imena nisu povezana sa bitcoin-ima. Bitcoin-i su povezani samo sa slučajnim nizom brojeva i slova poznatim kao ‘javni ključ’. Ovo korisnike Bitcoin-a i njihova stanja čini poprilično anonimnima za sve koji vode knjigu.
Kada posedujete bitcoin-e, vi imate password za otključavanje vaših bitcoin bankovnih računa. Ovi računi postoje na hiljadama računara širom sveta koji pokreću Bitcoin protokol.
Kako mogu da saznam više o Bitcoin-u?
Ovaj članak vam je dao razumevanje o tome kako funkcioniše Bitcoin protokol i kako se osiguravaju njegova neverovatna svojstva.
Ako želite da saznate više, preporučujem vam ove izvore:
Ako vam se sviđa moj rad, molim vas da ga podelite sa svojim prijateljima i porodicom. Cilj mi je da svima pružim pogled u ekonomiju i na to kako ona utiče na njihov život.