Word-Me-In-Web-Logo
Search
Close this search box.

Što je to blockchain?

Bitcoin blockchain

U posljednjih nekoliko godina zasigurno ste već čuli za Bitcoin. Malo je vjerojatno da ste otvorili bilo koji internetski portal, a da niste vidjeli vijest tipa “bitcoin je u zadnjih 7 dana izgubio 50% svoje vrijednosti” ili “balon zvan bitcoin je konačno pukao” ili “bitcoin je ponzi prevara”. Manje vjerojatno, ali možda ste i pročitali “bitcoin je u zadnjih mjesec dana dobio 40% na vrijednosti”. Bilo kako bilo, bitcoin i općenito kripto valute u zadnje vrijeme su jedan od najtraženijih pojmova na internetu. Koju god aplikaciju na mobitelu da otvorite, teško je za očekivati da vas neće dočekati sadržaj ili oglas vezan za bitcoin ili kripto ulaganje.

Ljudi koji nikada nisu koristili bitcoin ili se nikada nisu susreli sa pojmom rudarenja pričaju o tome na svakom koraku. Imam dosta poznanika (i članova obitelji) koji spadaju u prethodno navedene kategorije i na čija pitanja moram gotovo svakodnevno odgovarati. Nažalost, barem 90% tih pitanja odnosi se na teme koje nisu bitcoin ili razumijevanje blockchain tehnologije, nego su npr. “šta misliš o Solani?” ili “Jesi vidio onaj DOGE koji je rastao 2 milijuna %”. “Šta je najbolje sada kupit?” itd.

Ponzi shema

Najžalosnije je to što gotovo nikada nitko ne kaže “daj mi malo objasni taj bitcoin”. Daj mi objasni šta je to blockchain, ja ti to ništa ne razumijem”. Svi su samo zaslijepljeni bombastičnim naslovima o velikim zaradama pojedinaca i samo razmišljaju kako da se u taj vlak bogaćenja ukrcaju preko noći. Nažalost, jako je malo onih koji stvarno žele razumjeti kako zapravo stvari funkcioniraju. I zato, s vremena na vrijeme vidimo često i vijesti tipa “Izgubio sve što je uložio u kripto”, “ponzi shema zvana kripto je konačno došla svom kraju”.

Razumjeti bitcoin i blockchain tehnologiju na kojoj se temelji bitcoin, osnove su osnova i ako ovo ne razumijete, nema smisla da se zanimate za bilo koju drugu kripto valutu. Ako vam ovo nije jasno, nemojte se upuštati u to da svoj teško zarađeni novac ulažete na kripto tržištu. Najgora stvar koju možete napraviti jest da se javite na neki oglas koji vam obećava ogromnu zaradu. Da svoj teško zarađeni novac pošaljete nekome tko vam je obećao da će vam ga u par tjedana ili mjeseci vratiti uvećanog za nekoliko desetaka ili stotina posto. Ako to napravite priča je završena. Vašeg novca više nema.

Hrvatski prijevod riječi blockchain bio bi lanac blokova ili ulančani blokovi, ali u nastavku bit će korištena riječ blockchain.

Čitanjem ovog članka i njegovim potpunim razumijevanjem imat ćete znanje koje možete upotrijebiti da razlučite da li je neka druga kripto valuta o kojoj sada svi pričaju vrijedna spomena ili je takozvani “shitcoin” od kojega trebate bježati što je brže i dalje moguće.

HINT: 99+% svih ostalih kripto valuta pored bitcoina su shitcoin ili prevare. Pamet u glavu.

Samo bitno

Potaknut upravo svim ovim stvarima pokrenuo sam stranicu WMI | ₿ITCOIN PORTAL, kako bi ubuduće na svako postavljeno pitanje jednostavno mogao uputiti na tekstove koji se ovdje nalaze. Isto tako, ako pročitate do kraja ovaj tekst i ako ga smatrate korisnim, slobodno ga podijelite s vama dragim osobama. To vas ništa ne košta, a svima može biti od koristi.

Usput, ukoliko želite na vaš email jednom tjedno dobiti samo bitne informacije iz svijeta bitcoina,  možete se pretplatiti na besplatni news letter ovdje.

