Svaka transakcija na blockchain mreži mora da prođe određenu proveru pre nego što postane deo trajne evidencije. Za taj proces zaduženi su posebni mehanizmi konsenzusa koji omogućavaju učesnicima mreže da zajednički potvrde da je transakcija ispravna.
Jedan od najpoznatijih mehanizama je Proof of Work (PoW), koji je popularizovao Bitcoin, a koriste ga i Litecoin i brojne druge blockchain mreže. Pored njega, danas je veoma zastupljen i Proof of Stake (PoS), na kojem se, između ostalih, zasniva i Ethereum.
Iako se ovi mehanizmi razlikuju po načinu rada, njihova osnovna svrha je ista: da svi učesnici distribuirane mreže prihvate jednu zajedničku i važeću verziju blockchaina.
Šta je hash funkcija i kakvu ulogu ima u blockchainu?
Hash funkcija predstavlja jedan od osnovnih elemenata kriptografske zaštite blockchain tehnologije. Njena uloga je da bilo koji ulazni podatak pretvori u niz znakova unapred određene dužine, poznat kao hash vrednost.
Ovaj proces funkcioniše samo u jednom smeru — na osnovu dobijenog hash-a nije moguće jednostavno rekonstruisati originalne podatke.
Posebno je važno to što i najmanja promena u izvornim podacima, čak i promena samo jednog bita, proizvodi potpuno drugačiju hash vrednost. Na taj način mreža može lako da prepozna pokušaj menjanja već zabeleženih informacija.
Jednostavno rečeno: pre nego što nova transakcija postane trajni deo blockchaina, mreža mora da je proveri i prihvati kroz mehanizam konsenzusa. Tek kada se učesnici mreže usaglase da je sve ispravno, transakcija može biti potvrđena.
Kako funkcioniše rudarenje? Proces korak po korak
Kada pokrenete transakciju putem svog kripto novčanika, ona se šalje čvorovima mreže koji učestvuju u rudarenju ili validaciji. Transakcija zatim dospeva u takozvani mempool, odnosno privremeni prostor u kojem se nalaze transakcije koje još čekaju potvrdu.
Svaki čvor prikuplja određeni broj tih transakcija i od njih formira predlog novog bloka. Kod Proof of Work sistema rudari zatim pokušavaju da pronađu odgovarajuće rešenje za njegovo potvrđivanje.
1. Prikupljanje transakcija i kreiranje hash-a
Prvi korak je objedinjavanje transakcija koje čekaju potvrdu u predloženi blok. Podaci iz tih transakcija kriptografski se obrađuju, a dobijeni rezultat povezuje se sa hash vrednošću prethodnog potvrđenog bloka.
Na ovaj način blokovi se međusobno povezuju i formiraju neprekinuti lanac. Svaki novi blok sadrži vezu sa prethodnim, što omogućava proveru integriteta celokupne istorije transakcija.

2. Pronalaženje odgovarajućeg rešenja
Nakon formiranja bloka, rudari moraju da pronađu hash vrednost koja zadovoljava trenutno definisane uslove mreže. Ti uslovi određuju težinu rudarenja, odnosno koliko je računarskog rada potrebno da bi se blok uspešno potvrdio.
Ako dobijeni hash ispunjava zadati kriterijum i nalazi se ispod ciljne vrednosti koju je odredila mreža, rudar je uspešno pronašao rešenje. Ukoliko rezultat ne odgovara traženim uslovima, rudar menja vrednost promenljive koja se naziva nonce i ponovo pokreće izračunavanje.
Ovaj postupak ponavlja se ogroman broj puta u sekundi, sve dok se ne pronađe odgovarajući rezultat.
3. Slanje novog bloka i potvrda transakcija
Čim jedan od rudara pronađe odgovarajuće rešenje, novi blok šalje ostalim čvorovima u mreži. Ostali učesnici proveravaju da li je blok ispravan, uključujući validnost transakcija i ispunjenost pravila konsenzusa.
Ako sve prođe proveru, blok se dodaje u njihove kopije blockchaina, a rudari započinju rad na sledećem bloku. Kada se blok prihvati i proširi mrežom, transakcije koje sadrži dobijaju prvu potvrdu.
Jednostavno rečeno: kod Proof of Work mehanizma rudari koriste računarsku snagu kako bi pronašli rešenje složenog matematičkog zadatka. Onaj ko prvi uspe da ga pronađe predlaže novi blok, a ostali čvorovi proveravaju njegovu ispravnost. Nakon prihvatanja, transakcije postaju deo blockchain evidencije.

