Detaljan sažetak knjige „Inventing Bitcoin“ – Yan Pritzker
Puni naziv knjige je „Inventing Bitcoin: The Technology Behind the First Truly Scarce and Decentralized Money Explained“. Autor je Yan Pritzker, suosnivač i CTO kompanije Swan Bitcoin. Knjiga je kratko, tehnički pojednostavljeno objašnjenje Bitcoina, napisano za čitaoce koji žele razumjeti kako Bitcoin funkcioniše bez ulaska u programski kod
Knjiga je zamišljena kao postepeno „izmišljanje“ Bitcoina pred očima čitaoca. Autor kreće od jednostavnog pitanja: kako napraviti digitalni novac koji ne kontroliše banka, država ili neka centralna kompanija? Zatim korak po korak uvodi probleme koje takav sistem mora riješiti: kako dokazati vlasništvo, kako spriječiti dvostruko trošenje, kako postići dogovor među hiljadama nepoznatih učesnika, kako stvoriti digitalnu oskudicu i kako zaštititi sistem od napada.
Uvod
Na početku autor objašnjava da ljudi često imaju mišljenje o Bitcoinu prije nego što razumiju šta je on zapravo. Bitcoin se u javnosti često prikazuje kao špekulacija, internet novac, kriminalni alat ili komplikovana tehnologija. Autor ne počinje od cijene, ekonomije ili investicionih teza, nego od tehničkog i logičkog pitanja: kako je moguće napraviti digitalni novac bez centralnog posrednika?
On naglašava da knjiga ne pokušava dokazati da je Bitcoin „digitalno zlato“, niti se bavi dubokim programiranjem. Cilj je da čitalac razumije osnovne dijelove izuma: mrežu, kriptografiju, rudarenje, proof-of-work, čvorove, pravila i ekonomske podsticaje.
1. Šta je Bitcoin?
Prvi dio knjige objašnjava Bitcoin kao peer-to-peer elektronski novac. To znači da se vrijednost može poslati direktno od jedne osobe drugoj, bez banke, PayPala, kartične kompanije ili druge institucije između njih.
Autor poredi Bitcoin sa fizičkim novcem. Kada nekome daš papirnu novčanicu, toj osobi nije potrebna banka da potvrdi transakciju. Ona samo mora vjerovati da novčanica nije lažna. Kod digitalnog novca problem je teži, jer digitalni podaci mogu biti kopirani. Ako je novac samo fajl ili zapis u računaru, neko bi ga mogao poslati jednom čovjeku, a zatim pokušati poslati isti novac nekome drugom.
Zato su moderni digitalni sistemi plaćanja centralizovani. Banka ili platna kompanija vodi evidenciju i provjerava da li korisnik zaista ima novac. Ako Alice ima 10 eura i pošalje 10 eura Bobu, banka upiše promjenu u svoju knjigu. Ako Alice pokuša ponovo potrošiti istih 10 eura, banka to odbija.
Bitcoin pokušava uraditi nešto novo: napraviti digitalni novac koji se ponaša kao gotovina, ali bez centralnog kontrolora. Autor zatim razlaže Bitcoin na tri osnovna elementa: digitalnu imovinu ograničene ponude, mrežu računara koji prate vlasništvo i softver koji svako može pokrenuti.
2. Uklanjanje posrednika
Nakon objašnjenja šta Bitcoin pokušava biti, autor prelazi na problem posrednika. U tradicionalnom sistemu banka je knjigovođa. Ona zna ko ima koliko novca, ko kome šalje novac i da li je neka uplata validna.
Ako nema banke, onda se javlja pitanje: ko vodi knjigu?
Autor uvodi ideju distribuirane knjige, odnosno ledgera koji ne drži jedna institucija, nego ga kopiraju i provjeravaju mnogi učesnici mreže. Umjesto da postoji jedna centralna evidencija, postoji mnogo kopija iste evidencije. Svaki učesnik može imati svoju kopiju i provjeravati da li se pravila poštuju.
Ali to stvara novi problem. Ako svi imaju knjigu, ko ima pravo da u nju upiše novu transakciju? Ako svako može pisati šta želi, sistem bi se brzo raspao. Neko bi mogao sebi dodati novac, obrisati stare transakcije ili pokušati potrošiti iste bitcoine više puta.
Zato Bitcoin mora riješiti pitanje dogovora bez centralnog autoriteta. Mreža mora imati način da odluči koja verzija knjige je ispravna, čak i ako se učesnici međusobno ne poznaju i ne vjeruju jedni drugima.
3. Problem dvostrukog trošenja
Jedan od najvažnijih problema u knjizi je double-spending problem, odnosno problem dvostrukog trošenja. Kod fizičkog novca to je jednostavno: ako nekome predaš novčanicu, više je nemaš. Kod digitalnog novca stvar je drugačija, jer se digitalni zapis može kopirati.
Autor objašnjava da je rješenje ovog problema u bankarskom sistemu jednostavno zato što banka kontroliše glavnu knjigu. Banka zna da je Alice već potrošila svoj novac i odbija novu transakciju. Međutim, Bitcoin želi sistem bez banke. Zato mreža mora sama zaključiti koja je transakcija prva, a koja je pokušaj prevare.
Tu nastaje potreba za sistemom koji može vremenski poredati transakcije. Ako Alice prvo pošalje bitcoin Bobu, a zatim isti bitcoin pokuša poslati Charlieju, mreža mora znati da je prva transakcija validna, a druga nije.
Bitcoin to rješava tako što transakcije grupiše u blokove, a blokovi se zatim povezuju u lanac. Tako nastaje blockchain: istorija transakcija poredana redoslijedom koji mreža prihvata.
4. Decentralizovani dogovor
Knjiga zatim uvodi najvažnije pitanje: kako grupa nepoznatih ljudi može postići dogovor bez vođe?
Ako postoji centralni server, server odlučuje. Ako postoji banka, banka odlučuje. Ako postoji država, regulator odlučuje. Ali Bitcoin nema takav centar. Učesnici mreže su anonimni ili pseudonimni, mogu se uključiti i isključiti kad žele, a neki od njih mogu biti zlonamjerni.
Autor zato postavlja problem kao izbor osobe koja smije dodati sljedeći zapis u zajedničku knjigu. Ako bi se taj izbor vršio glasanjem po identitetu, sistem bi bio ranjiv, jer bi neko mogao napraviti hiljade lažnih identiteta. Ako bi se izbor vršio po IP adresama, opet bi se mogao prevariti. Ako bi izbor vršila neka kompanija, Bitcoin više ne bi bio decentralizovan.
Rješenje koje knjiga uvodi jeste proof-of-work. Umjesto da se pravo pisanja u knjigu dodjeljuje po identitetu, dodjeljuje se onome ko dokaže da je potrošio stvarni resurs: energiju i računarsku snagu.
5. Proof-of-work i rudarenje
Autor proof-of-work objašnjava kroz analogiju lutrije. Rudari se takmiče da pronađu specifičan broj koji zadovoljava pravila mreže. Taj broj nije moguće pogoditi pametnim zaključivanjem; mora se pokušavati iznova i iznova. Računari rudara prave ogroman broj pokušaja dok neko ne pronađe validno rješenje.
Kada rudar pronađe rješenje, on objavljuje blok mreži. Ostali učesnici vrlo lako provjeravaju da li je rješenje validno. To je ključna osobina proof-of-worka: teško je proizvesti validan dokaz, ali ga je lako provjeriti.
Rudar koji pronađe validan blok dobija nagradu u bitcoinima i transakcione naknade. Time se rudari podstiču da se ponašaju po pravilima. Ako pokušaju ubaciti nevalidne transakcije, drugi čvorovi će njihov blok odbaciti, a energija koju su potrošili biće uzaludna.
Na taj način Bitcoin povezuje digitalni svijet sa fizičkim svijetom. Sigurnost mreže nije zasnovana samo na obećanju ili zakonu, nego na stvarnom trošku energije. Napad na mrežu zahtijeva ogroman hardver, energiju i novac.
6. Bitcoin matematika: hash funkcije
Nakon rudarenja autor objašnjava osnovnu matematiku koja stoji iza Bitcoina. Najvažniji pojam je hash funkcija. Hash funkcija uzima neki ulazni podatak i pretvara ga u izlaz fiksne dužine. Kod Bitcoina se koristi zato što i najmanja promjena ulaza potpuno mijenja izlaz.
Autor objašnjava da je hash kao digitalni otisak. Ako promijeniš samo jedan znak u podacima, dobija se potpuno drugačiji rezultat. Zbog toga je hash pogodan za provjeru integriteta podataka.
U rudarenju rudar uzima transakcije, dodaje određene podatke i mijenja jedan broj koji se zove nonce. Zatim računa hash. Ako hash zadovoljava uslove mreže, blok je validan. Ako ne zadovoljava, rudar mijenja nonce i pokušava ponovo.
Ovdje se vidi zašto rudarenje zahtijeva mnogo pokušaja. Ne postoji prečica do validnog hasha. Rudar mora ponavljati proces dok slučajno ne dobije rezultat koji je dovoljno „mali“ prema pravilima mreže.
7. Težina rudarenja i ograničena emisija
Bitcoin mora održavati približno stabilan ritam dodavanja novih blokova. Cilj je da se novi blok pronađe otprilike svakih deset minuta. Ali broj rudara se mijenja. Nekada ih ima više, nekada manje. Nekada je hardver jači, nekada slabiji.
Zato Bitcoin koristi difficulty adjustment, odnosno automatsko podešavanje težine rudarenja. Ako rudari pronalaze blokove prebrzo, mreža otežava zadatak. Ako ih pronalaze presporo, mreža ga olakšava. Autor objašnjava da se težina prilagođava nakon određenog broja blokova, tako da sistem održava predvidljiv tempo.
Ovo je važno zbog emisije novih bitcoina. Bitcoin nema centralnu banku koja odlučuje kada će povećati ponudu. Nova ponuda nastaje kroz blok nagrade, a pravila emisije su unaprijed poznata. Kako vrijeme prolazi, nagrada se smanjuje kroz halvinge, dok se ukupna ponuda približava maksimalnom ograničenju.
Tako knjiga objašnjava kako Bitcoin stvara digitalnu oskudicu. Oskudica ne zavisi od obećanja neke institucije, nego od pravila koja provjeravaju čvorovi u mreži.
8. Blockchain i zaštita istorije
Zatim autor objašnjava zašto se blokovi povezuju u lanac. Svaki novi blok sadrži hash prethodnog bloka. Time se pravi veza između sadašnjosti i prošlosti. Ako neko pokuša promijeniti staru transakciju, promijenio bi hash tog bloka. Ali onda bi se promijenio i hash svakog narednog bloka.
To znači da bi napadač morao ponovo izračunati proof-of-work za taj blok i sve blokove poslije njega. Što je transakcija starija i što je više blokova iznad nje, to ju je teže promijeniti.
Autor objašnjava da zato u Bitcoinu ne postoji apsolutna trenutna finalnost kao u jednostavnom centralizovanom sistemu. Umjesto toga, sigurnost raste sa brojem potvrda. Kada je transakcija uključena u blok, ona ima jednu potvrdu. Svaki novi blok iznad nje dodaje novu potvrdu. Nakon više potvrda postaje izuzetno teško promijeniti istoriju.
Ovdje knjiga prikazuje blockchain ne kao marketinški pojam, nego kao tehničko rješenje: lanac blokova čini istoriju transakcija vidljivom, provjerljivom i skupom za mijenjanje.
9. Nakamoto konsenzus
Jedan važan dio knjige bavi se situacijom kada dva rudara skoro istovremeno pronađu blok. Tada se mogu pojaviti dvije verzije lanca. Dio mreže prvo vidi jedan blok, a drugi dio mreže drugi blok. Oba mogu biti validna, ali mreža mora izabrati jednu istoriju.
Bitcoin to rješava pravilom najdužeg lanca sa najviše kumulativnog proof-of-worka. Mreža čeka da vidi na koji lanac će rudari dodati sljedeći blok. Lanac koji sakupi više ukupnog rada postaje prihvaćena istorija. Drugi blok se odbacuje kao orphan block.
Ovaj način dogovora naziva se Nakamoto consensus. Suština je da mreža ne glasa po identitetu, lokaciji ili autoritetu. Ona prati validni lanac u koji je uloženo najviše stvarnog rada.
10. Sigurnost mreže i cijena Bitcoina
Autor zatim povezuje sigurnost mreže sa ekonomskim podsticajima. Rudari troše energiju i kupuju opremu zato što očekuju da će bitcoin koji dobiju imati vrijednost. Ako cijena raste, više rudara želi učestvovati. Ako se uključi više rudara, ukupni hash rate raste. Što je hash rate veći, napad na mrežu postaje skuplji.
Kada rudara ima previše i blokovi se pronalaze prebrzo, težina raste. Ako cijena padne i neki rudari postanu neprofitabilni, oni se gase, a kasnije se težina prilagodi naniže. Autor ovim objašnjava zašto sistem može pronaći novu ravnotežu i zašto se često spominjani „mining death spiral“ ne dešava tako jednostavno.
Sigurnost Bitcoina zato nije samo tehnička. Ona je kombinacija kriptografije, energije, tržišne cijene, hardvera, težine rudarenja i podsticaja. Rudari su plaćeni da štite mrežu, a korisnici i čvorovi provjeravaju da rudari ne krše pravila.
11. Računi bez identiteta
Nakon što objasni rudarenje i blockchain, autor prelazi na pitanje vlasništva. U banci se vlasništvo veže za identitet. Korisnik ima ime, dokument, račun, šifru i bankarski profil. Banka zna ko je vlasnik računa i odobrava pristup.
Bitcoin funkcioniše drugačije. U njemu se vlasništvo ne dokazuje ličnim dokumentom, nego kriptografskim ključevima. Korisnik ima privatni ključ i iz njega se izvodi javni ključ i adresa. Ako neko može potpisati transakciju privatnim ključem, mreža prihvata da ta osoba ima pravo potrošiti određene bitcoine.
Ovdje autor uvodi važnu ideju: Bitcoin računi ne zahtijevaju identitet. Niko ne mora pitati banku za dozvolu da otvori Bitcoin adresu. Nema formulara, nema centralne baze korisnika i nema institucije koja odlučuje ko smije učestvovati.
Ali to donosi i odgovornost. Ako korisnik izgubi privatni ključ, nema korisničke podrške koja može vratiti pristup. Ako neko ukrade privatni ključ, može potrošiti bitcoine. Bitcoin daje kontrolu korisniku, ali mu prebacuje i odgovornost za čuvanje ključeva.
12. Digitalni potpisi
Da bi mreža znala da je transakcija zaista od vlasnika, Bitcoin koristi digitalne potpise. Privatni ključ služi za potpisivanje transakcije, a javni ključ omogućava ostalima da provjere potpis.
Važno je da se iz javnog ključa ne može lako izračunati privatni ključ. To znači da korisnik može dokazati da ima pravo potrošiti bitcoin bez otkrivanja tajnog ključa.
Kada Alice šalje bitcoin Bobu, ona pravi transakciju i potpisuje je privatnim ključem. Čvorovi u mreži provjeravaju da li potpis odgovara javnom ključu i da li Alice zaista ima bitcoine koje pokušava potrošiti. Ako je sve validno, transakcija može ući u blok.
Tako Bitcoin zamjenjuje bankarsku autentifikaciju kriptografijom. Umjesto korisničkog imena, lozinke i bankarske dozvole, koristi se matematički dokaz vlasništva.
13. Ko pravi pravila?
Jedno od najvažnijih poglavlja bavi se pitanjem upravljanja Bitcoinom. Ako je Bitcoin softver, neko bi mogao promijeniti softver. Ako neko promijeni pravila i poveća maksimalnu ponudu sa 21 milion na 42 miliona, zašto to ne bi postao novi Bitcoin?
Autor objašnjava da pravila ne zavise samo od programera ili rudara. Pravila provjeravaju čvorovi. Ako rudar napravi blok koji krši pravila, čvorovi ga odbacuju. Ako neko napravi verziju softvera sa drugačijim pravilima, drugi korisnici nisu obavezni da je prihvate.
Zato Bitcoinovo upravljanje nije klasična demokratija niti kompanijska hijerarhija. Nema direktora koji može promijeniti pravila. Nema odbora koji može narediti korisnicima da prihvate novu ponudu. Promjena pravila zahtijeva široko prihvatanje, jer svaki učesnik može pokrenuti softver koji želi.
Autor objašnjava da je upravo to razlog zašto je teško promijeniti osnovna pravila Bitcoina. Čvorovi širom svijeta provjeravaju pravila nezavisno. Ako neko pokuša proizvesti nevalidne bitcoine, mreža ih ne priznaje.
14. Forkovi i 51% napadi
Knjiga zatim objašnjava forkove. Fork nastaje kada se pravila ili istorija lanca razdvoje. Postoje prirodni forkovi, koji se dese kada dva rudara skoro istovremeno pronađu blok, i namjerni forkovi, kada dio zajednice želi drugačija pravila.
Autor razlikuje soft fork i hard fork. Soft fork je promjena pravila koja je kompatibilna unazad. Stariji čvorovi i dalje mogu pratiti lanac, iako ne razumiju sva nova ograničenja. Hard fork je promjena koja nije kompatibilna unazad. Ako se pravila prošire tako da stari čvorovi ne mogu prihvatiti nove blokove, mreža se može razdvojiti.
U ovom dijelu se objašnjava i 51% napad. Ako neko kontroliše većinu ukupne rudarske snage, mogao bi pokušati proizvoditi lanac sa više kumulativnog proof-of-worka od ostatka mreže. Time bi mogao reorganizovati nedavne blokove, cenzurisati transakcije ili pokušati dvostruko potrošiti svoje bitcoine.
Međutim, takav napad ne znači da napadač može proizvoljno ukrasti sve bitcoine ili promijeniti pravila koja čvorovi ne prihvataju. Čvorovi i dalje provjeravaju validnost transakcija. Napadač može pokušati manipulisati redoslijedom i potvrđivanjem transakcija, ali ne može natjerati mrežu da prihvati nevalidne bitcoine ako čvorovi odbijaju takva pravila.
15. Naknade i budućnost rudarenja
Autor zatim objašnjava ulogu transakcionih naknada. Pošto se blok nagrada smanjuje kroz halvinge, dugoročno rudari moraju sve više zavisiti od naknada. Korisnici nude naknadu kako bi njihova transakcija bila uključena u blok. Rudari biraju transakcije koje im donose veću zaradu.
Naknade u Bitcoinu nisu procenat iznosa koji se šalje. One zavise od prostora koji transakcija zauzima u bloku. To znači da slanje male ili velike vrijednosti može imati sličnu naknadu ako transakcija zauzima sličan prostor.
Kada je potražnja za blok prostorom velika, naknade rastu. Kada je mreža manje opterećena, naknade padaju. Time nastaje tržište blok prostora.
16. Lightning Network i skaliranje
U završnom dijelu autor govori o budućnosti Bitcoina i problemu skaliranja. Bitcoinov osnovni lanac ne može obraditi ogroman broj transakcija po sekundi kao globalni platni sistem. Blokovi su ograničeni, a vrijeme između blokova je oko deset minuta.
Zato autor objašnjava Lightning Network kao dodatni sloj iznad Bitcoina. Lightning koristi platne kanale. Korisnici mogu zaključati određenu količinu bitcoina u kanal, zatim međusobno slati mnogo brzih i jeftinih uplata, a tek konačni rezultat se kasnije može zapisati na Bitcoin blockchain.
Ideja je da se osnovni Bitcoin lanac koristi kao sloj za sigurnost i konačno poravnanje, dok se manja i češća plaćanja mogu odvijati na višim slojevima. Autor navodi Lightning kao pokušaj da se poboljša propusnost, brzina i privatnost Bitcoin plaćanja.
17. Bitcoin i cenzura interneta
Autor se zatim dotiče pitanja šta se dešava ako država pokuša blokirati pristup Bitcoin mreži. Pošto se Bitcoin transakcije prenose internetom, režimi mogu pokušati filtrirati ili blokirati saobraćaj.
Knjiga objašnjava da postoje pokušaji da se Bitcoin učini otpornijim i na takvu vrstu cenzure. Spominju se satelitski prijenos blockchaina i mreže koje mogu slati transakcije izvan klasične internet infrastrukture. Poenta je da Bitcoin nije samo softver, nego mreža koja se može širiti različitim komunikacionim kanalima.
Završetak knjige
Na kraju knjige autor sabira ono što je čitalac prošao. Bitcoin je prikazan kao sistem koji spaja više oblasti: računarstvo, kriptografiju, ekonomiju, teoriju igara, energiju i mrežne protokole.
Knjiga završava time da je Bitcoin moguće razumjeti kao niz rješenja na konkretne probleme:
Prvo, treba napraviti digitalni novac bez banke.
Zatim treba spriječiti dvostruko trošenje.
Zatim treba napraviti zajedničku knjigu bez centralnog knjigovođe.
Zatim treba odlučiti ko smije dodati novi zapis.
Zatim treba učiniti varanje skupim.
Zatim treba omogućiti svima da provjere pravila.
Zatim treba povezati blokove tako da istoriju bude teško mijenjati.
Zatim treba omogućiti vlasništvo bez identiteta.
Zatim treba osigurati da niko ne može lako promijeniti pravila sistema.
Cijela knjiga vodi čitaoca kroz taj proces i pokazuje kako se iz svih tih dijelova sastavlja Bitcoin.
Najkraći sažetak cijele knjige
„Inventing Bitcoin“ objašnjava kako je Bitcoin riješio problem digitalnog novca bez centralnog posrednika. Autor pokazuje da Bitcoin nije samo „internet valuta“, nego sistem koji koristi kriptografiju, proof-of-work, rudarenje, čvorove, blockchain i ekonomske podsticaje kako bi stvorio digitalnu imovinu koja je oskudna, provjerljiva, teško promjenjiva i otvorena za svakoga.