Ovaj tekst napisan je s namjerom da se razumijevanje funkcioniranja blockchain tehnologije približi svima, bez obzira na razinu vaše tehničke pismenosti. Iz tog razloga u ovom tekstu se za neke stvari opravdano može reći da su previše pojednostavljene ili da neki dijelovi funkcioniranja blockchain tehnologije nisu objašnjeni, ali to je cijena koja je morala biti plaćena kako bi se problematika objasnila prosječnom korisniku. Fundamentalno razumijevanje kako tehnologija funkcionira u svojim osnovnim principima zasigurno neće izostati.

Pa krenimo

Umjesto da odmah krenemo pričati o tome što je to blockchain, idemo prvo razumjeti koji je to problem koji blockchain tehnologija tako dobro rješava.

Hipotetska situacija, vaša supruga je sa prijateljicama odlučila na 10 dana otputovati u Španjolsku i Portugal. Vi ste to naravno s oduševljenjem dočekali i blagoslovili 😉. Kako to inače biva, sedmi dan otkako je otišla (naravno Petak) supruga vas zove da je ostala bez novca i traži vas da joj na njezin račun prebacite nekoliko tisuća kuna kako ne bi ostala gladna do povratka doma. Progunđate sami sebi nešto u bradu, ali kažete dobro.

Kada dođe to ovakvih situacija, aplikacija mobilnog bankarstva na vašem mobilnom uređaju je naravno baš sada nedostupna radi redovnog održavanja sustava banke. Iz tog razloga morate sjesti u auto i otići do najbliže poslovnice vaše banke. Strka i panika jer je 18:15h, a banka radi do 19:00h. U banci kada dođete na red u 18:57h, zamolite službenika da sa vašeg računa na račun vaše supruge (koji je u drugoj banci) prebaci 5.000 kuna. Službenik vam odgovori da nema problem te vas zamoli za vašu karticu te vašu osobnu iskaznicu.

Petak je

Nakon što vas je identificirao kao vlasnika računa, službenik otvara registar vašeg računa da provjeri da li na svom računu imate dovoljno novca, odnosno tih 5.000 kuna koje želite prebaciti na račun vaše supruge. Kada je utvrdio da na vašem računu ima i više nego dovoljno novca, on u registar vašeg računa unosi podatak, odnosno zabilježbu transakcije kojom sa vašeg računa skida 5.000 kuna i šalje ih na račun vaše supruge. Zahvaljujete ljubaznom službeniku i izlazite van iz banke.

Čim ste izašli iz banke, šaljete poruku supruzi da ste novac poslali i da bi on uskoro trebao biti na njezinom računu. Povratno vam stiže jedno veliko srce u poruci, a vi se radosno vraćate svojim planovima za vikend s ekipom jer ipak petak, zar ne?!.

Ukratko što se sve ovdje desilo

Vi i vaša supruga uzajamno ste imali povjerenje u banku odnosno bankarskog službenika da u ovom trenutku upravlja s vašim novcem. U ovom slučaju nije došlo do stvarnog, fizičkog transfera novčanica s jednog na drugi račun. Sve što je bilo potrebno je jedan jednostavan upis u registar računa koji je za vas napravio ljubazni bankarski službenik. I tu zapravo dolazimo do problema. Problem je taj što vi nad tim registrom nemate nikakvu kontrolu, niti je on u vašem vlasništvu.

Kako bi zapravo mogli izvršiti ovakav transfer novca s jednog računa na drugi, ovisimo o trećoj strani koja je u ovom slučaju bila banka. Možemo to reći i na drugi način. Kako bi smo uspostavili povjerenje između dvije strane koje su međusobno bile u interakciji (vaš račun s jedne strane i račun vaše supruge s druge strane), ovisili smo o trećoj strani.

Desecima, ako ne i stotinama godina unazad sudjelujemo u ovakvom sustavu i ovisimo o trećim stranama kako bi „vjerovali jedni drugima“. Legitimno je zapitati se u čemu je problem s tim da vjerujemo tim trećim stranama u našem međusobnom odnosu?

Problem je taj što je i ta treća strana (banka ili taj bankovni službenik) jedinstvena, samostalna i slobodna u svom djelovanju. Ta treća strana je također „single point of failure“ ili jedinstvena točka koja može uzrokovati da sustav prestane funkcionirati ako se s njom nešto desi.