Bezbednost blockchaina i problem dvostruke potrošnje
Kriptografski mehanizmi i pravila konsenzusa imaju veoma važnu ulogu u zaštiti blockchain mreža od različitih vrsta napada. Jedan od poznatih problema u svetu digitalnih valuta jeste takozvana dvostruka potrošnja (Double-Spend Attack).
Zamislimo situaciju u kojoj neko pokuša da istu količinu kriptovalute potroši dva puta. Napadač prvo pošalje legitimnu transakciju, a zatim pokuša da napravi izmenjenu verziju blockchaina u kojoj se ista sredstva koriste za drugu transakciju.
Ukoliko bi napadač uspeo da svoju izmenjenu verziju pošalje drugim čvorovima, privremeno bi mogle da postoje dve različite verzije istorije transakcija:
- U prvoj verziji sredstva su poslata na adresu A.
- U drugoj verziji ista sredstva su poslata na adresu B.
Blockchain mreže zasnovane na Proof of Work mehanizmu ovakav problem rešavaju pravilom najdužeg lanca (Longest Chain Rule). Kada čvorovi prepoznaju dve konkurentske grane blockchaina, prihvataju onu koja predstavlja veći kumulativni računarski rad, dok kraću granu odbacuju.
Da bi uspeo u napadu dvostruke potrošnje, napadač bi morao neprekidno da proizvodi blokove brže od svih ostalih učesnika mreže zajedno. S obzirom na ogromnu računarsku snagu i troškove koji bi bili potrebni za takav poduhvat, ovakav napad je u velikim i dobro zaštićenim mrežama ekonomski i praktično veoma teško izvodljiv.
Zašto su potvrde transakcija važne?
Iako blockchain sistemi pružaju visok nivo bezbednosti, u određenim situacijama može se dogoditi da pojedini čvorovi prvo prime nevažeći ili izmenjeni blok, pre nego što do njih stigne legitimna verzija. Zbog toga se u praksi koriste potvrde transakcija (confirmations).
Potvrda predstavlja svaki novi blok koji se doda nakon bloka u kojem se nalazi vaša transakcija. Što se više novih blokova nadovezuje na taj blok, to je teže promeniti njegov sadržaj bez narušavanja ostatka lanca. Drugim rečima, svaka naredna potvrda dodatno učvršćuje položaj vaše transakcije u blockchainu.
Za manje svakodnevne transakcije obično je dovoljno sačekati jednu do tri potvrde. Međutim, kada su u pitanju transferi vredni nekoliko miliona dolara, kripto berze i druge finansijske platforme često zahtevaju nekoliko desetina potvrda pre nego što sredstva označe kao konačno primljena i raspoloživa za korišćenje.
Jednostavno rečeno: transakcija se najpre proverava kroz distribuiranu mrežu računara. Kriptografska zaštita, računarski zahtevi i zajedničko prihvatanje pravila čine naknadno menjanje potvrđenih transakcija izuzetno teškim.
Često postavljana pitanja o validaciji blockchain transakcija
Zašto su hash funkcije toliko važne za proveru blockchain transakcija?
Hash funkcija pretvara ulazne podatke u niz znakova fiksne dužine, iz kojeg nije moguće jednostavno vratiti originalne informacije. Čak i najmanja izmena početnih podataka stvara potpuno drugačiju hash vrednost, pa mreža može da prepozna pokušaj manipulacije podacima. Povezivanje svakog bloka sa hash vrednošću prethodnog bloka dodatno štiti celokupnu istoriju blockchaina.
Šta je mempool?
Mempool je privremeni prostor u kojem se nalaze transakcije koje su poslate na mrežu, ali još nisu potvrđene. Kada pokrenete transakciju, ona se prosleđuje čvorovima koji učestvuju u rudarenju ili validaciji — svaki od njih može da prikupi određeni broj transakcija i uključi ih u predloženi blok koji zatim pokušava da potvrdi.
Kako pravilo najdužeg lanca sprečava dvostruku potrošnju?
Ukoliko napadač pokuša da izmeni blockchain kako bi ista sredstva potrošio dva puta, mogu privremeno nastati dve različite verzije lanca. Čvorovi mreže zatim primenjuju pravila konsenzusa i odbacuju granu sa manjim kumulativnim računarskim radom. Da bi napad uspeo, napadač bi morao neprekidno da nadmašuje ukupnu računarsku snagu ostatka mreže, što je u velikim blockchain sistemima izuzetno teško i skupo.
Koliko potvrda treba sačekati pre nego što se transakcija smatra sigurnom?
Svaki novi blok koji se doda nakon vaše transakcije povećava nivo njene sigurnosti. Za manje iznose obično je dovoljno sačekati jednu do tri potvrde. Kod transakcija vrednih više miliona dolara, kripto berze često zahtevaju nekoliko desetina potvrda kako bi rizik od naknadnog poništavanja transakcije svele na minimum.
Gde bezbedno čuvati kriptovalute?
Mreža štiti same transakcije, ali vaša sredstva su bezbedna onoliko koliko je bezbedan vaš novčanik. Kod hardverskog novčanika, poput Tangem-a, privatni ključevi se čuvaju u bezbednom čipu (Secure Element) i nikada ne napuštaju uređaj, pa ostaju van domašaja interneta i mogućih napada.

