Bitcoin, decentralizovana digitalna valuta. Ali kako to funkcioniše? Kako se kreiraju transakcije i kako se održavaju na decentralizovan način bez poverenja?
Bitcoin, decentralizovana digitalna valuta. Pre nego što uđete u ovaj članak "Kako Bitcoin funkcioniše?" savetujemo vam da pročitate "Šta je Bitcoin?" Zato što vam daje sinopsis i kratko objašnjenje šta je bitoin i o njegovoj mreži.
Možda ste čuli da ga nijedna vlada ne izdaje i da nijedna banka nije obavezna da njime upravlja ili kontroliše, niti da verifikuje njegove transakcije. I zapanjujuće je da čak i ne znamo ko je tačno bio 'Satoši', ko ga je izmislio. Dakle, možemo proći kroz razna pitanja da bismo to razumeli (ovo objašnjenje neće uključivati tehničke detalje visokog nivoa koji zahtevaju dublje objašnjenje).
Hajde da počnemo tako što ćemo uzeti primer pristupa, gde obavljate transakcije sa svojim prijateljima i morate da pratite plaćanja.
Dakle, uzmemo u obzir da ste koristili Knjigu da biste pratili svoja plaćanja i svaku transakciju sa svojim prijateljima Čarlijem i Bobom. U početku su knjiga i zadatak njenog ažuriranja u potpunosti zavisili od poverenja, ali u jednom trenutku odlučite da morate da ovaj proces učinite bez poverenja. Dakle, unosite neku "Kriptografiju" ili neku vrstu koda da uravnotežite i zaobiđete taj element "Poverenja". Sada umesto da verujete ljudima, postavljate kod koji upravlja tim delom poverenja umesto vas. Ovo dovodi do modela sličnog onome što Bitcoin koristi, model bez poverenja (nema potrebe za centralnim autoritetom ili poverenjem između dve strane koje razmenjuju vrednost jedna sa drugom).
Satoshi je dizajnirao prvu kriptovalutu i danas jedinu koja se u potpunosti oslanja na decentralizovani model bez poverenja. Tehnički, da biste koristili Bitcoin, ne morate da znate šta se tačno dešava u svakoj tački sistema, slično bankarskom sistemu kada koristite svoju bankovnu karticu za transakcije. Kao mreža za digitalno plaćanje, jednostavnost korisnika uglavnom zavisi od aplikacija i usluga površinskog sloja (kao što su mobilne/računarske aplikacije za novčanike itd.).
Ali po čemu se Bitcoin razlikuje od bankarskog sistema?
Okosnica Bitcoin mreže nije centralna vlast ili grupa ljudi koju bira vlada. To je veoma pametan decentralizovani sistem verifikacije bez poverenja koji koristi matematiku. Ovi elementi matematike su deo oblasti kriptografije. Matematika je univerzalna i nepromenljiva ljudskim odlukama. 1+1=2 i to je univerzalno dogovoreno, to niko ne može promeniti.
Počnimo sa dve stvari prvo, knjigama i digitalnim potpisima.
Pod pretpostavkom da ste četiri prijatelja, koji dele resurse, izlaze na večeru ili razmenjuju robu jedni sa drugima. Praćenje svake transakcije između svake od četiri može biti zamorno. Zamislite, svom prijatelju Bobu ste dali 10€, a on vam sada duguje tih 10€. Ali umesto da vam vrati, on traži od Čarlija da vam plati 10 evra, što Čarli duguje Bobu ili traži od Alis da vam isplati 10 evra jer Alisa duguje 20 evra Čarliju. Ovo postaje zbunjujuće i teško ga je pratiti. Dakle, počinjete da vodite pisanu evidenciju transakcija koja se zove „Knjiga“. Ova knjiga je otvorena za sve i beleži ukupne transakcije za mesec, a na kraju meseca svi sabirate ukupno plaćeno ili ukupno dugovanje i izmirujete konačne iznose. Dakle, ovo sledi dva glavna pravila:
- Svako može dodati transakciju (novi red) u knjigu.
- I na kraju svakog meseca morate da izmirite sve transakcije.
Ali problem sa kojim se ovde suočava je kako upozoriti bilo koga da doda lažne transakcije (lažne linije) u ovu knjigu. Kako zaustaviti Alisu da doda da "Bob duguje Alisi 50€", a da Bob ne zna ili ne odobrava da je to istina ili ne? Morate verovati da će svi uključeni ljudi biti istiniti i da će tome dodati samo stvarne transakcije ili zapise.
Da bismo rešili ovo pitanje poverenja, koristimo nešto što se zove 'Digitalni potpisi' (zasnovano na kriptografiji). Umesto ručnog potpisa, digitalni potpisi ovde bi trebalo da istaknu da je Bob video novododatnu transakciju i da je to potvrdio. I to bi trebalo da bude besprekorno i trebalo bi da bude neizvodljivo za bilo koga da falsifikuje potpise.
Zar se digitalni potpis ne može kopirati? Digitalno je, zar ne? Ne može li ga jednostavno pročitati kompjuterski program koji može kopirati i kreirati potpuno istu njegovu verziju? Kako sprečavate falsifikovanje ovih potpisa?
Ovo se rešava putem 'javnog' i 'privatnog' ključa. Privatni ključ je neka vrsta tajnog ključa. Dakle, privatni ključ se čuva u tajnosti i dostupan je samo njegovom zakonitom vlasniku.
U fizičkom svetu, svaki rucni potpis isto izgleda; bez obzira na odnos prema stvarnoj poruci za koju se koriste. U digitalnom svetu digitalni potpisi su mnogo jači – oni funkcijiraju kao 'poruke' i 'tvog privatnog ključa', koji zajedno menjaju karakteristike potpisa na osnovu poruke. Privatni ključ osigurava da bez obzira na poruku, samo vi možete proizvesti potpis koji odgovara tom ključu. A potpis ima delove prepoznatljivih karakteristika koje ističu upotrebu 'privatnog ključa' i za koju je 'poruku' potpis generisan. Dakle, tehnički niko ne može kopirati jedan od vaših potpisa i koristiti ga u drugoj poruci.
Ali kako da proverimo da li je ova poruka i potpis validan? Ovde dolazi uloga javnog ključa. Javni ključ se može generisati samo uz upotrebu privatnog ključa. Dakle, prepoznaje kom ključu pripada. Dakle, tokom verifikacije, uparivanje i korišćenje 'javnog ključa' sa 'porukom' i 'potpisom' proizvodi indikaciju 'Tačno' ili 'Netačno'. "Tačno" je poruka i potpis važeći u odnosu na privatni ključ, ili "Netačno" nije važeći u odnosu na privatni ključ. Sa kriptografskom funkcijom koja koristi 256-bita, postaje neizvodljivo da se kopira ili generiše isti tajni ključ (privatni ključ).
Sada znamo da Alice ne može kopirati Bobov potpis i falsifikovati transakcije bez njegovog odobrenja. Ali ono što ona još uvek može da uradi je da kopira isti red poruke, sa istim potpisom i doda je u knjigu. Dakle, da bi se ovo rešilo, sistem treba da uključi 'Jedinstveni ID' koji identifikuje tu transakciju. Čak i ako je transakcija kopirana, jedinstveni ID se može koristiti za verifikaciju koja je prava transakcija.
Dakle, sada smo rešili problem legitimnosti svakog unosa u knjigu. Ali šta se dešava ako Čarli nagomila mnogo dugova i na kraju meseca odbije da plati bilo kome? Kako konačno poravnanje zavisi od obračuna u gotovini. Možda možemo da smislimo način da sprečimo ljude da troše više nego što primaju? Onda ne moramo sve da podmirujemo u gotovini.
- Hajde da nateramo svakog da doda 50€ ili 100€ u lonac. Pod pretpostavkom da su svi dodali 100€. Tako da pravimo unose u knjigu koja kaže - Svako dobija 100€ da potroši.
- Preterivanje nije dozvoljeno. Kako su svi dali po 100€, maksimum koji mogu da potroše je 100€.
Ono što je Bitcoin zbog kriptografije uveo je održavanje ove knjige na optimalan način, uz verifikaciju potpisa, bez prekomerne potrošnje itd. Na taj način uklanjamo svaku zavisnost od gotovine. Kako sve više korisnika koristi ovu knjigu, oni mogu da žive ceo život bez gotovine koristeći samo ovu knjigu. Koristeći terminologiju bitcoina, ovo će se nazivati "Valuta glavne knjige = bitcoin", a čak je i deljivo do 100 milionitih jedinica koje se nazivaju "satoši". Satoši su za bitcoin, ono što su centi za evro. 1 Bitcoin = 100000000 Satoshi.
U današnjem svetu, možete zameniti bitcoin za dolare, evre itd. To funkcioniše slično razmeni evra u dolare ili obrnuto; bitcoin je sopstvena nezavisna valuta koja radi na sopstvenoj "decentralizovanoj knjizi" koja se zove "Bitcoin" mreža.
Ako je Bitcoin decentralizovan, kako onda uspeva da dodaje nove transakcije u svoju knjigu bez poverenja? Zar održavanje knjige ne bi zahtevalo centralnu lokaciju ili autoritet kome treba verovati?
Bitcoin to uspeva tako što svakome daje ličnu kopiju knjige. Ako Alisa plati Bobu 100€, svima prenosite transakciju i oni ažuriraju svoju knjigu. Ali to inherentno čini komplikovanim i teškim za upravljanje i čini da svi veruju da je to prava transakcija ili da je evidentiraju istim red. Pa kako Bitcoin tako efikasno upravlja ovim?
Bitcoin nudi rešenje uvođenjem politike da koja god knjiga ima najviše računarskog posla u nju. Ovo se zove "Heš funkcija", koja uključuje računarski rad (rešavanje matematičkih jednačina) kao osnovu za održavanje nekonfliktnih knjiga i sačuvanih od bilo kakve prevare. Ovo se takođe poznato naziva koncept "dokaz o radu". Ovo je srce Bitcoin-a.
Jednostavnim rečima, 'Heš funkcija' je matematička jednačina koja uzima bilo koju poruku i daje niz bitova (slučajna grupa od 0 i 1 - pošto je ovo jezik računara). Izlaz se često naziva 'hash' ili 'digest'. Izgleda nasumično, ali nije nasumično, jer uvek daje isti izlaz za određeni dati ulaz. Čak i ako promenite jedan znak u poruci, ona će dati potpuno drugačiji izlaz. Ove promene izlaza su veoma nepredvidljiv. A u kriptografiji je neizvodljivo izračunati/izračunati u obrnutom smeru. Jedini način da se pronađe ulaz iz izlaza je 'Pogodi i proveri', što zahteva veliku količinu posla. Bitcoin koristi nešto što se zove 'SHA-256', što takođe čini srce mnogih bezbednosnih protokola širom sveta.
Da bi se pronašao tačan heš koji bi se poklapao sa knjigom, biće potrebno mnogo posla, pa se tako su kreirali termin "Dokaz o radu". Dakle, vraćamo se na primer 4 prijatelja, koji koriste Bitcoin kao knjigu. Funkcioniše tako što se transakcije deli na 'blokove' (manje grupe transakcija). Ovi blokovi se uklapaju zajedno sa odgovarajućim 'hashom' generisanim sa 'Dokaz o Radu' (na engleskom, Proof of Work), samo tada je to važeći blok. Svaki sledeći blok sadrži heš prethodnog bloka kao zaglavlje (da bi se označio odgovarajući niz za te blokove). A ako promenite bilo koj potpis, ili transakciju u jednom bloku, promenićete ceo heš koji se šalje sledećem bloku (za njegovo zaglavlje), a koji će to promeniti i za sledeći blok i tako dalje. Što će zahtevati ponavljanje celog posla. Ovaj lanac blokova se zove 'Blok-Čejn'.
Način na koji je Bitcoin dizajniran, omogućava svakome da radi na dodavanju novih blokova i pomoći u ažuriranju knjige. Da bi nagradio novog kreatora bloka za sav njihov rad, Satoshi je uveo specijalnu transakciju koja se dodaje u knjigu sa svakim blokom, dajući radniku nešto bitcoina (na primer 10 € za svaki novi blok). Ovo se zove 'Blok Nagrada'. Ovo je bilo pametno uključivanje Satoshija, kako bi pokrenuo milione da koriste bitcoin i da se takmiče sa drugima za ovu nagradu (kako se vrednost bitcoina povećava zbog njegove upotrebe. Ovo više funkcioniše kao lutrija nego formulisani metod da se obezbedi pronalaženje blokova. I da bi svoje transakcije uključile u knjigu, svi plaćaju radniku malu naknadu. Ovi radnici su poznati kao "Rudari". Dizajn Bitcoin-a smanjuje nagradu za blok nakon svakih 210.000 blokova (ili otprilike 4 godine). Što je sve više korisnika dolazi u celom tržištu nagrada prelazi na samo naknade.
Pošto svako održava sopstvenu kopiju blokova, a rudari rade bez prestanka pokušavajući da pronađu najbolja rešenja za heš funkciju, ažurirajući svoju sopstvenu knjigu u isto vreme. Oni nude svoje knjige kao zapise koje treba ažurirati da bi ponudili, a u slučaju konfliktnih knjiga (lanaca blokova), najduži se smatra važećim. Svi daju prednost lancu koji ima više posla. Stoga se uklanjanje bilo kakvog centralnog autoriteta i poverenja stavlja samo u 'Računarski rad'. Ako Čarli pokuša da pošalje Alisi pogrešne informacije o blokovima (da ga prevari), Alisa to može da potvrdi upoređivanjem njegovog lanca, informacija o lancu koje šalje Čarli i informacija o lancu koje šalju drugi. Tako Alis može odbiti informacije koje je poslao Čarli. Verovatno da Čarli svaki put dobije na lutriji za pronalaženje blokova je izuzetno mala (pošto svi ostali takođe rade na tome da dodaju svoje blokove). Čarli će morati da poseduje više od 50% računarske snage od cele mreže (51% napada) da bi povećao svoje šanse pre nego što Alisa sazna da vara. U tom trenutku Alis i drugi mogu da odluče da odbace Čarlijev lanac i nastave na onom od poverenja koji su pratili. Kako je sve više rudara (radnika) na mreži i takmiče se jedni sa drugima, mreža postaje sve jača. Rudari koji većinu vremena ne dobijaju na lutriji takođe obezbeđuju sigurnost čitavoj mreži tako što kontrolišu deo ukupne računarske snage koju loš akter može zloupotrebiti. Oni čuvaju mrežu.
Bitcoin dodaje nove blokove otprilike svakih 10 minuta, što stvara samo jednog dobitnika u ovoj lutriji svakih 10 minuta. Osim rudara, postoje korisnici koji samo upravljaju kompletnom kopijom knjige i Bitcoin softverom, koji proverava da li blokovi koje su rudari obezbedili prate konsenzus i ne uključuju bilo kakve lažne transakcije. Oni se zovu 'čvorovi'. Trkači čvorova i korisnici su ti koji kontrolišu mrežu. Rudari su radnici koji rade za čvorove. Sa malom veličinom Bitcoin bloka, lanac raste na poznat i ekonomičan način i na taj način smanjuje poteškoće ulaska za korisnike koji žele da dodaju više čvorova kako bi mreža bila decentralizovana.
Tink
i do social media marketing, copy-editing & translations for bitcoiners. preferred languages: serbian, spanish, english.
follow me :