Namjerno ili nenamjerno

Pretpostavimo jednu hipotetsku situaciju. Postoji mogućnost da iz nekih razloga dođe do nekakvih socijalnih turbulencija u društvu te nastanu neredi. Dovoljna je samo da jedna organizacija ili samo jedna osoba iz te organizacije napravi određeni nered u sustavu. Namjerno ili nenamjerno.

Što naprimjer ako registar zapisa transakcija bude uništen u nekom požaru? Ok, znamo da banke danas ne drže zapise u papirnatom obliku, ali isto tako postoji mogućnost da dođe do problema s digitalnim bankovnim zapisima transakcija i svim eventualnim kopijama tih zapisa.

Što naprimjer ako je bankovni službenik zabunom umjesto 5.000 kuna poslao 50.000 kuna previdjevši samo jednu nulu koja ionako „ne vrijedi ništa“ jer je to ipak samo nula!?

A što ako to ipak nije bila zabuna bankovnog službenika te je to napravio namjerno iz samo njemu poznatih razloga?

Transfer novca

Stoljećima unazad, veliku većinu svog novac povjeravamo bankama na čuvanje i upravljanje. Možemo se našaliti i reći da sve novce stavljamo u jednu košaru, a ta košara nije niti naša.

Može li postojati sustav u kojem mi i dalje možemo slati naš novac s računa na račun bez potrebe za trećom stranom? Trećom stranom u smislu banke koja ima mogućnost da tu našu transakciju stopira iz bilo kojeg razloga. Opravdanog ili neopravdanog, nebitno.

Kako bi odgovorili na ovo pitanje moramo zagrebati malo više ispod površine. Pokušajmo s postavljanjem slijedećeg pitanja.

Što je zapravo transfer novca koji smo nedavno napravili?

Očigledno je to bio samo jedan zapis u registru. Iz ovoga odgovora proizlazi slijedeće i još bolje pitanje:

Da li postoji način da mi međusobno i samostalno održavamo ovakav jedan registar bez potrebe da ga netko (banka) vodi za nas? Tu dolazimo do pitanja koje je vrijedno daljnjeg istraživanja. Odgovor ste do sada već zasigurno pretpostavili.

Blockchain je odgovor na postavljeno pitanje.

Blockchain, odnosno blockchain tehnologija je način na koji je moguće voditi cjelokupni registar svih transakcija, bez potrebe da za to ovisimo o nekome da to radi za nas.

Blockchain – distribuirani registar zapisa

Kako bi ova metoda održavanja registra zapisa funkcionirala, potrebno je da postoji dovoljan broj ljudi koji ne žele ovisiti o trećoj strani (banka) koja će to za njih raditi. Samo u tom slučaju ta grupa ljudi (mreža ljudi) može održavati registar zapisa za sebe.

Ne tako davne 2009. godine kada je bitcoin „pušten na slobodu“ njegov izumitelj Satoshi Nakamoto je rekao:

„Možda bi imalo smisla nabaviti samo nekoliko bitcoina u slučaju da ovo ipak uspije. Ako bi dovoljno ljudi razmišljalo na isti ovaj način, to bi postalo samoispunjavajuće proročanstvo.“

Koliko nas koji ovako razmišljamo je dovoljno? Barem troje. Ali za potrebe ovog primjera uzet ćemo desetak pojedinaca koji više ne žele imati posla s bankama ili nekim drugim „trećim stranama“. U skladu s našim međusobnim dogovorom svi imamo sve informacije o svim pojedinačnim individualnim računima, ali bez da međusobno imamo informacije o identitetu vlasnika svakog pojedinog računa.

  1. Prazan registrator

Za početak svatko ima prazan registrator. Kako budemo išli unaprijed, svaka od ovih deset osoba kontinuirano će u svoj registrator dodavati stranicu po stranicu sa zapisima kada ju ispuni. Tako će ova kolekcija stranica sa zapisima formirati registar koji će sadržavati sve transakcije.

  1. Kada dođe do transakcije

Nadalje, svaki sudionik na mreži u ruci ima olovku i spreman je da zabilježi svaku transakciju koja će se na mreži desiti.

E sada, recimo da osoba broj 4 želi osobi broj 7 poslati 100 kuna.

Kako bi se ta transakcija odvila, osoba broj 4 svima na mreži najavi da osobi broj 7 želi poslati 100 kuna te ih zamoli da svatko na svojoj stranici napraviti zabilješku o tome.

Svi sudionici na temelju te obavijesti provjere da li osoba broj 4 na svom računu ima dovoljno novca odnosno tih 100 kuna koje želi poslati. Ako svi utvrde da osoba broj 4 na računu ima dovoljno sredstava svatko na svojem praznom papiru napravi zabilješku da je osoba broj 4 poslala 100 kuna osobi broj 7. To je prva transakcija na stranici i sada se smatra da je transakcija kompletirana.

  1. Nastavak dodavanja transakcija

Kako vrijeme prolazi, sve više ljudi međusobno počinju jedni drugima slati novac. Kada god žele napraviti transakciju, prvo to najave svima ostalima na mreži. Kada bilo koja druga osoba na mreži čuje tu najavu, ona ju zabilježi na svom komadu papira.

Ovaj način bilježenja se nastavlja do trenutka kada svi ostanu bez mjesta za bilježenje novih transakcija na postojećem listu papira. Pretpostavimo da svaka stranica ima mjesta za zabilježbu deset transakcija. Kada se deseta transakcija zabilježi na papiru, svi ostanu bez mjesta za bilježenje novih transakcija.

Kada se stranica popuni, vrijeme je da se pospremi u onaj registrator spomenut na početku i da se za naredne transakcije uzme novi list papira. Na novom listu papira proces se identično nastavlja dalje kao i do sada, tako da svi bilježe sve transakcije.

Prethodna dva paragrafa su samo ilustrativne prirode kako bi se proces pokušao što jednostavnije objasniti, iako tehnički nije točan. Nova stranica se transakcijama ne počinje puniti nakon što se prva spremi jer na njoj zabilježen maksimalan broj od 10 transakcija. Kod bitcoina svaka stranica sa transakcijama je zapravo jedan blok u koji se transakcije bilježe, a sustav je programiran tako da svaki novi blok nastaje otprilike svakih 10 minuta. Tako gledajući nema ograničenja na broj transakcija koje mogu stati na jednu stranicu, odnosno u jedan blok nego je tih 10 minuta ograničenje za broj transakcija koje će biti uvrštene u taj blok odnosno na stranicu koja će biti spremljena u registrator.

  1. Spremanje stranice u registrator

Prije nego što ispunjenu stranicu s transakcijama odložimo u registrator, moramo je zaključati jedinstvenim ključem. Jedinstveni ključ je ključ oko kojeg smo se svi u mreži složili da će biti korišten. Stranicu smo s tim ključem tada zaključali na način tako da svaka kopija (svaki sudionik na mreži ima identičnu kopiju) bude odložena u svačiji registrator zasebno i više ne može biti mijenjana. Ni danas, ni sutra, ni za godinu dana, nikada.

Jednom kada je stranica pospremljena u registrator, zauvijek ostaje u registratoru – zaključana. Ako svi na mreži vjeruju tom ključu za zaključavanje, tada svi na mreži vjeruju da je sadržaj pospremljene stranice u registratoru istinit. Zaključavanje stranica na ovaj način je zapravo srž ove metode.

U blockchain terminologiji ovaj proces zaključavanja zove se mining ili rudarenje ali zbog daljnjeg razumijevanja nastavit ćemo ga zvati zaključavanje.

Prije nego smo se složili da ćemo na ovaj način zaključavati stranice i na temelju toga vjerovati u istinitost sadržaja na svakoj stranici, povjerenje da to za nas radi smo davali posredniku odnosno trećoj strani tj. banci. Vjerovali smo da što god da su oni zapisali u registar nikada neće biti mijenjano. U distribuiranom i decentraliziranom sustavu poput našeg, naš ključ za zaključavanje će umjesto tog posrednika ili banke pružiti to povjerenje.

Iz razloga što svaki sudionik na mreži posjeduje vlastitu kopiju zapisa (registrator sa zapisom svih transakcija) zovemo ga distribuiranim za razliku od centraliziranog koji se nalazi na jednom mjestu, a to je banka.

Kako zapravo funkcionira zaključavanje stranica?

Prije nego naučimo kako možemo stranicu zaključati, moramo razumjeti kako ključ zapravo funkcionira. Preduvjet za to je da se upoznamo s nečim što ćemo u ovom primjeru nazvati čarobnim strojem. Zamislite si da je taj stroj potpuno zatvoren tako da ne možete vidjeti što se unutra dešava. Ako u stroj s jedne strane pošaljete kutiju u kojoj se nešto nalazi, stroj će na drugoj strani izbaciti kutiju u kojoj se nalazi nešto drugo.

U blockchain terminologiji ovaj stroj naziva se još i hash (heš) funkcija. S obzirom da ovaj tekst mora ostati maksimalno jednostavan, nastavit ćemo ga zvati čarobni stroj.

Čarobni stroj ili hash funkcija

Pretpostavimo da u stroj s lijeve strane pošaljemo broj 4, a stroj s desne strane izbaci nešto tipa „dcbea“.

Kako li je samo stroj broj 4 pretvorio u tu sekvencu slova „dcbea“? Nitko ne zna. Štoviše, taj proces pretvaranja unutar stroja je ireverzibilan. Ako znamo da je riječ koja je izašla „dcbea“, ni na koji način nije moguće saznati što je to u stroj poslano s druge strane. Ali svaki put kada u stroj s jedne strane pošaljemo broj 4 s druge strane će uvijek izaći riječ „dcbea“.

hash(4) == dcbea

Idemo pokušati u stroj poslati neki drugi broj. Naprimjer 26.

hash(26) == 94c8e

Ovaj put stroj nam je s druge strane izbacio „94c8e“. Zanimljivo, vidimo da sekvenca koja iz stroja izašla može sadržavati i brojeve.

Što ako vam postavim slijedeće pitanje:

“Možete li mi reći što trebam poslati s jedne strane u stroj tako da s druge strane dobijem riječ koja počinje s tri nule? Na primjer, 000ab ili 00098 ili 000fa ili bilo što tako.”

Predviđanje unosa

Razmislimo o pitanju još jednom.

Rečeno je da stroj ima svojstvo da ne možemo izračunati što moramo poslati s jedne strane nakon što dobijemo očekivani izlaz s druge strane. S takvim strojem koji nam je dat, kako možemo odgovoriti na pitanje koje je postavljeno?

Meni na pamet pada jedna metoda. Idemo probat jedan po jedan ubacivati svaki broj svemiru koji postoji u svemiru dok ne dobijemo riječ koja počinje s tri nule na početku?

Pokušati sve da izračunamo ulaz

Budući da smo optimisti, nakon nekoliko tisuća pokušaja, dobili smo broj koji je izašao iz stroja i počinje s 3 nule.

Bilo nam je potrebno nekoliko tisuća pokušaja kako bi smo dobili traženi rezultat te stoga možemo reći da je bilo iznimno teško izračunati ulaz s obzirom na izlaz koji smo tražili. Ali isto tako, uvijek će biti iznimno lako provjeriti da li predviđeni ulaz daje traženi izlaz. Prisjetimo se da stroj svaki put izbaci istu riječ za isti broj koji je u njega ušao.

Što mislite, koliko je težak odgovor ako vam dam broj, recimo 69666, i postavim vam pitanje: “Da li ovaj broj, kada se unese u stroj, daje riječ koja počinje s tri nule?

Sve što trebate napraviti je u stroj poslati taj broj i vidjeti što će izaći s druge strane. I to je to.

Najvažnije svojstvo strojeva ovog tipa je da je — „S obzirom na izlaz, iznimno je teško izračunati ulaz, ali s obzirom na poznavanje ulaza i izlaza, prilično je lako provjeriti daje li određeni ulaz poznati izlaz”

Svojstvo magičnog stroja

Za nastavak ovog teksta potrebno je zapamtiti svojstvo ovog „magičnog stroja“ ili hash funkcije.

Kako ćemo onda koristiti ovakav stroj za zaključavanje naše stranice sa zapisima o transakcijama?

Koristit ćemo svojstvo ovog stroja za generiranje ključa za našu stranicu. Kao i uvijek, počnimo s hipotetskom situacijom.

Zamislite da imate dva broja. Prvi broj je npr. 20893 te vam postavim i slijedeće pitanje:

Možete li odgonetnuti broj koji će nam, kada se doda prvom broju i unese u stroj s jedne strane, dati riječ koja počinje s 3 nule?”

Ovo je slična situacija prethodnoj te smo naučili da je jedini način da bi ovako nešto izračunali metoda pokušaja i promašaja koristeći sve raspoložive brojeve u svemiru dok jednostavno ne dođemo do rezultata koji nam je potreban.

I opet, nakon nekoliko tisuća pokušaja, došli smo do broja, recimo 21191 koji kada se doda na 20893 (20893+21191=42084) i ubaci u stroj s jedne strane, na drugoj će strani izbaciti riječ koja zadovoljava naše postavljene kriterije (početne 3 nule).

U ovakvom slučaju, ovaj broj 21191 postaje ključ za broj 20893. Pretpostavimo da postoji stranica koja sadrži broj 20893 koji je na njoj napisan. Kako bi tu stranicu zaključali tako da više nitko ne može promijeniti njezin sadržaj, tu stranicu ćemo označiti s brojem 21191. U trenutku kada tu stranicu označimo s brojem 21191 stranica je zaključana za bilo kakve dalje izmjene.

Broj zaključavanja

Blockchain rječnikom ovaj broj koji je poslužio kao broj za zaključavanje naziva se „Proof of Work“ ili dokaz rada. To znači da je taj broj dokaz da su uloženi određeni napori kako bi se on izračunao.

 

Ukoliko bilo tko želi provjeriti da li je sadržaj stranice izmijenjen, sve što treba napraviti je da tu stranicu zajedno sa brojem ključa stavi u naš magični stroj. Ako stroj sa druge strane izbaci riječ koja počinje s tri nule znači da sadržaj nije mijenjan. Ukoliko riječ ne zadovoljava naš kriterij, znači da je sadržaj stranice mijenjan te ju istog treba odbacujemo jer od nje nemamo koristi.

Ovaj mehanizam zaključavanja stranica dalje koristimo za zaključavanje svih narednih stranica i odlažemo ih redom u naš registrator.

Kako bi smo zaključali našu stranicu koja sadrži zapisane transakcije iz naše mreže, moramo pronaći broj koji kada se doda na listu transakcija i ubaci u stroj, s druge strane mora izaći riječ koja počinje s tri nule.

Napomena: u našem primjeru je korištena fraza „riječ koja počinje sa tri nule“. To je korišteno samo zbog ilustracije načina kako hashing funkcija zapravo funkcionira. U stvarnom svijetu blockchaina ti izazovi pronalaska tražene fraze su znatno kompliciraniji on našeg primjera.

Jednom kada je taj broj izračunat, nakon što je utrošeno vrijeme i potrošena struja unutar stroja, stranica je zaključana s tim brojem. Ako ikada netko pokuša promijeniti sadržaj spremljene stranice, broj s kojim je zaključana svakome omogućava da provjeri integritet informacija spremljenih na toj stranici.

Sada kada znamo kako se stranica zaključava vraćamo se na dio gdje smo na papir zapisali deseti red, odnosno desetu transakciju te kada smo ostali bez prostora na papiru da upišemo slijedeću transakciju.

Broj za zaključavanje

Čim svima ponestane prostora na stranici kako bi upisali slijedeću transakciju, kreću sa izračunom broja kojim se stranica zaključava kako bi ju mogli spremiti u registrator. Svi sudionici na mreži kreću u proces tog izračuna. Prvi koji pronađe broj koji zadovoljava postavljeni kriterij i koji služi za zaključavanje stranice objavljuje ga svima ostalima na mreži.

U trenutku kada korisnik na mreži objavi da je pronašao broj za zaključavanje stranice, svi ostali sudionici na mreži provjeravaju da li taj broj daje traženi rezultat ili ne. Ako utvrde da je broj ispravan, svatko svoju stranicu označava tim brojem (zaključava ju) i odlaže ga u svoj registrator.

Ali što ako za nekoga u našoj mreži, recimo broj 6, broj ključa koji je najavljen ne daje traženi rezultat? Takvi slučajevi nisu neuobičajeni, a mogući razlozi za to mogu biti:

  • možda je pogrešno „čuo“ transakcije koje su objavljene u mreži
  • možda je krivo zapisao transakcije koje su objavljene u mreži
  • možda je pokušao varati ili biti nepošten prilikom zapisivanja transakcija, bilo da bi pogodovao sebi ili nekom drugom u mreži

 

Bez obzira koji razlog bio u pitanju, broj 6 ima samo jednu mogućnost, a to je da odbaci svoju stranicu kao neispravnu i da ju kopira od nekoga drugoga na mreži kako bi ju mogao pospremiti u svoj registrator. Ako to tako ne napravi, broj 6 dalje više nije u mogućnosti zapisivati transakcije te mu se zabranjuje da bude sudionik na mreži.

Broj ključa oko kojeg se većina na mreži složi je broj ključa koji postaje onaj kojim se vjeruje odnosno onaj s kojim se zaključavaju sve stranice.

Sad se jednostavno možete zapitat zašto onda svi troše resurse (vrijeme i struju) na izračun broja ključa kad znaju da će im netko drugi to izračunati i najaviti na mreži? Zašto ne besposleno sjediti i čekati objavu?

Odlično pitanje!

Ovo je dio u kojem dolazimo do toga da onaj koji prvi pronađe broj za zaključavanje i objavi ga svima ostalima na mreži, dobiva nagradu za svoj uloženi trud (potrošeno vrijeme, procesorska snaga i potrošena struja). Nagrada koju prima je određeni broj bitcoina.

Recimo npr. da je isti onaj sudionik mreže, broj 6 izračunao broj za zaključavanje stranice, on biva nagrađen sa određenim brojem novostvorenog bitcoina. Drugim riječima, saldo računa sudionika mreže broj 6 se povećava za određeni broj bitcoina, bez da se umanjuje saldo računa bilo kojeg drugog sudionika na mreži.

To je zapravo način na koji je nastao bitcoin. Bitcoin je prva valuta čije su se transakcije odvijale na blokchainu (tzv. distribuirani registar zapisa). Za uzvrat, kako bi ljudi dalje nastavili na ovaj način održavati mrežu, bili su nagrađeni novim bitcoinom.

Kada dovoljno ljudi posjeduje bitcoin, vrijednost mu tada raste, a to dovodi do toga da ga sve više ljudi želi posjedovati. Što više ljudi posjeduje bitcoin, to mu također daje na vrijednosti što dovodi do toga da ga još više ljudi želi posjedovati. I tako dalje u krug.

Nagradu koju dobiju oni koji prvi pronađu ključ za zaključavanje stranice su dovoljno velike da i ostali sudionici na mreži imaju želju sudjelovati u tom procesu na mreži.

  • Nakon što svi pospreme stranicu u svoj registrator, vade novu praznu stranicu i ponavljaju cijeli proces zapisivanja transakcija iznova — radeći to zauvijek.
  • Blockchain terminologijom to bi nazvali ovako. Svaka zasebna stranica je jedan blok transakcija (Block), a registrator je lanac (Chain) transakcija što posljedično onda postaje Blockchain.

 

I to je to. To je način na koji funkcionira blockchain.

 

Osim što postoji još jedna stvar koju je potrebno objasniti

Zamislite da je u registrator već pospremljeno 5 listova sa transakcijama koje su sve zaključane sa ključevima. Ako se npr. vratim nazad do recimo treće stranice i želim izmijeniti neki podatak o transakciji koji će meni biti od koristi. Ključ za zaključavanje će svima omogućiti da detektiraju nekonzistentnost u transakcijama. Je li tako? Što ako ja odem još dalje i uložim vrijeme i resurse kako bi pronašao novi ključ s kojim želim zaključati tu stranicu koju sam modificirao i s tim ključem je označiti?

Kako bi spriječili ovu situaciju gdje netko želi promijeniti neki podatak na stranici (u nekom bloku) koja je već u registratoru (u lancu blokova) te isto tako, ako bi želio da izmjeni ključ za zaključavanje, postoji jedan „catch“ (caka) kako se ključ za zaključavanje izračunava.

Zaštita od izmjena ključeva za zaključavanje.

Sjećate se da je na početku spomenuto da postoje dva broja – jedan je bio 20893, a drugi je bilo potrebno izračunati. U stvarnosti, kako bi se izračunao ključ za zaključavanje na blockchainu, umjesto dva broja postoje zapravo tri – dva su poznata, a treći je potrebno izračunati.

Kada se sva ta tri broja ubace u stroj za zaključavanje, s druge strane mora izaći broj koji zadovoljava postavljene kriterije.

Dakle znamo da imamo listu transakcija i da imamo ključ za zaključavanje te stranice. Treći broj koji dobijemo kao izlaz iz našeg magičnog stroja povezan je sa prethodnom stranicom.

Pošteni i nepošteni

Ovim zgodnim malim trikom pobrinuli smo se da svaka stranica ovisi o stranici koja joj prethodi. Stoga, ako netko želi modificirati jednu stranicu, morao bi promijeniti sadržaj i ključeve za zaključavanje svih stranica koje slijede iza te stranice – kako bi lanac ostao dosljedan.

Ako bi pojedinac, jedan od onih 10 spomenutih na početku, želio varati i promijeniti sadržaj našeg lanca blokova (sadržaj našeg registratora u kojem su pohranjeni svi listovi sa transakcijama), morao bi promijeniti više stranica i izračunati nove ključeve za zaključavanje za sve te stranice. Znamo da je izračunavanje novog broja za zaključavanje dosta kompleksna stvar. Stoga možemo reći da jedan nepošteni igrač na mreži ne može pobijediti ostalih 9 poštenih.

Ono što će se dogoditi jest, da će od stranice koju nepošteni igrač pokuša promijeniti, nastati novi lanac na mreži. Taj lanac nikada neće moći sustići prvotni (pošteni) lanac — iz jednostavnog razloga što uloženo vrijeme i resursi jednog igrača ne mogu kumulativno biti veći od uloženog vremena i resursa ostalih devet. Na ovaj način garantira se da je najduži lanac u mreži pošteni lanac.

Najduži lanac je pošten lanac

Kad je rečeno da jedan nepošten igrač ne može pobijediti ostalih devet poštenih igrača, siguran sam da vam je palo na pamet pitanje: što ako umjesto jednog nepoštenog njih 6 želi igrati nepošteno?

U tom slučaju cijeli protokol bi bio bezvrijedan. Taj slučaj poznat je još pod nazivom „51% attack“ ili napad na mrežu kada ju napada 51% ili više sudionika. Ako većina pojedinaca u mreži odluči postati nepoštena i prevariti ostatak mreže, protokol se neće održati i cijeli ovaj proces više nema smisla.

I to je jedina ranjivost, jedini razlog zašto bi se Blockchain mogao urušiti. Veoma je mala vjerojatnost da se tako nešto može dogoditi, ali potrebno je naglasiti tu točku ranjivosti sustava. Sustav se temelji na pretpostavci da je velika većina igrača poštena, a u manjini su nepošteni igrači.

I to bi ukratko bilo to blockchainu. Ukoliko ikada naiđete na nekoga kome je ovo potrebno razjasniti, znate kuda ga trebate uputiti.

I za kraj, ako ste se zapitali što je sa suprugom sa početka teksta.

Neprocjenjivo

E da, onih 5.000 kuna s početka kojih ste supruzi poslali u petak navečer, dobila ih je u ponedjeljak popodne kada se ukrcavala na avion doma. Porciju o tome kako je morala živjeti na račun prijateljica 3 dana i u koje je sve neugodnosti zbog „vas“ upala, saslušali ste mirno u autu na putu do doma od aerodroma na kojem ste ju pokupili.

Da ste joj npr. poslali novac koristeći blockchain tehnologiju, odnosno da ste joj bitcoin direktno iz vašeg bitcoin novčanika poslali u njezin bitcoin novčanik, ona bi novac imala u roku od nekoliko sekundi. Zamislite samo da niste morali trčati u banku u petak navečer, da niste morali u banci objašnjavati zašto svoj novac nekome šaljete…zamislite samo da konačno niste krivi za nešto što se desilo na putovanju na kojem uopće niste bili. Neprocjenjivo!

 

Bazirano na tekstu WTF is The Blockchain by Mohit Mamoria. Naslovna slika by @yeg0rpetrov
Facebook
Twitter
LinkedIn

Primaj novosti direktno na svoj email​

Najbitnije iz svijeta bitcoina

svaka 2 tjedna direktno na vaš email